From 1a17ce9705f20d0884330b2745b996db5d4dbd8b Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Thu, 29 Sep 2016 03:21:26 +1000 Subject: [PATCH] splitmuxsrc: Drop lock shutting down pads Avoid a sporadic deadlock on shutdown by dropping the splitmux lock around pad shutdown https://bugzilla.gnome.org/show_bug.cgi?id=772138 --- gst/multifile/gstsplitmuxsrc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gst/multifile/gstsplitmuxsrc.c b/gst/multifile/gstsplitmuxsrc.c index 9853e207b9..383e8b5313 100644 --- a/gst/multifile/gstsplitmuxsrc.c +++ b/gst/multifile/gstsplitmuxsrc.c @@ -750,12 +750,14 @@ gst_splitmux_src_stop (GstSplitMuxSrc * splitmux) splitmux->pads = NULL; SPLITMUX_SRC_PADS_UNLOCK (splitmux); + SPLITMUX_SRC_UNLOCK (splitmux); for (cur = g_list_first (pads_list); cur != NULL; cur = g_list_next (cur)) { SplitMuxSrcPad *tmp = (SplitMuxSrcPad *) (cur->data); gst_pad_stop_task (GST_PAD (tmp)); gst_element_remove_pad (GST_ELEMENT (splitmux), GST_PAD (tmp)); } g_list_free (pads_list); + SPLITMUX_SRC_LOCK (splitmux); g_free (splitmux->parts); splitmux->parts = NULL;