From af17a2cd4fc050b0fbecb811f812963851b3485c Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Tue, 24 Mar 2015 19:04:26 +0530 Subject: [PATCH] videoaggregator: Check if there's a previous buffer to 'keep' If we want to keep a previous buffer but there's no previous buffer, we actually need more data instead. --- gst-libs/gst/video/gstvideoaggregator.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gst-libs/gst/video/gstvideoaggregator.c b/gst-libs/gst/video/gstvideoaggregator.c index 24ab93f..272a35b 100644 --- a/gst-libs/gst/video/gstvideoaggregator.c +++ b/gst-libs/gst/video/gstvideoaggregator.c @@ -1006,8 +1006,14 @@ gst_videoaggregator_fill_queues (GstVideoAggregator * vagg, gst_segment_to_running_time (&segment, GST_FORMAT_TIME, start_time); if (start_time >= output_end_time) { - GST_DEBUG_OBJECT (pad, "buffer duration is -1, start_time >= " - "output_end_time. Keeping previous buffer"); + if (pad->buffer) { + GST_DEBUG_OBJECT (pad, "buffer duration is -1, start_time >= " + "output_end_time. Keeping previous buffer"); + } else { + GST_DEBUG_OBJECT (pad, "buffer duration is -1, start_time >= " + "output_end_time. No previous buffer, need more data"); + need_more_data = TRUE; + } gst_buffer_unref (buf); continue; } else if (start_time < output_start_time) { -- 2.7.4