diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2015-03-24 19:04:26 +0530 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2015-03-24 14:54:33 +0100 |
commit | 802a29eb480e50efea381d43920aa7d91f870eea (patch) | |
tree | 2c7babcb887cd5d47efad59568047fcd8401044a /gst-libs/gst/video/gstvideoaggregator.c | |
parent | 14ac40f106d5e742267f4a1ee6ce3af587a15b2e (diff) | |
download | gstreamer-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.c | 10 |
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) { |