Changes since v1: * Rebased to master (thanks Tanu) * Added pa_device_port_set_preferred_profile * pa_card_set_profile now updates preferred profile, instead of module-card-restore (to make Tanu happy - if it was up to me, I probably would have kept it as it was) David Henningsson (7): card: Add variables for splitting up a profile alsa-mixer: Fill in input and output names device-port: Add preferred_profile field to pa_device_port card: Update preferred_profile for ports when profile changes card-restore: Save and restore "preferred profile" of port module-switch-on-port-available: Use input and output names module-switch-on-port-available: Route to preferred profile src/modules/alsa/alsa-mixer.c | 14 +- src/modules/alsa/alsa-mixer.h | 3 + src/modules/alsa/module-alsa-card.c | 2 + src/modules/module-card-restore.c | 49 ++++++- src/modules/module-switch-on-port-available.c | 179 ++++++++++++++++---------- src/pulsecore/card.c | 20 +++ src/pulsecore/card.h | 6 + src/pulsecore/device-port.c | 11 ++ src/pulsecore/device-port.h | 2 + 9 files changed, 213 insertions(+), 73 deletions(-) -- 1.9.1