These patches fix https://bugs.freedesktop.org/show_bug.cgi?id=93946 Changes in v2: * moved the preferred port variables to pa_card * implemented preferred port persistence with card-restore * switch-on-port-available: update card_info->active_profile always in the profile changed hook callback, not only when the change is initiated by the user Tanu Kaskinen (6): switch-on-port-available: unify input/output switching policy switch-on-port-available: fix inverted if condition switch-on-port-available: avoid repetitive pointer deferencing card: add preferred_{input,output}_port card-restore: restore preferred ports switch-on-port-available: prefer ports that have been selected by the user src/modules/module-card-restore.c | 64 ++++++- src/modules/module-switch-on-port-available.c | 240 ++++++++++++++++++++++++-- src/pulsecore/card.c | 46 +++++ src/pulsecore/card.h | 12 ++ src/pulsecore/core.h | 1 + 5 files changed, 348 insertions(+), 15 deletions(-) -- 2.7.0