gst/playback/gstdecodebin.c: Also emit 'unknown-type' signal (which should really...
authorTim-Philipp Müller <tim@centricular.net>
Mon, 10 Jul 2006 14:59:03 +0000 (14:59 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Mon, 10 Jul 2006 14:59:03 +0000 (14:59 +0000)
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (close_pad_link):
Also emit 'unknown-type' signal (which should really be
called unhandled-type) if we found potential decoders/demuxers
in the registry but none of them worked in the end (as in the
case where the plugins don't exist any longer but are still
listed in the registry). Fixes #329798.

ChangeLog
gst/playback/gstdecodebin.c

index 2a81e32..66313df 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-07-10  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * gst/playback/gstdecodebin.c: (close_pad_link):
+         Also emit 'unknown-type' signal (which should really be
+         called unhandled-type) if we found potential decoders/demuxers
+         in the registry but none of them worked in the end (as in the
+         case where the plugins don't exist any longer but are still
+         listed in the registry). Fixes #329798.
+
 2006-07-08  Andy Wingo  <wingo@pobox.com>
 
        * theoraparse.c (theora_parse_push_buffer)
index 086306e..f67c4ec 100644 (file)
@@ -681,7 +681,11 @@ close_pad_link (GstElement * element, GstPad * pad, GstCaps * caps,
       /* no compatible elements, we cannot go on */
       goto unknown_type;
 
-    try_to_link_1 (decode_bin, element, pad, to_try);
+    if (try_to_link_1 (decode_bin, element, pad, to_try) == NULL) {
+      GST_LOG_OBJECT (pad, "none of the allegedly available elements usable");
+      goto unknown_type;
+    }
+
     /* can free the list again now */
     g_list_free (to_try);
   }