{
GstFlowReturn flow_return;
GstClockTime buf_pts;
+ GstAggregatorPadClass *klass = GST_AGGREGATOR_PAD_GET_CLASS (aggpad);
GST_DEBUG_OBJECT (aggpad, "Start chaining a buffer %" GST_PTR_FORMAT, buffer);
if (flow_return != GST_FLOW_OK)
goto flushing;
+ if (klass->skip_buffer && klass->skip_buffer (aggpad, self, buffer))
+ goto skipped;
+
PAD_UNLOCK (aggpad);
buf_pts = GST_BUFFER_PTS (buffer);
gst_buffer_unref (buffer);
return flow_return;
+
+skipped:
+ PAD_UNLOCK (aggpad);
+
+ GST_DEBUG_OBJECT (aggpad, "Skipped buffer %" GST_PTR_FORMAT, buffer);
+ gst_buffer_unref (buffer);
+
+ return GST_FLOW_OK;
}
static GstFlowReturn