diff --git a/ChangeLog b/ChangeLog index 67753ed364..64cb5452eb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-10-21 Wim Taymans + + * gst/playback/gstdecodebin.c: (gst_decode_bin_init), + (gst_decode_bin_dispose), (free_dynamics), (pad_unblocked), + (pad_blocked), (close_pad_link), (new_pad): + Don't try to remove elements twice. + 2005-10-21 Wim Taymans * ext/theora/theoradec.c: (theora_dec_src_query), diff --git a/gst/playback/gstdecodebin.c b/gst/playback/gstdecodebin.c index e35080fce6..d5a012a42b 100644 --- a/gst/playback/gstdecodebin.c +++ b/gst/playback/gstdecodebin.c @@ -488,7 +488,7 @@ static void pad_blocked (GstPad * pad, gboolean blocked, GstDecodeBin * decode_bin) { decode_bin->numwaiting--; - if (decode_bin->numwaiting == 0) { + if (decode_bin->numwaiting == 0 && decode_bin->fakesink) { gst_object_ref (decode_bin->fakesink); gst_bin_remove (GST_BIN (decode_bin), decode_bin->fakesink);