summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai-Heng Feng <kai.heng.feng@canonical.com>2020-08-06 17:17:27 +0800
committerTanu Kaskinen <tanuk@iki.fi>2020-08-10 11:52:31 +0000
commitdd70c3c5890ce27b9ba4bd041dea4a01c3e1fc0f (patch)
tree431d054ef4c58f65ddbc9ddd67d0e952b5da889e
parentceaa69d71f757bb99b4b8a6f6af7beeafb4a9e71 (diff)
module-alsa-card: Set a minimum profile priority if it's not set
If the profile is generated from UCM, the priority won't be set so it stays as 0. Assume a card has two available profiles, when the selected one becomes unavailable, module-switch-on-port-available's find_best_profile() should pick the next available one. However, since the priority is 0, the "off" profile was chosen instead of the available one. So let's set the priority to 1 to make profile that is available has higher priority than "off" profile.
-rw-r--r--src/modules/alsa/module-alsa-card.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/modules/alsa/module-alsa-card.c b/src/modules/alsa/module-alsa-card.c
index c5852b43d..d312fb5d9 100644
--- a/src/modules/alsa/module-alsa-card.c
+++ b/src/modules/alsa/module-alsa-card.c
@@ -144,7 +144,7 @@ static void add_profiles(struct userdata *u, pa_hashmap *h, pa_hashmap *ports) {
uint32_t idx;
cp = pa_card_profile_new(ap->name, ap->description, sizeof(struct profile_data));
- cp->priority = ap->priority;
+ cp->priority = ap->priority ? ap->priority : 1;
cp->input_name = pa_xstrdup(ap->input_name);
cp->output_name = pa_xstrdup(ap->output_name);