videoaggregator: fix a refcount error when keeping the buffer

We take a ref on the pad's buffer at the beginning so we need to
unref when we are done in all cases.
This commit is contained in:
Matthew Waters 2014-06-27 00:09:08 +10:00
parent c46b63d44e
commit 2e83aca728

View file

@ -806,6 +806,7 @@ gst_videoaggregator_reset (GstVideoAggregator * vagg)
GstVideoAggregatorPad *p = l->data; GstVideoAggregatorPad *p = l->data;
gst_buffer_replace (&p->buffer, NULL); gst_buffer_replace (&p->buffer, NULL);
gst_buffer_replace (&p->queued, NULL);
p->start_time = -1; p->start_time = -1;
p->end_time = -1; p->end_time = -1;
@ -959,6 +960,7 @@ gst_videoaggregator_fill_queues (GstVideoAggregator * vagg,
} else if (start_time >= output_end_time) { } else if (start_time >= output_end_time) {
GST_DEBUG_OBJECT (pad, "Keeping buffer until %" GST_TIME_FORMAT, GST_DEBUG_OBJECT (pad, "Keeping buffer until %" GST_TIME_FORMAT,
GST_TIME_ARGS (start_time)); GST_TIME_ARGS (start_time));
gst_buffer_unref (buf);
eos = FALSE; eos = FALSE;
} else { } else {
GST_DEBUG_OBJECT (pad, "Too old buffer -- dropping"); GST_DEBUG_OBJECT (pad, "Too old buffer -- dropping");