mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-27 09:41:20 -08:00
fix(core): [CORE-SUBTITLE-OFFSET-01] refresh paused native cue membership and order
This commit is contained in:
1 parent
b5dee252d4
commit
efed847cdf
23 files changed
+6789
-27
No files matched your search
@@ -670,6 +670,18 @@ transport cancellation, conversion, ownership, native DOM events and cue renderi
|
||||
The offset mixin remains the player property entry, with original cue bounds retained
|
||||
on native cue objects. Validation evidence and remaining release gates live in refactor/.
|
||||
|
||||
timing.ts handles native active-cue invalidation after a paused offset edit. Some
|
||||
engines retain the old membership even after cue timestamps change. It compares
|
||||
the expected current interval/order to native activeCues and, only on mismatch,
|
||||
removes and re-adds the original cue objects in their captured order. The mixin
|
||||
then performs the existing update, notice and subtitleOffset emission. It does
|
||||
not seek media, replace cues, toggle track mode or allocate background work.
|
||||
Playing, disabled and capability-limited hosts retain their existing path. A
|
||||
mode-toggle workaround was rejected because Firefox reordered tied cues during
|
||||
successive offsets. Tests in subtitle-offset.spec.js verify synchronous native,
|
||||
public and rendered membership, identity, order, disabled state and resumed play;
|
||||
subtitle-offset-native.spec.js is an independent native video/track probe.
|
||||
|
||||
request.ts races work against scope closure. Superseded requests settle undefined even
|
||||
when the transport ignores AbortSignal; active failures reject. state.ts owns request
|
||||
and track scopes and only generated object URLs. A caller-owned URL is never revoked.
|
||||
|
||||
Reference in new issue
Block a user