How to get EIT from tsdemux ?

Vincent GĂ©nieux vincent.genieux at startigen.fr
Tue Mar 22 09:39:06 UTC 2016


Hi all,

I need your help on the tsdmux element for retrieving EIT tables from a 
dvb transport stream.

I tried to use the tsparser program
(in gst-plugins-bad/tests/examples/mpegts) :


./tsparser filesrc location=r5.ts ! tsdemux ! fakesink
Got section: PID:0x0000 type:pat...
Got section: PID:0x006e type:pmt...
Got section: PID:0x0010 type:nit...
[...]

But I don't get any EIT.

The only way I found to get them is to add manually the EIT pid in the 
mpegtsbase known_psi array :


diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c
index eb16aac..05ff98f 100644
--- a/gst/mpegtsdemux/mpegtsbase.c
+++ b/gst/mpegtsdemux/mpegtsbase.c
@@ -188,6 +188,10 @@ mpegts_base_reset (MpegTSBase * base)
    MPEGTS_BIT_SET (base->known_psi, 0);
    MPEGTS_BIT_SET (base->known_psi, 2);
    MPEGTS_BIT_SET (base->known_psi, 3);
+
+  /* EIT */
+  MPEGTS_BIT_SET (base->known_psi, 0x12);
+
    /* TDT, TOT, ST */
    MPEGTS_BIT_SET (base->known_psi, 0x14);
    /* network synchronization */


And then tsparser is able to get them :
Got section: PID:0x0012 type:eit...

So, is it a bug ? or may be you wanted to dissociate transport stream 
from dvb ? In this case, is there a way to get the table without patching ?

I am using the gstreamer git/master, freshly updated.


Thank you for your help,
--
vincent.


More information about the gstreamer-devel mailing list