Skip to content

[3.0] demux: mkv: shift the timestamps based on the biggest CodecDelay

Steve Lhomme requested to merge robUx4/vlc:3.0-codecdelay-shift into 3.0.x

The CodecDelay needs to be substracted from the PTS of all frames of that track. That may result in negative DTS, PTS and PCR which is not well handled. So we just shift all timestamps based on the biggest CodecDelay so all timestamps are always positive.

This is in line with how libavformat reports the timestamps on frames from a track with a CodecDelay.

This is done per segment as other segments may use a different CodecDelay per track.

Fixes #25129 (closed)

(cherry picked from commit 45036317) (edited)

edited:

  • 3.0 uses mtime_t instead of vlc_tick_t

Signed-off-by: Steve Lhomme robux4@ycbcr.xyz

Edited by Steve Lhomme

Merge request reports