From: Tim-Philipp Müller Date: Fri, 13 Feb 2015 15:53:19 +0000 (+0000) Subject: aggregator: use new gst_aggregator_pad_drop_buffer() X-Git-Tag: 1.16.2~574^2~122 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1fe5f9db71b874b1293c4c7196ee3d9ad16d6036;p=platform%2Fupstream%2Fgstreamer.git aggregator: use new gst_aggregator_pad_drop_buffer() --- diff --git a/libs/gst/base/gstaggregator.c b/libs/gst/base/gstaggregator.c index 77ea80d..da3a530 100644 --- a/libs/gst/base/gstaggregator.c +++ b/libs/gst/base/gstaggregator.c @@ -778,14 +778,13 @@ static void gst_aggregator_flush_start (GstAggregator * self, GstAggregatorPad * aggpad, GstEvent * event) { - GstBuffer *tmpbuf; GstAggregatorPrivate *priv = self->priv; GstAggregatorPadPrivate *padpriv = aggpad->priv; g_atomic_int_set (&aggpad->priv->flushing, TRUE); + /* Remove pad buffer and wake up the streaming thread */ - tmpbuf = gst_aggregator_pad_steal_buffer (aggpad); - gst_buffer_replace (&tmpbuf, NULL); + gst_aggregator_pad_drop_buffer (aggpad); PAD_STREAM_LOCK (aggpad); PAD_LOCK (aggpad); @@ -822,8 +821,7 @@ gst_aggregator_flush_start (GstAggregator * self, GstAggregatorPad * aggpad, } PAD_STREAM_UNLOCK (aggpad); - tmpbuf = gst_aggregator_pad_steal_buffer (aggpad); - gst_buffer_replace (&tmpbuf, NULL); + gst_aggregator_pad_drop_buffer (aggpad); } /* GstAggregator vmethods default implementations */ @@ -1028,7 +1026,6 @@ static void gst_aggregator_release_pad (GstElement * element, GstPad * pad) { GstAggregator *self = GST_AGGREGATOR (element); - GstBuffer *tmpbuf; GstAggregatorPad *aggpad = GST_AGGREGATOR_PAD (pad); @@ -1036,8 +1033,7 @@ gst_aggregator_release_pad (GstElement * element, GstPad * pad) SRC_STREAM_LOCK (self); g_atomic_int_set (&aggpad->priv->flushing, TRUE); - tmpbuf = gst_aggregator_pad_steal_buffer (aggpad); - gst_buffer_replace (&tmpbuf, NULL); + gst_aggregator_pad_drop_buffer (aggpad); gst_element_remove_pad (element, pad); SRC_STREAM_BROADCAST (self); @@ -1996,11 +1992,8 @@ static void gst_aggregator_pad_dispose (GObject * object) { GstAggregatorPad *pad = (GstAggregatorPad *) object; - GstBuffer *buf; - buf = gst_aggregator_pad_steal_buffer (pad); - if (buf) - gst_buffer_unref (buf); + gst_aggregator_pad_drop_buffer (pad); G_OBJECT_CLASS (gst_aggregator_pad_parent_class)->dispose (object); } diff --git a/tests/check/libs/aggregator.c b/tests/check/libs/aggregator.c index f17e6a0..62be4ee 100644 --- a/tests/check/libs/aggregator.c +++ b/tests/check/libs/aggregator.c @@ -76,7 +76,6 @@ gst_test_aggregator_aggregate (GstAggregator * aggregator, gboolean timeout) iter = gst_element_iterate_sink_pads (GST_ELEMENT (testagg)); while (!done_iterating) { - GstBuffer *buffer; GValue value = { 0, }; GstAggregatorPad *pad; @@ -86,8 +85,7 @@ gst_test_aggregator_aggregate (GstAggregator * aggregator, gboolean timeout) if (gst_aggregator_pad_is_eos (pad) == FALSE) all_eos = FALSE; - buffer = gst_aggregator_pad_steal_buffer (pad); - gst_buffer_replace (&buffer, NULL); + gst_aggregator_pad_drop_buffer (pad); g_value_reset (&value); break;