diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-01-13 20:30:36 +0100 |
---|---|---|
committer | Colin Guthrie <cguthrie@mandriva.org> | 2010-02-09 22:32:28 +0000 |
commit | c88e4680f050a6ac65335b1d8148287cc4566b00 (patch) | |
tree | 78cf495894fd3cdf3df85fb61e8af4cd8a0a3186 | |
parent | ce7bd05ca50c946ea6b3ec9a9dcb9bfd7e90ac5e (diff) |
alsa: ignore volume changes from the hw if we are not on the active console
-rw-r--r-- | src/modules/alsa/alsa-sink.c | 3 | ||||
-rw-r--r-- | src/modules/alsa/alsa-source.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c index ed16c834..690480f7 100644 --- a/src/modules/alsa/alsa-sink.c +++ b/src/modules/alsa/alsa-sink.c @@ -1103,6 +1103,9 @@ static int mixer_callback(snd_mixer_elem_t *elem, unsigned int mask) { if (mask == SND_CTL_EVENT_MASK_REMOVE) return 0; + if (u->sink->suspend_cause & PA_SUSPEND_SESSION) + return 0; + if (mask & SND_CTL_EVENT_MASK_VALUE) { pa_sink_get_volume(u->sink, TRUE); pa_sink_get_mute(u->sink, TRUE); diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c index 157698e3..f8b583ea 100644 --- a/src/modules/alsa/alsa-source.c +++ b/src/modules/alsa/alsa-source.c @@ -1051,6 +1051,9 @@ static int mixer_callback(snd_mixer_elem_t *elem, unsigned int mask) { if (mask == SND_CTL_EVENT_MASK_REMOVE) return 0; + if (u->source->suspend_cause & PA_SUSPEND_SESSION) + return 0; + if (mask & SND_CTL_EVENT_MASK_VALUE) { pa_source_get_volume(u->source, TRUE); pa_source_get_mute(u->source, TRUE); |