This is pretty much a complete rewrite of the patches that intended to fix bad volume behaviour on Terratec Aureon Dual USB. These patches add a new default volume attribute to ports and alsa-mixer paths, and use that to fix the Aureon volume bug[1]. The default volume of all analog paths, not just Aureon, is now 30% instead of 100%. Also, the port default volume is now considered when switching ports. That means, for example, that on the first boot of a laptop with speakers and a headphone jack (unplugged), the speakers get their default volume set as before (based on the hardware volume), but when plugging in headphones, the sink volume jumps to 30%. That's a good thing, because the speaker volume won't affect the default headphone volume like it has affected so far. Here's a link to the v1 patch set discussion, where the device default volumes were discussed in some length: http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/22253 [1] https://bugs.freedesktop.org/show_bug.cgi?id=81777 Tanu Kaskinen (5): core: Add default volume to ports When switching ports, use the port default volume conf-parser: Add pa_config_parse_volume() alsa-mixer: Add "default-volume" path option alsa-mixer: Improve volume handling for Terratec Aureon Dual USB src/Makefile.am | 6 +- src/modules/alsa/alsa-mixer.c | 6 ++ src/modules/alsa/alsa-mixer.h | 1 + .../alsa/mixer/paths/analog-output.conf.common | 7 +++ .../paths/terratec-aureon-dual-usb-output.conf | 37 +++++++++++ .../alsa/mixer/profile-sets/90-pulseaudio.rules | 1 + .../profile-sets/terratec-aureon-dual-usb.conf | 42 +++++++++++++ src/modules/dbus/iface-device.c | 4 +- src/modules/module-device-restore.c | 32 +++++----- src/pulsecore/conf-parser.c | 36 +++++++++++ src/pulsecore/conf-parser.h | 3 +- src/pulsecore/device-port.c | 9 ++- src/pulsecore/device-port.h | 3 + src/pulsecore/sink.c | 72 +++++++++++++--------- src/pulsecore/sink.h | 17 +++++ src/pulsecore/source.c | 72 +++++++++++++--------- src/pulsecore/source.h | 17 +++++ 17 files changed, 285 insertions(+), 80 deletions(-) create mode 100644 src/modules/alsa/mixer/paths/terratec-aureon-dual-usb-output.conf create mode 100644 src/modules/alsa/mixer/profile-sets/terratec-aureon-dual-usb.conf -- 1.9.3