summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZaheer Abbas Merali <zaheerabbas@merali.org>2008-05-09 10:21:07 +0000
committerZaheer Abbas Merali <zaheerabbas@merali.org>2008-05-09 10:21:07 +0000
commita6e1c4034411b0bb715f607eabe8641d92450752 (patch)
tree3c9cb12efc8d82ea54c7eb2fec58048ba908b13d
parent977c7f0d907795f9622d8e8ce5078e6b55823122 (diff)
downloadgst-plugins-bad-a6e1c4034411b0bb715f607eabe8641d92450752.tar.gz
gst-plugins-bad-a6e1c4034411b0bb715f607eabe8641d92450752.tar.bz2
gst-plugins-bad-a6e1c4034411b0bb715f607eabe8641d92450752.zip
gst/mpegtsparse/: Make sure all schedule EIT and non-actual transport stream
Original commit message from CVS: * gst/mpegtsparse/mpegtspacketizer.c: * gst/mpegtsparse/mpegtsparse.c: Make sure all schedule EIT and non-actual transport stream EITs are parsed. Also add present-following flag and actual-transport-stream flag to eit bus message.
-rw-r--r--ChangeLog8
-rw-r--r--gst/mpegtsparse/mpegtspacketizer.c4
-rw-r--r--gst/mpegtsparse/mpegtsparse.c19
3 files changed, 31 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 1fc45c18..18d7acfb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-05-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
+
+ * gst/mpegtsparse/mpegtspacketizer.c:
+ * gst/mpegtsparse/mpegtsparse.c:
+ Make sure all schedule EIT and non-actual transport stream
+ EITs are parsed. Also add present-following flag and
+ actual-transport-stream flag to eit bus message.
+
2008-05-09 Peter Kjellerstedt <pkj@axis.com>
* gst/rtpmanager/rtpsource.c: (rtp_source_finalize):
diff --git a/gst/mpegtsparse/mpegtspacketizer.c b/gst/mpegtsparse/mpegtspacketizer.c
index 57dd8452..a2249fae 100644
--- a/gst/mpegtsparse/mpegtspacketizer.c
+++ b/gst/mpegtsparse/mpegtspacketizer.c
@@ -1345,6 +1345,10 @@ mpegts_packetizer_parse_eit (MpegTSPacketizer * packetizer,
"version-number", G_TYPE_UINT, section->version_number,
"current-next-indicator", G_TYPE_UINT, section->current_next_indicator,
"service-id", G_TYPE_UINT, service_id,
+ "actual-transport-stream", G_TYPE_BOOLEAN, (section->table_id == 0x4E ||
+ (section->table_id >= 0x50 && section->table_id <= 0x5F)),
+ "present-following", G_TYPE_BOOLEAN, (section->table_id == 0x4E ||
+ section->table_id == 0x4F),
"transport-stream-id", G_TYPE_UINT, transport_stream_id,
"original-network-id", G_TYPE_UINT, original_network_id,
"segment-last-section-number", G_TYPE_UINT, segment_last_section_number,
diff --git a/gst/mpegtsparse/mpegtsparse.c b/gst/mpegtsparse/mpegtsparse.c
index 77f65f00..ba1fa887 100644
--- a/gst/mpegtsparse/mpegtsparse.c
+++ b/gst/mpegtsparse/mpegtsparse.c
@@ -800,6 +800,7 @@ mpegts_parse_is_psi (MpegTSParse * parse, MpegTSPacketizerPacket * packet)
i = 0;
while (si_tables[i] != TABLE_ID_UNSET) {
if (si_tables[i] == table_id) {
+ GST_DEBUG_OBJECT (parse, "Packet has table id 0x%x", table_id);
retval = TRUE;
break;
}
@@ -1095,6 +1096,7 @@ mpegts_parse_handle_psi (MpegTSParse * parse, MpegTSPacketizerSection * section)
break;
}
case 0x42:
+ case 0x46:
{
/* SDT */
GstStructure *sdt_info;
@@ -1107,6 +1109,7 @@ mpegts_parse_handle_psi (MpegTSParse * parse, MpegTSPacketizerSection * section)
break;
}
case 0x4E:
+ case 0x4F:
/* EIT, present/following */
case 0x50:
case 0x51:
@@ -1124,6 +1127,22 @@ mpegts_parse_handle_psi (MpegTSParse * parse, MpegTSPacketizerSection * section)
case 0x5D:
case 0x5E:
case 0x5F:
+ case 0x60:
+ case 0x61:
+ case 0x62:
+ case 0x63:
+ case 0x64:
+ case 0x65:
+ case 0x66:
+ case 0x67:
+ case 0x68:
+ case 0x69:
+ case 0x6A:
+ case 0x6B:
+ case 0x6C:
+ case 0x6D:
+ case 0x6E:
+ case 0x6F:
/* EIT, schedule */
{
/* EIT */