alsa-ucm: use ucm2 name for the direct card index open

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Jaroslav Kysela 2019-11-23 15:17:30 +01:00 committed by Arun Raghavan
parent 1ee1f749e1
commit c8f065250d

View file

@ -576,7 +576,14 @@ int pa_alsa_ucm_query_profiles(pa_alsa_ucm_config *ucm, int card_index) {
const char **verb_list;
int num_verbs, i, err = 0;
/* is UCM available for this card ? */
/* support multiple card instances, address card directly by index */
card_name = pa_sprintf_malloc("hw:%i", card_index);
if (card_name == NULL)
return -ENOMEM;
err = snd_use_case_mgr_open(&ucm->ucm_mgr, card_name);
if (err < 0) {
/* fallback longname: is UCM available for this card ? */
pa_xfree(card_name);
err = snd_card_get_name(card_index, &card_name);
if (err < 0) {
pa_log("Card can't get card_name from card_index %d", card_index);
@ -588,6 +595,7 @@ int pa_alsa_ucm_query_profiles(pa_alsa_ucm_config *ucm, int card_index) {
pa_log_info("UCM not available for card %s", card_name);
goto ucm_mgr_fail;
}
}
pa_log_info("UCM available for card %s", card_name);
@ -626,7 +634,7 @@ ucm_verb_fail:
}
ucm_mgr_fail:
free(card_name);
pa_xfree(card_name);
name_fail:
return err;