Commit abe60a92 authored by Sebastian Dröge's avatar Sebastian Dröge 🍵

funnel: Make sure to only lock the stream lock once

We also only unlock it once, and otherwise have it locked forever from
this thread, causing deadlocks on shutdown later.
parent 5571ad12
...@@ -403,8 +403,10 @@ gst_funnel_sink_event (GstPad * pad, GstObject * parent, GstEvent * event) ...@@ -403,8 +403,10 @@ gst_funnel_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
/* If no data is coming and we receive serialized event, need to forward all sticky events. /* If no data is coming and we receive serialized event, need to forward all sticky events.
* Otherwise downstream has an inconsistent set of sticky events when * Otherwise downstream has an inconsistent set of sticky events when
* handling the new event. */ * handling the new event. */
unlock = TRUE; if (!unlock) {
GST_PAD_STREAM_LOCK (funnel->srcpad); unlock = TRUE;
GST_PAD_STREAM_LOCK (funnel->srcpad);
}
if ((funnel->last_sinkpad == NULL) || (funnel->forward_sticky_events if ((funnel->last_sinkpad == NULL) || (funnel->forward_sticky_events
&& (funnel->last_sinkpad != pad))) { && (funnel->last_sinkpad != pad))) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment