diff --git a/packages/spf/src/playback/behaviors/establish-start-media-time.ts b/packages/spf/src/playback/behaviors/establish-start-media-time.ts index f73c988f..be06ca9c 100644 --- a/packages/spf/src/playback/behaviors/establish-start-media-time.ts +++ b/packages/spf/src/playback/behaviors/establish-start-media-time.ts @@ -157,8 +157,11 @@ function establishStartMediaTimeSetup({ const containerData = state.mediaContainerData.get(); if (!containerData) return; const startMediaTimes = derive(containerData, selectionContext()); + // `current` is always resolved here — the monitor gates `monitoring` on a + // resolved presentation and transitions before effects re-run — so we cast + // to `Presentation` rather than re-narrowing. update(state.presentation as Signal, (current) => - isResolvedPresentation(current) ? stampTracks(current, startMediaTimes) : current + stampTracks(current as Presentation, startMediaTimes) ); }, },