From 4b66c86fd6ba00c378406abaa2dd9e8b27b66ac7 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Thu, 11 Dec 2025 21:39:49 -0800 Subject: [PATCH] prevent mpv from reinitializing on volume, speed, and transcoding --- .../player/audio-player/engine/mpv-player-engine.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 33452ea43..746105d3a 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 @@ -123,7 +123,12 @@ export const MpvPlayerEngine = (props: MpvPlayerEngineProps) => { isInitializedRef.current = false; hasPopulatedQueueRef.current = false; }; - }, [mpvExtraParameters, mpvProperties, speed, transcode, volume]); + // Note: volume, speed, and transcode are intentionally not in dependencies. + // Volume and speed changes are handled by separate useEffects below to avoid + // reinitializing the entire player. Transcode changes are handled by queue + // update callbacks in usePlayerEvents. + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [mpvExtraParameters, mpvProperties]); // Update volume useEffect(() => {