Skip to content

livesync: Use the actual output buffer duration of gap filler buffers

Otherwise the following can happen:

  • 25fps stream
  • buffer with PTS 0ms, duration 20ms arrives, is output
  • buffer with PTS 40ms, duration 20ms arrives
  • is considered early because 20ms < 40ms
  • filler buffer with PTS 20ms and 40ms duration is output
  • buffer with PTS 40ms is output

After this change no filler would be inserted because the gap is smaller than the duration of a filler buffer.

Also, previously the 40ms duration would be used if a filler was previously output because in that case the cached output buffer duration would've already been patched from 20ms to 40ms.

Merge request reports