Changes since v0 (I called the last set RFC): - patch 1 - device-port: fire a hook for the volume change event - patch 2 - card-restore: update to use hooks instead of subscription events - patch 2 - card-restore: if the volumes in the entries are invalid assume the entries are not equal (this silences an assertion) - patch 4 - device-restore: Still save the volume inside device-restore if the sink doesn't have ports - fix Davids "nitpicks" >From original cover letter [2]: > This patch set is for now an RFC. > This should move the volume saving/restoring to the ports and card-restore. > The sinks/sources should then only inherit the volume from the active port. > The last patch is just a quick hack so device-restore doesn't load the > volume for newly created sinks. > This should fix bug 55262. [1] https://bugs.freedesktop.org/show_bug.cgi?id=55262 [2] http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/15477 PS: Sorry for the long delay between the patch series. poljar (Damir Jeli?) (4): device-port: Add volume to the ports struct. card-restore: Save/restore volume for the ports. sink: Inherit the volume from the active port. device-restore: Remove the ability to restore volumes for sinks. src/modules/module-card-restore.c | 68 ++++++++++++++++++++++++++++++++----- src/modules/module-device-restore.c | 4 +-- src/pulsecore/core.h | 1 + src/pulsecore/device-port.c | 15 ++++++++ src/pulsecore/device-port.h | 3 ++ src/pulsecore/sink.c | 15 ++++++-- 6 files changed, 92 insertions(+), 14 deletions(-) -- 1.8.2