From 1fe5f9db71b874b1293c4c7196ee3d9ad16d6036 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Fri, 13 Feb 2015 15:53:19 +0000 Subject: [PATCH] aggregator: use new gst_aggregator_pad_drop_buffer() --- libs/gst/base/gstaggregator.c | 17 +++++------------ tests/check/libs/aggregator.c | 4 +--- 2 files changed, 6 insertions(+), 15 deletions(-) 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; -- 2.7.4