Fix admin playback performance hike

This commit is contained in:
2025-12-10 15:53:22 +01:00
parent 2de88e272c
commit 371d9dd45d

View File

@@ -842,17 +842,14 @@ function ensureMedia(asset) {
element.loop = true; element.loop = true;
element.muted = asset.muted ?? true; element.muted = asset.muted ?? true;
element.playsInline = true; element.playsInline = true;
element.autoplay = true; element.autoplay = false;
element.preload = 'metadata';
element.onloadeddata = requestDraw; element.onloadeddata = requestDraw;
element.onloadedmetadata = () => recordDuration(asset.id, element.duration); element.onloadedmetadata = () => recordDuration(asset.id, element.duration);
element.src = asset.url; element.src = asset.url;
const playback = asset.speed ?? 1; const playback = asset.speed ?? 1;
element.playbackRate = Math.max(playback, 0.01); element.playbackRate = Math.max(playback, 0.01);
if (playback === 0) { element.pause();
element.pause();
} else {
element.play().catch(() => { });
}
} else { } else {
element.onload = requestDraw; element.onload = requestDraw;
element.src = asset.url; element.src = asset.url;
@@ -951,11 +948,7 @@ function applyMediaSettings(element, asset) {
if (element.muted !== shouldMute) { if (element.muted !== shouldMute) {
element.muted = shouldMute; element.muted = shouldMute;
} }
if (nextSpeed === 0) { element.pause();
element.pause();
} else if (element.paused) {
element.play().catch(() => { });
}
} }
function renderAssetList() { function renderAssetList() {