summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Crête <olivier.crete@collabora.com>2017-07-13 18:38:34 -0400
committerTim-Philipp Müller <tim@centricular.com>2017-12-02 15:10:27 +0000
commit8b60b25917c224b95afa0f05792560c5bee46eac (patch)
tree4dd996c0f64c6eef1e9104b556c9bfa530922c4c
parenta083391fb563f2ed45bd973fb5d3e8bacf791f63 (diff)
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
-rw-r--r--libs/gst/base/gstaggregator.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libs/gst/base/gstaggregator.c b/libs/gst/base/gstaggregator.c
index 9f4c42f0b..3a642d8a6 100644
--- a/libs/gst/base/gstaggregator.c
+++ b/libs/gst/base/gstaggregator.c
@@ -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);