aggregator: Set flow to FLUSHING on pad stop
authorOlivier Crête <olivier.crete@collabora.com>
Mon, 22 May 2017 22:53:23 +0000 (00:53 +0200)
committerTim-Philipp Müller <tim@centricular.com>
Sat, 2 Dec 2017 15:10:27 +0000 (15:10 +0000)
Fixes a rare race where the pad is being stopped while doing a query.

libs/gst/base/gstaggregator.c

index ec4be92..2afa3c3 100644 (file)
@@ -1493,7 +1493,9 @@ gst_aggregator_stop_pad (GstAggregator * self, GstAggregatorPad * pad,
   gst_aggregator_pad_flush (pad, self);
 
   PAD_LOCK (pad);
+  pad->priv->flow_return = GST_FLOW_FLUSHING;
   pad->priv->negotiated = FALSE;
+  PAD_BROADCAST_EVENT (pad);
   PAD_UNLOCK (pad);
 
   return TRUE;