diff --git a/gst-libs/gst/base/gstaggregator.c b/gst-libs/gst/base/gstaggregator.c index 9f4c42f0b3bbc870314fb343ab1bb7745f2e6156..3a642d8a683cb2c7b360bb002fbde2c56def1d9a 100644 --- a/gst-libs/gst/base/gstaggregator.c +++ b/gst-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);