fix(preview): recover active video after preload timeout - #45
Conversation
|
Starting initial review of |
There was a problem hiding this comment.
Approved. The pool now preserves an assigned video after preload failure, disposes failed elements once released, and retains recovered buffers after late canplay. Player reconciliation uses live playback intent and runs when a delayed Player becomes ready.
The existing ownership boundaries remain appropriate, and this is one cohesive playback fix. The added tests cover timeout recovery, retry cleanup, disposal races, and host/standalone readiness behavior.
Reviewed all five changed files and traced the surrounding command planner and video acquisition/release paths. No actionable findings. This was a source review; I did not rerun tests or independently reproduce the browser probes reported in the PR.
Reviewed `d88ed93a`...`b0d6486b`. Diff collection and GitHub posting were handled by the automation.|
Review head |
Fix video freezing on the first frame while audio continues after a slow media request. A preload timeout previously cleared an already assigned video element and left clip assignments pointing at it. Preserve the active element for late recovery, dispose failed elements when unused, and retain recovered buffers across cuts. Reconcile a newly ready host Player clock with live playback intent, including delayed readiness.
Releases editor surface 0.3.16.
Validation: full source check and provenance pass; 24 focused pool/video/player tests and installed consumer 2/2 pass. Real Chrome and WebKit delayed HTTP-range media probes recover after the accelerated preload timeout and reuse the same video element at the next cut. Original pool fails the same probe with cleared src/zero frames. Generated media fixture evidence, not authenticated backend playback proof. This fixes timeout recovery; it does not claim all network buffering is eliminated.