From: Olivier CrĂȘte Date: Thu, 7 Jul 2016 20:13:57 +0000 (-0400) Subject: aggregator: Make pad eos as soon as all buffers are processed, dont way for events X-Git-Tag: 1.16.2~574^2~53 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5c2391a5e0015975c840e1467822f5b535c6f0f6;hp=744440ecf0b841632714c8e48a42ede48c58eff2;p=platform%2Fupstream%2Fgstreamer.git aggregator: Make pad eos as soon as all buffers are processed, dont way for events https://bugzilla.gnome.org/show_bug.cgi?id=781673 --- diff --git a/libs/gst/base/gstaggregator.c b/libs/gst/base/gstaggregator.c index 305c840..d10e6e8 100644 --- a/libs/gst/base/gstaggregator.c +++ b/libs/gst/base/gstaggregator.c @@ -747,7 +747,7 @@ check_events (GstAggregator * self, GstAggregatorPad * pad, gpointer user_data) event = NULL; PAD_LOCK (pad); - if (gst_aggregator_pad_queue_is_empty (pad) && pad->priv->pending_eos) { + if (pad->priv->num_buffers == 0 && pad->priv->pending_eos) { pad->priv->pending_eos = FALSE; pad->priv->eos = TRUE; } @@ -1121,7 +1121,7 @@ gst_aggregator_default_sink_event (GstAggregator * self, */ SRC_LOCK (self); PAD_LOCK (aggpad); - if (gst_aggregator_pad_queue_is_empty (aggpad)) { + if (aggpad->priv->num_buffers == 0) { aggpad->priv->eos = TRUE; } else { aggpad->priv->pending_eos = TRUE; @@ -2498,7 +2498,7 @@ gst_aggregator_pad_steal_buffer (GstAggregatorPad * pad) apply_buffer (pad, buffer, FALSE); pad->priv->num_buffers--; GST_TRACE_OBJECT (pad, "Consuming buffer"); - if (gst_aggregator_pad_queue_is_empty (pad) && pad->priv->pending_eos) { + if (pad->priv->num_buffers == 0 && pad->priv->pending_eos) { pad->priv->pending_eos = FALSE; pad->priv->eos = TRUE; }