summaryrefslogtreecommitdiff
path: root/device.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2003-03-30 12:42:23 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2003-03-30 12:42:23 +0200
commitc52b219131eee937c16b3dd9ebc3706d77df689c (patch)
tree217a979b47064d59de1003c572e3b22e68e61d94 /device.c
parentf79a442f443edda16353a760b0b93eb4e63aaa42 (diff)
downloadvdr-c52b219131eee937c16b3dd9ebc3706d77df689c.tar.gz
vdr-c52b219131eee937c16b3dd9ebc3706d77df689c.tar.bz2
Added some missing cAudio handling calls
Diffstat (limited to 'device.c')
-rw-r--r--device.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/device.c b/device.c
index 0f99e13b..cfcf3d22 100644
--- a/device.c
+++ b/device.c
@@ -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();
}
}