mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-10-29 05:40:25 -04:00 
			
		
		
		
	Added 'snd_card_get_name' & 'snd_card_get_longname'.
This commit is contained in:
		
							parent
							
								
									dc490583b2
								
							
						
					
					
						commit
						0f0ce09509
					
				
					 2 changed files with 45 additions and 0 deletions
				
			
		|  | @ -22,6 +22,8 @@ int snd_card_load(int card); | |||
| int snd_cards(void); | ||||
| unsigned int snd_cards_mask(void); | ||||
| int snd_card_name(const char *name); | ||||
| int snd_card_get_name(int card, char **name); | ||||
| int snd_card_get_longname(int card, char **name); | ||||
| 
 | ||||
| int snd_defaults_card(void); | ||||
| int snd_defaults_mixer_card(void); | ||||
|  |  | |||
|  | @ -22,6 +22,7 @@ | |||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <unistd.h> | ||||
| #include <string.h> | ||||
| #include <errno.h> | ||||
| #include <ctype.h> | ||||
| #include <fcntl.h> | ||||
|  | @ -126,3 +127,45 @@ int snd_card_name(const char *string) | |||
| 	} | ||||
| 	return -ENODEV; | ||||
| } | ||||
| 
 | ||||
| int snd_card_get_name(int card, char **name) | ||||
| { | ||||
| 	snd_ctl_t *handle; | ||||
| 	struct snd_ctl_hw_info info; | ||||
| 	int err; | ||||
| 	 | ||||
| 	if (name == NULL) | ||||
| 		return -EINVAL; | ||||
| 	if ((err = snd_ctl_open(&handle, card)) < 0) | ||||
| 		return err; | ||||
| 	if ((err = snd_ctl_hw_info(handle, &info)) < 0) { | ||||
| 		snd_ctl_close(handle); | ||||
| 		return err; | ||||
| 	} | ||||
| 	snd_ctl_close(handle); | ||||
| 	*name = strdup(info.name); | ||||
| 	if (*name == NULL) | ||||
| 		return -ENOMEM; | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| int snd_card_get_longname(int card, char **name) | ||||
| { | ||||
| 	snd_ctl_t *handle; | ||||
| 	struct snd_ctl_hw_info info; | ||||
| 	int err; | ||||
| 	 | ||||
| 	if (name == NULL) | ||||
| 		return -EINVAL; | ||||
| 	if ((err = snd_ctl_open(&handle, card)) < 0) | ||||
| 		return err; | ||||
| 	if ((err = snd_ctl_hw_info(handle, &info)) < 0) { | ||||
| 		snd_ctl_close(handle); | ||||
| 		return err; | ||||
| 	} | ||||
| 	snd_ctl_close(handle); | ||||
| 	*name = strdup(info.longname); | ||||
| 	if (*name == NULL) | ||||
| 		return -ENOMEM; | ||||
| 	return 0; | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Jaroslav Kysela
						Jaroslav Kysela