I sent earlier a patch set with subject "Some volume refactoring + new hooks"[1]. That patch set is superseded by this one. This patch set incorporates the feedback from the previous patch set, and adds mute refactoring and mute hooks. As with the previous patch set, the refactoring is done to make it possible to fire the hooks from only one place, and the hooks are required by out-of-tree modules implementing the "Tizen volume API". The first patch has already been sent separately, but I included it here too, because the subsequent patches require that to apply cleanly. [1] http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/20042 Tanu Kaskinen (15): sink-input, source-output: Fix mute saving sink, source: Assign to reference_volume from only one place sink-input, source-output: Assign to volume from only one place sink, source: Return early from set_mute() sink-input, source-output: Add logging to set_mute() sink, source: Allow calling set_mute() during initialization echo-cancel: Remove redundant get_mute() callback sink, source: Call set_mute() from mute_changed() sink, source: Assign to s->muted from only one place sink-input, source-output: Remove redundant get_mute() functions solaris, tunnel: Remove some redundant boolean conversions sink, source: Add hooks for volume changes sink-input, source-output: Add hooks for volume changes sink, source: Add hooks for mute changes sink-input, source-output: Add hooks for mute changes src/modules/alsa/alsa-sink.c | 17 +-- src/modules/alsa/alsa-source.c | 17 +-- src/modules/dbus/iface-stream.c | 4 +- src/modules/echo-cancel/module-echo-cancel.c | 15 --- src/modules/module-role-cork.c | 9 +- src/modules/module-solaris.c | 19 ++-- src/modules/module-stream-restore.c | 4 +- src/modules/module-tunnel.c | 2 +- src/pulsecore/cli-text.c | 4 +- src/pulsecore/core.h | 8 ++ src/pulsecore/protocol-native.c | 4 +- src/pulsecore/sink-input.c | 113 ++++++++++---------- src/pulsecore/sink-input.h | 8 +- src/pulsecore/sink.c | 147 +++++++++++++------------- src/pulsecore/sink.h | 23 +++-- src/pulsecore/source-output.c | 106 +++++++++---------- src/pulsecore/source-output.h | 8 +- src/pulsecore/source.c | 148 ++++++++++++++------------- src/pulsecore/source.h | 23 +++-- 19 files changed, 359 insertions(+), 320 deletions(-) -- 1.8.3.1