diff options
Diffstat (limited to 'device.c')
-rw-r--r-- | device.c | 16 |
1 files changed, 13 insertions, 3 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.c 1.37 2003/03/09 14:05:23 kls Exp $ + * $Id: device.c 1.38 2003/03/30 12:39:29 kls Exp $ */ #include "device.h" @@ -422,9 +422,16 @@ bool cDevice::ToggleMute(void) { int OldVolume = volume; mute = !mute; - SetVolume(0, mute); + //XXX why is it necessary to use different sequences??? + if (mute) { + SetVolume(0, mute); + Audios.MuteAudio(mute); // Mute external audio after analog audio + } + else { + Audios.MuteAudio(mute); // Enable external audio before analog audio + SetVolume(0, mute); + } volume = OldVolume; - Audios.MuteAudio(mute); return mute; } @@ -478,10 +485,12 @@ void cDevice::Clear(void) void cDevice::Play(void) { + Audios.MuteAudio(mute); } void cDevice::Freeze(void) { + Audios.MuteAudio(true); } void cDevice::Mute(void) @@ -520,6 +529,7 @@ void cDevice::Detach(cPlayer *Player) player = NULL; SetPlayMode(pmNone); playerDetached = true; + Audios.ClearAudio(); } } |