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