diff --git a/ChangeLog b/ChangeLog index b89ea06c5b..fcf1e191fa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-10-03 Andy Wingo + + * gst/playback/gstdecodebin.c (try_to_link_1) + (remove_element_chain): set element to NULL before removing it. + 2005-10-02 Johan Dahlin * ext/gnomevfs/gstgnomevfssrc.c (gst_gnomevfssrc_uri_get_protocols): diff --git a/gst/playback/gstdecodebin.c b/gst/playback/gstdecodebin.c index 79bc5696fb..e29b94d5b2 100644 --- a/gst/playback/gstdecodebin.c +++ b/gst/playback/gstdecodebin.c @@ -601,6 +601,7 @@ try_to_link_1 (GstDecodeBin * decode_bin, GstPad * pad, GList * factories) gst_object_unref (sinkpad); /* this element did not work, remove it again and continue trying * other elements, the element will be disposed. */ + gst_element_set_state (element, GST_STATE_NULL); gst_bin_remove (GST_BIN (decode_bin), element); } else { const gchar *klass; @@ -764,6 +765,8 @@ remove_element_chain (GstDecodeBin * decode_bin, GstPad * pad) g_list_free (int_links); + gst_element_set_state (elem, GST_STATE_NULL); + gst_bin_remove (GST_BIN (decode_bin), elem); }