mirror of
https://github.com/zoriya/v10.git
synced 2026-08-16 02:45:09 +00:00
fix: safari track bug, no playback (#1226)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
This commit is contained in:
co-authored by
Cursor Agent
parent
a4d8e2a255
commit
b1ddda05de
@@ -37,16 +37,16 @@ export function HlsJsMediaMetadataTracksMixin<Base extends Constructor<HlsEngine
|
||||
const src = trackEl.getAttribute('src') ?? '';
|
||||
const TRACK_LOADED = 2;
|
||||
|
||||
// Only reset the src attribute if the track was loaded before and had no cues.
|
||||
if (trackEl.readyState === TRACK_LOADED && !track.cues?.length) {
|
||||
trackEl.removeAttribute('src');
|
||||
setTimeout(() => {
|
||||
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';
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user