mirror of
https://github.com/samsonjs/media.git
synced 2026-03-26 09:35:47 +00:00
Frame cache compensates for the fluctuation in frame processing times. Imagine a frame takes 10ms to process, and the interval between two frames is 33ms. The third frame took 40ms to process. If we don't have frame cache: - Process frame 1, ready after 10ms, starts playback, now t=0 ms - Start processing frame 2, ready at t=10ms, - Release frame 2 at t=33ms - We start processing the third frame at t=33ms - The third frame is due presentation at t=66ms - But frame 3 is available at t=73ms, late If we have a frame cache of say 3 frams, - Process frame 1, ready after 10ms, starts playback, now t=0 ms - Start processing frame 2, ready at t=10ms - Start processing frame 3, ready at t=50ms - Release frame 2 at t=33ms - Start frame 4, ready at t=60ms - Frame 3 is due presentation at t=66ms - Frame 3 isn't late PiperOrigin-RevId: 501869948 |
||
|---|---|---|
| .. | ||
| src | ||
| build.gradle | ||
| README.md | ||