revert: the player retry fix was based on a wrong root cause
_ensureVideo already registers the url on both the create and reuse paths, so window-materialized elements always could retry; the added registration was a no-op and its comment described a bug that does not exist. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
f601dffce0
commit
7854cb2e95
@@ -31,14 +31,6 @@
|
||||
quietly. Latent width and height snap to even, since a patchified model cannot take odd.
|
||||
|
||||
### Fixed
|
||||
- **Timeline playback died partway through a long timeline: play/pause left it on "Loading"
|
||||
forever.** `_classifyVideoError` drops any element whose url is not registered in
|
||||
`_urlClips`, and only `_syncPool` registered — which runs on a timeline rebuild, not as the
|
||||
playhead moves. So every clip the sliding pool window materialized during playback could
|
||||
never retry a failed load: one transient error (rapid play/pause over the network poisons a
|
||||
stream) and that clip was stuck until a page reload. The boundary fell wherever the initial
|
||||
window ended, which on a typical timeline is around the halfway point.
|
||||
|
||||
- **A linked input driven by `Project · Prompt (global)` claimed to encode "the same text
|
||||
Studio would" and did not.** Studio appends the postfix to every scene itself, so the
|
||||
global prompt is strictly less than what it encodes — and the postfix is usually where
|
||||
|
||||
@@ -628,14 +628,7 @@
|
||||
for (const u of want) {
|
||||
if (pool.has(u)) continue;
|
||||
const clip = _clips.find((c) => _clipUrl(c) === u);
|
||||
if (!clip) continue;
|
||||
// Register BEFORE materializing: _classifyVideoError drops any element whose url is
|
||||
// not in _urlClips, so an element created here without one could never retry a failed
|
||||
// load and sat on "loading" forever. Only _syncPool registered, and it only runs on a
|
||||
// timeline rebuild — so every clip the sliding window materialized during playback
|
||||
// (i.e. everything past the first window) was unrecoverable.
|
||||
_registerUrlClip(u, clip);
|
||||
_ensureVideo(u, clip);
|
||||
if (clip) _ensureVideo(u, clip);
|
||||
}
|
||||
if (pool.size <= POOL_MAX) return;
|
||||
for (const [u, v] of [...pool]) { // Map order = insertion order ⇒ oldest first
|
||||
|
||||
Reference in New Issue
Block a user