From 6060bff186e028dfc2d90ffb69869b93f9ec01f5 Mon Sep 17 00:00:00 2001 From: Pierre Ossman Date: Fri, 28 Apr 2006 07:29:32 +0000 Subject: When a control is removed, all bits are set so we need to test for that first. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@819 fefdeb5f-60dc-0310-8127-8f9354f1896f --- src/modules/module-alsa-sink.c | 3 +++ src/modules/module-alsa-source.c | 3 +++ 2 files changed, 6 insertions(+) (limited to 'src') diff --git a/src/modules/module-alsa-sink.c b/src/modules/module-alsa-sink.c index 2c2f1f3e..84b506e1 100644 --- a/src/modules/module-alsa-sink.c +++ b/src/modules/module-alsa-sink.c @@ -168,6 +168,9 @@ static int mixer_callback(snd_mixer_elem_t *elem, unsigned int mask) { assert(u && u->mixer_handle); + if (mask == SND_CTL_EVENT_MASK_REMOVE) + return 0; + if (mask & SND_CTL_EVENT_MASK_VALUE) { if (u->sink->get_hw_volume) u->sink->get_hw_volume(u->sink); diff --git a/src/modules/module-alsa-source.c b/src/modules/module-alsa-source.c index e4938917..84ae992b 100644 --- a/src/modules/module-alsa-source.c +++ b/src/modules/module-alsa-source.c @@ -168,6 +168,9 @@ static int mixer_callback(snd_mixer_elem_t *elem, unsigned int mask) { assert(u && u->mixer_handle); + if (mask == SND_CTL_EVENT_MASK_REMOVE) + return 0; + if (mask & SND_CTL_EVENT_MASK_VALUE) { if (u->source->get_hw_volume) u->source->get_hw_volume(u->source); -- cgit