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.
This commit is contained in:
Nirbheek Chauhan 2015-03-24 19:04:26 +05:30 committed by Sebastian Dröge
parent 14ac40f106
commit 802a29eb48

View file

@ -1006,8 +1006,14 @@ gst_videoaggregator_fill_queues (GstVideoAggregator * vagg,
gst_segment_to_running_time (&segment, GST_FORMAT_TIME, start_time); gst_segment_to_running_time (&segment, GST_FORMAT_TIME, start_time);
if (start_time >= output_end_time) { if (start_time >= output_end_time) {
GST_DEBUG_OBJECT (pad, "buffer duration is -1, start_time >= " if (pad->buffer) {
"output_end_time. Keeping previous 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); gst_buffer_unref (buf);
continue; continue;
} else if (start_time < output_start_time) { } else if (start_time < output_start_time) {