mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 16:50:47 +00:00
inputselector: Deactivate and remove pad without the inputselector lock
Otherwise we might get deadlocks caused by lock order inversion: During the chain function the stream lock is first locked and then the inputselector lock. During pad release we first locked the inputselector lock and then deactivating the pad would lock the stream lock. There's no reason why the inputselector lock should be required while deactivating and removing the pad, it's only needed before. https://bugzilla.gnome.org/show_bug.cgi?id=704002
This commit is contained in:
parent
f8fdb61b02
commit
717ad20912
1 changed files with 1 additions and 1 deletions
|
@ -1699,10 +1699,10 @@ gst_input_selector_release_pad (GstElement * element, GstPad * pad)
|
|||
sel->active_sinkpad = NULL;
|
||||
}
|
||||
sel->n_pads--;
|
||||
GST_INPUT_SELECTOR_UNLOCK (sel);
|
||||
|
||||
gst_pad_set_active (pad, FALSE);
|
||||
gst_element_remove_pad (GST_ELEMENT (sel), pad);
|
||||
GST_INPUT_SELECTOR_UNLOCK (sel);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in a new issue