diff options
Diffstat (limited to 'gst/playback/gstdecodebin2.c')
-rw-r--r-- | gst/playback/gstdecodebin2.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gst/playback/gstdecodebin2.c b/gst/playback/gstdecodebin2.c index 5a08dba44..bc3c840df 100644 --- a/gst/playback/gstdecodebin2.c +++ b/gst/playback/gstdecodebin2.c @@ -3492,6 +3492,11 @@ gst_decode_bin_change_state (GstElement * element, GstStateChange transition) g_mutex_unlock (dbin->factories_lock); break; case GST_STATE_CHANGE_READY_TO_PAUSED: + /* Make sure we've cleared all existing chains */ + if (dbin->decode_chain) { + gst_decode_chain_free (dbin->decode_chain); + dbin->decode_chain = NULL; + } DYN_LOCK (dbin); GST_LOG_OBJECT (dbin, "clearing shutdown flag"); dbin->shutdown = FALSE; |