Commit 592c2c81 authored by Tim-Philipp Müller's avatar Tim-Philipp Müller 🐠

aggregator: add gst_aggregator_pad_drop_buffer()

steal_buffer() + unref seems to be a wide-spread idiom
(which perhaps indicates that something is not quite
right with the way aggregator pad works currently).
parent 55abf436
......@@ -1323,6 +1323,8 @@ GstAggregatorPad
GstAggregatorPadClass
gst_aggregator_pad_steal_buffer
gst_aggregator_pad_get_buffer
gst_aggregator_pad_drop_buffer
gst_aggregator_pad_is_eos
<SUBSECTION Standard>
GST_IS_AGGREGATOR_PAD
GST_IS_AGGREGATOR_PAD_CLASS
......
......@@ -2062,6 +2062,28 @@ gst_aggregator_pad_steal_buffer (GstAggregatorPad * pad)
return buffer;
}
/**
* gst_aggregator_pad_drop_buffer:
* @pad: the pad where to drop any pending buffer
*
* Drop the buffer currently queued in @pad.
*
* Returns: TRUE if there was a buffer queued in @pad, or FALSE if not.
*/
gboolean
gst_aggregator_pad_drop_buffer (GstAggregatorPad * pad)
{
GstBuffer *buf;
buf = gst_aggregator_pad_steal_buffer (pad);
if (buf == NULL)
return FALSE;
gst_buffer_unref (buf);
return TRUE;
}
/**
* gst_aggregator_pad_get_buffer:
* @pad: the pad to get buffer from
......
......@@ -104,6 +104,7 @@ GType gst_aggregator_pad_get_type (void);
GstBuffer * gst_aggregator_pad_steal_buffer (GstAggregatorPad * pad);
GstBuffer * gst_aggregator_pad_get_buffer (GstAggregatorPad * pad);
gboolean gst_aggregator_pad_drop_buffer (GstAggregatorPad * pad);
gboolean gst_aggregator_pad_is_eos (GstAggregatorPad * pad);
/*********************
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment