ladybird/Libraries/LibMedia/Sinks
Zaggy1024 ae04222247 LibMedia: Don't display video frames that are late
Frames are considered late if the time is ahead by half their duration.
The fudging is necessary because Matroska (and perhaps other formats)
store their frame durations in different time units than their
timestamps.

Skipping these should make it clear when decoding is running behind,
instead of displaying the video in slow motion while audio runs at a
normal rate.

To give an accurate counting for video playback quality when it is
implemented, we'll most likely want to count all pulled frames in an
update as dropped if the last frame is dropped. Otherwise the frame
drop count will only increase at the display rate when decoding is
continually running behind.
2026-06-11 21:49:55 +02:00
..
AudioPlaybackSink.cpp LibMedia: Remove an unnecessary lock in the audio sink's state dispatch 2026-06-11 05:49:14 -05:00
AudioPlaybackSink.h LibMedia: Pause the audio sink when its rate is set to 0 2026-06-06 19:58:17 -05:00
AudioSink.h LibMedia: Fit the media pipeline nodes into their intended interfaces 2026-05-13 02:05:35 -05:00
DisplayingVideoSink.cpp LibMedia: Don't display video frames that are late 2026-06-11 21:49:55 +02:00
DisplayingVideoSink.h LibMedia: Don't display video frames that are late 2026-06-11 21:49:55 +02:00
VideoSink.h LibMedia: Fit the media pipeline nodes into their intended interfaces 2026-05-13 02:05:35 -05:00