diff --git a/src/renderer/features/player/components/right-controls.tsx b/src/renderer/features/player/components/right-controls.tsx index 5ba43340..7c03eb94 100644 --- a/src/renderer/features/player/components/right-controls.tsx +++ b/src/renderer/features/player/components/right-controls.tsx @@ -224,16 +224,22 @@ export const RightControls = () => { icon={ playbackSettings.mpvProperties.audioChannels === 'mono' ? 'volumeNormal' - : 'volumeMax' + : playbackSettings.mpvProperties.audioChannels === 'stereo' + ? 'volumeMax' + : 'volumeMute' } iconProps={{ size: 'lg', }} onClick={(e) => { e.stopPropagation(); - const current = - playbackSettings.mpvProperties.audioChannels || 'stereo'; - const next = current === 'mono' ? 'stereo' : 'mono'; + const current = playbackSettings.mpvProperties.audioChannels || 'auto'; + const next = + current === 'auto' + ? 'mono' + : current === 'mono' + ? 'stereo' + : 'auto'; setSettings({ playback: { ...playbackSettings, @@ -245,15 +251,15 @@ export const RightControls = () => { }); // Apply to MPV immediately mpvPlayer?.setProperties({ - 'audio-channels': next, + 'audio-channels': next === 'auto' ? undefined : next, }); }} size="sm" tooltip={{ label: playbackType === PlaybackType.WEB - ? `Audio: ${playbackSettings.mpvProperties.audioChannels || 'stereo'} (MPV only)` - : `Audio: ${playbackSettings.mpvProperties.audioChannels || 'stereo'}`, + ? `Audio: ${playbackSettings.mpvProperties.audioChannels || 'auto'} (MPV only)` + : `Audio: ${playbackSettings.mpvProperties.audioChannels || 'auto'}`, openDelay: 0, }} variant="subtle" diff --git a/src/renderer/features/settings/components/playback/mpv-settings.tsx b/src/renderer/features/settings/components/playback/mpv-settings.tsx index e660ccea..81c7ed25 100644 --- a/src/renderer/features/settings/components/playback/mpv-settings.tsx +++ b/src/renderer/features/settings/components/playback/mpv-settings.tsx @@ -33,7 +33,7 @@ export const getMpvSetting = ( ) => { switch (key) { case 'audioChannels': - return { 'audio-channels': value }; + return { 'audio-channels': value === 'auto' ? undefined : value }; case 'audioExclusiveMode': return { 'audio-exclusive': value || 'no' }; case 'audioSampleRateHz': @@ -55,7 +55,7 @@ export const getMpvSetting = ( export const getMpvProperties = (settings: SettingsState['playback']['mpvProperties']) => { const properties: Record = { - 'audio-channels': settings.audioChannels || 'stereo', + 'audio-channels': settings.audioChannels === 'auto' ? undefined : settings.audioChannels, 'audio-exclusive': settings.audioExclusiveMode || 'no', 'audio-samplerate': settings.audioSampleRateHz === 0 ? undefined : settings.audioSampleRateHz, @@ -278,15 +278,15 @@ export const MpvSettings = () => { control: (