mirror of
https://github.com/yusufipk/OpenFrame.git
synced 2026-09-11 17:46:06 +00:00
Drive the timeline progress fill and playhead directly via a requestAnimationFrame loop (bypassing React state) so the playhead glides at the display refresh rate during playback instead of stepping ~4x/sec. Scrubbing now previews frames live like an editor: while dragging, the video is seeked with coalescing (one seek in flight, chasing the latest target) so HLS stays responsive without stale-seek pileup. Playback pauses during a scrub and resumes on release. Dragging tracks the cursor anywhere on the page via window listeners.