summaryrefslogtreecommitdiff
path: root/gst-libs/gst/video/gstvideoaggregator.c
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2015-03-24 19:04:26 +0530
committerSebastian Dröge <sebastian@centricular.com>2015-03-24 14:54:33 +0100
commit802a29eb480e50efea381d43920aa7d91f870eea (patch)
tree2c7babcb887cd5d47efad59568047fcd8401044a /gst-libs/gst/video/gstvideoaggregator.c
parent14ac40f106d5e742267f4a1ee6ce3af587a15b2e (diff)
downloadgstreamer-plugins-bad-802a29eb480e50efea381d43920aa7d91f870eea.tar.gz
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.
Diffstat (limited to 'gst-libs/gst/video/gstvideoaggregator.c')
-rw-r--r--gst-libs/gst/video/gstvideoaggregator.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/gst-libs/gst/video/gstvideoaggregator.c b/gst-libs/gst/video/gstvideoaggregator.c
index 24ab93f47..272a35bba 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) {