After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 635917 - [mpegtsparse] don't parse and post all the EIT events.
[mpegtsparse] don't parse and post all the EIT events.
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: 0.10.23
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-11-27 12:11 UTC by Gabriel Strimtu
Modified: 2011-05-26 07:50 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch file for mpegtsparse.c, based on the current git sources. (940 bytes, patch)
2010-11-27 12:11 UTC, Gabriel Strimtu
committed Details | Review

Description Gabriel Strimtu 2010-11-27 12:11:13 UTC
Created attachment 175355 [details] [review]
Patch file for mpegtsparse.c, based on the current git sources.

In the "mpegts_parse_is_psi" function, when the new transport stream packet is comming, the value of the table_id is read in a wrong way :

if (packet->payload_unit_start_indicator) {
      table_id = *(packet->data); 
      ...
}

At this point the table_id value can be the value of the pointer field, not the table_id value. For this reason some of the sections of the EIT tables will not be parsed.
The test case for parsing the EIT tables was done by using the dvbsnoop utility, in DVB-S transmission, for the present & following events, actual transport stream ( Table_ID = 0X4e ).
    

szap -n 970 >> /dev/null&  # tune on the channels
dvbsnoop  0x12 -crc -nph -pd 3 -f 0x4e -m 0xff | grep --line-buffered Event_ID | tee eit-dump

(wait a while until the same events will be received again)

sort -u eit-dump | wc


versus:


gst-launch -m dvbsrc pids=0x12 polarity="v" frequency=12551000  symbol-rate=22000 diseqc-source=0 inversion=2 ! mpegtsparse | grep   "actual-transport-stream=(boolean)true, present-following=(boolean)true" | tee eit-dump1

(wait a while until the same events will be received again)

grep  -w -o "event-[0-9]*" eit-dump1 | sort -u | wc -w

The booth test case should report the same number of EIT events.

I had attached the patch file based on the gst-plugins-bad git.
Comment 1 Sebastian Dröge (slomo) 2011-05-26 07:50:40 UTC
commit d8fd874f5290e4911437120057ee885cdb68b4af
Author: Gabriel Strimtu <gabrielstrimtu@yahoo.com>
Date:   Thu May 26 09:46:58 2011 +0200

    mpegtsparse: Fix parsing of PSI table IDs
    
    Fixes bug #635917.