Repository navigation
fix: bake html5 clips in playback order from the playhead - #264
Merged
Merged
Conversation
github-actions Bot
pushed a commit
that referenced
this pull request
Oct 27, 2026
## [2.29.3](v2.29.2...v2.29.3) (2026-10-27) ### Bug Fixes * bake html5 clips in playback order from the playhead ([#264](#264)) ([2cb8ede](2cb8ede))
|
🎉 This PR is included in version 2.29.3 🎉 The release is available on: Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
html5 clips bake one at a time, first come first served, and a clip joins the queue when its page finishes loading. Clips load track by track, so bakes follow track order, not when clips play. An edit whose opening html5 clip sits on a lower track bakes it last, and pressing play straight away shows that clip as a still frame until every other clip has baked.
Bakes now go through a queue that picks each time a slot frees: the clip under the playhead, then those ahead in start order, then those already passed. It reads the playhead at each pick, so a seek re-sorts what's waiting. A clip joins once every html5 page still mounting has mounted, so clips that load together are ordered together. Bakes stay one at a time, cached frames still skip the queue, and a re-bake at a larger size takes the same queue. The test that kept the old chain from holding finished bakes is gone: the queue drops each bake as it starts.
Risk: the first bake waits for every html5 page to mount. On the edit below that adds 0.13 s; pages that inline large files at different speeds add more, up to the 10 s iframe load timeout.
Verify:
npm run verify:cipasses, with 2,401 tests, and the new html5 test fails on main. On an edit with html5 clips at 54.4 s, 24.4 s and 0 s on tracks top to bottom, at 393 × 852, the opening clip is baked at 27.9 s instead of 75.0 s, and all three by 62.4 s instead of 75.1 s (headless Chrome, software GL).Merge subject: the default,
fix: bake html5 clips in playback order from the playhead, which releases a patch.