diff --git a/src/renderer/features/player/audio-player/engine/mpv-player-engine.tsx b/src/renderer/features/player/audio-player/engine/mpv-player-engine.tsx index d7cd398ed..38a1806a7 100644 --- a/src/renderer/features/player/audio-player/engine/mpv-player-engine.tsx +++ b/src/renderer/features/player/audio-player/engine/mpv-player-engine.tsx @@ -50,6 +50,7 @@ export const MpvPlayerEngine = (props: MpvPlayerEngineProps) => { const progressIntervalRef = useRef(null); const isInitializedRef = useRef(false); + const hasPopulatedQueueRef = useRef(false); const mpvExtraParameters = useSettingsStore((store) => store.playback.mpvExtraParameters); const mpvProperties = useSettingsStore((store) => store.playback.mpvProperties); @@ -85,20 +86,21 @@ export const MpvPlayerEngine = (props: MpvPlayerEngineProps) => { mpvPlayer?.stop(); mpvPlayer?.cleanup(); isInitializedRef.current = false; + hasPopulatedQueueRef.current = false; }; }, [mpvExtraParameters, mpvProperties]); // Populate mpv queue after initialization useEffect(() => { - if (!mpvPlayer || !isInitializedRef.current) { + if (!mpvPlayer || !isInitializedRef.current || hasPopulatedQueueRef.current) { return; } if (currentSrc) { - const shouldPause = playerStatus !== PlayerStatus.PLAYING; - mpvPlayer.setQueue(currentSrc, nextSrc, shouldPause); + mpvPlayer.setQueue(currentSrc, nextSrc, true); + hasPopulatedQueueRef.current = true; } - }, [currentSrc, nextSrc, playerStatus]); + }, [currentSrc, nextSrc]); // Update volume useEffect(() => {