diff --git a/ChangeLog b/ChangeLog index 2a81e32427..66313df901 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2006-07-10 Tim-Philipp Müller + + * 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 * theoraparse.c (theora_parse_push_buffer) diff --git a/gst/playback/gstdecodebin.c b/gst/playback/gstdecodebin.c index 086306e66a..f67c4ec30f 100644 --- a/gst/playback/gstdecodebin.c +++ b/gst/playback/gstdecodebin.c @@ -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); }