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
This commit is contained in:
Jan Schmidt 2016-09-29 03:21:26 +10:00
parent 359f8ff2d7
commit 1a17ce9705

View file

@ -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;