Skip to content

queue: Fix incorrect overrun reported due to cur_level.time calculation bug

In case of a dynamic pipeline, when an element gets added to the pipeline with a buffer having PTS greater than max-size-time, overrun gets triggered. This happens as there is a window of time where the queue sink time gets updated but the queue source time has not been updated. During this window, the calculation of cur_level.time will reflect the buffer PTS and can be greater than max-size-time setting.

To fix this, only consider the cur_level.time in gst_queue_is_filled if both the new segment and buffer have been applied to queue source.

Fixes: #684 (closed)

Merge request reports