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. |
||
|---|---|---|
| .. | ||
| AudioPlaybackSink.cpp | ||
| AudioPlaybackSink.h | ||
| AudioSink.h | ||
| DisplayingVideoSink.cpp | ||
| DisplayingVideoSink.h | ||
| VideoSink.h | ||