[gst-cvs] gst-plugins-bad: mpegtsdemux: Handle eac3 in PMT

Sebastian Dröge slomo at kemper.freedesktop.org
Mon Jan 4 01:15:51 PST 2010


Module: gst-plugins-bad
Branch: master
Commit: 24965dc41522578d61c29c61a7788d5d80c8bc12
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=24965dc41522578d61c29c61a7788d5d80c8bc12

Author: Arnaud Patard <arnaud.patard at rtp-net.org>
Date:   Sat Jan  2 17:33:57 2010 +0100

mpegtsdemux: Handle eac3 in PMT

When the stream type is set to private data, gst-mpegtsdemux is trying to find
audio descriptors in PMT and look for AC3 (tag 0x6a) but doesn't look for EAC3
(tag 0x7a). Handle this case too.

Fixes bug #605904.

---

 gst/mpegdemux/gstmpegtsdemux.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/gst/mpegdemux/gstmpegtsdemux.c b/gst/mpegdemux/gstmpegtsdemux.c
index d267fd2..7463425 100644
--- a/gst/mpegdemux/gstmpegtsdemux.c
+++ b/gst/mpegdemux/gstmpegtsdemux.c
@@ -660,6 +660,10 @@ gst_mpegts_demux_fill_stream (GstMpegTSStream * stream, guint8 id,
         template = klass->audio_template;
         name = g_strdup_printf ("audio_%04x", stream->PID);
         caps = gst_caps_new_simple ("audio/x-ac3", NULL);
+      } else if (gst_mpeg_descriptor_find (stream->ES_info, DESC_DVB_ENHANCED_AC3)) {
+        template = klass->private_template;
+        name = g_strdup_printf ("audio_%04x", stream->PID);
+        caps = gst_caps_new_simple ("audio/x-eac3", NULL);
       } else if (gst_mpeg_descriptor_find (stream->ES_info, DESC_DVB_TELETEXT)) {
         template = klass->private_template;
         name = g_strdup_printf ("private_%04x", stream->PID);





More information about the Gstreamer-commits mailing list