From dd75eef3f3afea4b4e0ef332ab76fd8932b87fbf Mon Sep 17 00:00:00 2001 From: wanderer Date: Thu, 15 Dec 2005 17:50:29 +0000 Subject: use snd_mixer_selem_set_playback_switch when muting ALSA, patch by Matthias Lederhofer git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17195 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libao2/ao_alsa.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'libao2/ao_alsa.c') diff --git a/libao2/ao_alsa.c b/libao2/ao_alsa.c index 431a6bc756..2d820b1f70 100644 --- a/libao2/ao_alsa.c +++ b/libao2/ao_alsa.c @@ -197,6 +197,17 @@ static int control(int cmd, void *arg) } mp_msg(MSGT_AO,MSGL_DBG2,"right=%li, pmin=%li, pmax=%li, mult=%f\n", set_vol, pmin, pmax, f_multi); + + if (snd_mixer_selem_has_playback_switch(elem)) { + int lmute = (vol->left == 0.0); + int rmute = (vol->right == 0.0); + if (snd_mixer_selem_has_playback_switch_joined(elem)) { + lmute = rmute = lmute && rmute; + } else { + snd_mixer_selem_set_playback_switch(elem, SND_MIXER_SCHN_FRONT_RIGHT, !rmute); + } + snd_mixer_selem_set_playback_switch(elem, SND_MIXER_SCHN_FRONT_LEFT, !lmute); + } } else { snd_mixer_selem_get_playback_volume(elem, 0, &get_vol); -- cgit v1.2.3