aggregator: Don't block if adding to the tail of the queue

If we're adding to the tail of the queue, it's because we're converting
a gap event, so don't block there it means we're calling from the output
thread.

https://bugzilla.gnome.org/show_bug.cgi?id=784911
This commit is contained in:
Olivier Crête 2017-07-13 18:38:34 -04:00
parent e5977b8794
commit bb5a8ebec3

View file

@ -2497,7 +2497,7 @@ gst_aggregator_pad_chain_internal (GstAggregator * self,
aggpad->priv->first_buffer = FALSE;
}
if (gst_aggregator_pad_has_space (self, aggpad)
if ((gst_aggregator_pad_has_space (self, aggpad) || !head)
&& aggpad->priv->flow_return == GST_FLOW_OK) {
if (head)
g_queue_push_head (&aggpad->priv->data, buffer);