From a019c0dd3d621c428fbf5c9d54bd9ad7f6425302 Mon Sep 17 00:00:00 2001 From: jkeil Date: Thu, 12 Sep 2002 16:59:11 +0000 Subject: [PATCH] Reconstruct the muting state for the playback from a l/r volume of 0.0. This way the sound card is really silent, when the mute state is toggled in gmplayer. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7380 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libao2/ao_sun.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/libao2/ao_sun.c b/libao2/ao_sun.c index d5c54280d0..0a6e6979c8 100644 --- a/libao2/ao_sun.c +++ b/libao2/ao_sun.c @@ -279,11 +279,14 @@ static int control(int cmd,int arg){ float volume; AUDIO_INITINFO(&info); volume = vol->right > vol->left ? vol->right : vol->left; - info.play.gain = volume * AUDIO_MAX_GAIN / 100; - if ( vol->right == vol->left ) - info.play.balance = AUDIO_MID_BALANCE; - else - info.play.balance = (vol->right - vol->left + volume) * AUDIO_RIGHT_BALANCE / (2*volume); + info.output_muted = (volume == 0); + if ( !info.output_muted ) { + info.play.gain = volume * AUDIO_MAX_GAIN / 100; + if ( vol->right == vol->left ) + info.play.balance = AUDIO_MID_BALANCE; + else + info.play.balance = (vol->right - vol->left + volume) * AUDIO_RIGHT_BALANCE / (2*volume); + } ioctl( fd,AUDIO_SETINFO,&info ); close( fd ); return CONTROL_OK;