From b1ddda05dec40669058a71064f0c3889972c7723 Mon Sep 17 00:00:00 2001 From: Wesley Luyten Date: Tue, 7 Apr 2026 13:09:03 -0500 Subject: [PATCH] fix: safari track bug, no playback (#1226) Co-authored-by: Cursor Agent --- .../core/src/dom/media/hls/metadata-tracks.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/core/src/dom/media/hls/metadata-tracks.ts b/packages/core/src/dom/media/hls/metadata-tracks.ts index 2c79060f..f2759a65 100644 --- a/packages/core/src/dom/media/hls/metadata-tracks.ts +++ b/packages/core/src/dom/media/hls/metadata-tracks.ts @@ -37,16 +37,16 @@ export function HlsJsMediaMetadataTracksMixin { - trackEl.setAttribute('src', src); - }, 0); + // Only reset the track if it was loaded before and had no cues. + if (src && trackEl.readyState === TRACK_LOADED && !track.cues?.length) { + const clonedTrackEl = trackEl.cloneNode() as HTMLTrackElement; + target.replaceChild(clonedTrackEl, trackEl); } - if (trackEl?.default && track.mode !== 'hidden') { - track.mode = 'hidden'; + // Force mode to 'hidden' for default tracks (independent of replacement). + const currentTrackEl = target.querySelector(selector) as HTMLTrackElement | null; + if (currentTrackEl?.default && currentTrackEl.track.mode !== 'hidden') { + currentTrackEl.track.mode = 'hidden'; } }); }