summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2006-04-28 07:29:32 +0000
committerPierre Ossman <ossman@cendio.se>2006-04-28 07:29:32 +0000
commit6060bff186e028dfc2d90ffb69869b93f9ec01f5 (patch)
tree51ef6024b2fa2eebcba83ef8dcebf8bcde831cff /src
parent53930f4455dddc44fd260b151839aef0c76ce433 (diff)
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
Diffstat (limited to 'src')
-rw-r--r--src/modules/module-alsa-sink.c3
-rw-r--r--src/modules/module-alsa-source.c3
2 files changed, 6 insertions, 0 deletions
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);