mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	alsa-ucm: use ucm2 name for the direct card index open
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
		
							parent
							
								
									1ee1f749e1
								
							
						
					
					
						commit
						c8f065250d
					
				
					 1 changed files with 18 additions and 10 deletions
				
			
		| 
						 | 
					@ -576,7 +576,14 @@ int pa_alsa_ucm_query_profiles(pa_alsa_ucm_config *ucm, int card_index) {
 | 
				
			||||||
    const char **verb_list;
 | 
					    const char **verb_list;
 | 
				
			||||||
    int num_verbs, i, err = 0;
 | 
					    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);
 | 
					        err = snd_card_get_name(card_index, &card_name);
 | 
				
			||||||
        if (err < 0) {
 | 
					        if (err < 0) {
 | 
				
			||||||
            pa_log("Card can't get card_name from card_index %d", card_index);
 | 
					            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);
 | 
					            pa_log_info("UCM not available for card %s", card_name);
 | 
				
			||||||
            goto ucm_mgr_fail;
 | 
					            goto ucm_mgr_fail;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pa_log_info("UCM available for card %s", card_name);
 | 
					    pa_log_info("UCM available for card %s", card_name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -626,7 +634,7 @@ ucm_verb_fail:
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ucm_mgr_fail:
 | 
					ucm_mgr_fail:
 | 
				
			||||||
    free(card_name);
 | 
					    pa_xfree(card_name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
name_fail:
 | 
					name_fail:
 | 
				
			||||||
    return err;
 | 
					    return err;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue