From 64c8b1d5d96a612db7df0e4e5d429d4d7d7c140a Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Tue, 20 Oct 2009 08:52:36 +0200 Subject: [PATCH] gst/decodebin2: Don't expose chains if we're shutting down. This avoids adding flushing pads to ourself --- gst/playback/gstdecodebin2.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gst/playback/gstdecodebin2.c b/gst/playback/gstdecodebin2.c index 81e787f..b8ca93f 100644 --- a/gst/playback/gstdecodebin2.c +++ b/gst/playback/gstdecodebin2.c @@ -2579,6 +2579,15 @@ gst_decode_bin_expose (GstDecodeBin * dbin) GST_DEBUG_OBJECT (dbin, "Exposing currently active chains/groups"); + /* Don't expose if we're currently shutting down */ + DYN_LOCK (dbin); + if (G_UNLIKELY (dbin->shutdown == TRUE)) { + GST_WARNING_OBJECT (dbin, "Currently, shutting down, aborting exposing"); + DYN_UNLOCK (dbin); + return FALSE; + } + DYN_UNLOCK (dbin); + /* Get the pads that we're going to expose and mark things as exposed */ if (!gst_decode_chain_expose (dbin->decode_chain, &endpads)) { g_list_foreach (endpads, (GFunc) gst_object_unref, NULL); -- 2.7.4