From 2e02bce5f0186661a14977b4e420144b4117d26e Mon Sep 17 00:00:00 2001 From: Julien Moutte Date: Mon, 15 May 2006 17:01:02 +0000 Subject: [PATCH] gst/playback/gstdecodebin.c: Make decodebin reusable when going from PAUSE_TO_READY and then back to PAUSED. Original commit message from CVS: 2006-05-15 Julien MOUTTE * gst/playback/gstdecodebin.c: (cleanup_decodebin), (gst_decode_bin_change_state): Make decodebin reusable when going from PAUSE_TO_READY and then back to PAUSED. Fixes #331678. --- ChangeLog | 7 +++++++ gst/playback/gstdecodebin.c | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 4cefb88..59a93bb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-05-15 Julien MOUTTE + + * gst/playback/gstdecodebin.c: (cleanup_decodebin), + (gst_decode_bin_change_state): Make decodebin reusable + when going from PAUSE_TO_READY and then back to PAUSED. + Fixes #331678. + 2006-05-15 Wim Taymans * ext/vorbis/vorbisdec.c: (vorbis_get_query_types), diff --git a/gst/playback/gstdecodebin.c b/gst/playback/gstdecodebin.c index 5088451..c9198d7 100644 --- a/gst/playback/gstdecodebin.c +++ b/gst/playback/gstdecodebin.c @@ -1386,6 +1386,7 @@ cleanup_decodebin (GstDecodeBin * decode_bin) if (element != decode_bin->typefind && element != decode_bin->fakesink) { GST_DEBUG_OBJECT (element, "removing autoplugged element"); g_signal_handlers_disconnect_by_func (element, unlinked, decode_bin); + gst_element_set_state (element, GST_STATE_NULL); gst_bin_remove (GST_BIN (decode_bin), element); } gst_object_unref (element); @@ -1472,8 +1473,8 @@ gst_decode_bin_change_state (GstElement * element, GstStateChange transition) switch (transition) { case GST_STATE_CHANGE_PLAYING_TO_PAUSED: - case GST_STATE_CHANGE_PAUSED_TO_READY: break; + case GST_STATE_CHANGE_PAUSED_TO_READY: case GST_STATE_CHANGE_READY_TO_NULL: free_dynamics (decode_bin); free_pad_probes (decode_bin); -- 2.7.4