From 12686e3f00eb942bf587e99f80654400cc6995b6 Mon Sep 17 00:00:00 2001 From: Manuel Bachmann Date: Tue, 5 Jan 2016 15:45:34 +0100 Subject: [PATCH] Fix set_mute in corner cases Signed-off-by: Manuel Bachmann --- plugins/audio/audio-alsa.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/plugins/audio/audio-alsa.c b/plugins/audio/audio-alsa.c index afbff421..51f49702 100644 --- a/plugins/audio/audio-alsa.c +++ b/plugins/audio/audio-alsa.c @@ -227,18 +227,20 @@ PUBLIC unsigned char _alsa_get_mute (unsigned int num) { return (unsigned char)!mute; } -PUBLIC void _alsa_set_mute (unsigned int num, unsigned char mute) { +PUBLIC void _alsa_set_mute (unsigned int num, unsigned char tomute) { snd_mixer_elem_t *elm_m; + int mute; - if (!dev_ctx || !dev_ctx[num] || !dev_ctx[num]->mixer_elm || 1 < mute < 0) + if (!dev_ctx || !dev_ctx[num] || !dev_ctx[num]->mixer_elm || 1 < tomute < 0) return; if (dev_ctx[num]->mixer_elm_m) { elm_m = dev_ctx[num]->mixer_elm_m; - mute = !mute; + mute = (int)!tomute; } else { elm_m = dev_ctx[num]->mixer_elm; + mute = (int)tomute; } if (snd_mixer_selem_has_playback_switch (elm_m)) -- 2.16.6