update gst-plugins-bad to 0.10.20, gst-plugins-good to 0.10.25, gst-plugins-ugly...
[vuplus_openembedded] / recipes / gstreamer / gst-plugins-bad / mpegtsdemux_fix_ac3_detection.diff
index 9483383..7945c72 100644 (file)
@@ -1,16 +1,16 @@
---- gst/mpegdemux/gstmpegtsdemux.c     2009-10-12 12:23:39.000000000 +0200
-+++ gst/mpegdemux/gstmpegtsdemux.c     2009-10-22 23:08:42.000000000 +0200
-@@ -738,15 +738,15 @@
+--- gst/mpegdemux/gstmpegtsdemux.c     2010-09-02 23:30:31.000000000 +0200
++++ gst/mpegdemux/gstmpegtsdemux.c     2010-09-29 15:26:53.156823244 +0200
+@@ -737,15 +737,15 @@
        if (program_info)
          desc = gst_mpeg_descriptor_find (program_info, DESC_REGISTRATION);
  
 -      if (desc && DESC_REGISTRATION_format_identifier (desc) == DRF_ID_HDMV) {
-+      if (gst_mpeg_descriptor_find (stream->ES_info,
++      if (stream->ES_info && gst_mpeg_descriptor_find (stream->ES_info,
 +              DESC_DVB_ENHANCED_AC3)) {
          template = klass->audio_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,
+-      } else if (stream->ES_info && gst_mpeg_descriptor_find (stream->ES_info,
 -              DESC_DVB_ENHANCED_AC3)) {
 +      } else if (desc && DESC_REGISTRATION_format_identifier (desc) == DRF_ID_HDMV) {
          template = klass->audio_template;
@@ -18,5 +18,5 @@
 -        caps = gst_caps_new_simple ("audio/x-eac3", NULL);
 +        caps = gst_caps_new_simple ("audio/x-ac3", NULL);
        } else {
-         if (!gst_mpeg_descriptor_find (stream->ES_info, DESC_DVB_AC3)) {
-           GST_WARNING ("AC3 stream type found but no corresponding "
+         if (!stream->ES_info ||
+             !gst_mpeg_descriptor_find (stream->ES_info, DESC_DVB_AC3)) {