summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/sink.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-10-07 22:47:32 +0200
committerLennart Poettering <lennart@poettering.net>2008-10-07 22:47:32 +0200
commit68cc2996cc1e0bfe53d35eafdd26ce4572a10ce9 (patch)
treecd7c4f6c8422d8f4f6ad38036621a74c0f0bfee1 /src/pulsecore/sink.c
parent46f73fb9531772e89ef7706578ba3ed2bde6c563 (diff)
after calling PA_CORE_HOOK_SINK_SET_VOLUME hook, check again whether the volume changed
Diffstat (limited to 'src/pulsecore/sink.c')
-rw-r--r--src/pulsecore/sink.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c
index 7e920490..d8d1f792 100644
--- a/src/pulsecore/sink.c
+++ b/src/pulsecore/sink.c
@@ -856,8 +856,12 @@ void pa_sink_set_volume(pa_sink *s, const pa_cvolume *volume) {
changed = !pa_cvolume_equal(&data.volume, &s->volume);
- if (changed && pa_hook_fire(&s->core->hooks[PA_CORE_HOOK_SINK_SET_VOLUME], &data) < 0)
- return;
+ if (changed) {
+ if (pa_hook_fire(&s->core->hooks[PA_CORE_HOOK_SINK_SET_VOLUME], &data) < 0)
+ return;
+
+ changed = !pa_cvolume_equal(&data.volume, &s->volume);
+ }
s->volume = data.volume;