[alsa-devel] [PATCH] alsa-lib: if card driver name is empty string, use card name instead
Scott Jiang
scott.jiang.linux at gmail.com
Tue Sep 20 19:15:44 CEST 2011
Some drivers don't have a card driver name, but they have a nice card name containing enough info.
So we can use card name to search card config if we found driver name is not valid.
Signed-off-by: Scott Jiang <scott.jiang.linux at gmail.com>
---
src/confmisc.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/src/confmisc.c b/src/confmisc.c
index 80b0027..3c4b5aa 100644
--- a/src/confmisc.c
+++ b/src/confmisc.c
@@ -666,6 +666,7 @@ int snd_determine_driver(int card, char **driver)
snd_ctl_t *ctl = NULL;
snd_ctl_card_info_t *info;
char *res = NULL;
+ const char *name = NULL;
int err;
assert(card >= 0 && card <= 32);
@@ -680,7 +681,12 @@ int snd_determine_driver(int card, char **driver)
SNDERR("snd_ctl_card_info error: %s", snd_strerror(err));
goto __error;
}
- res = strdup(snd_ctl_card_info_get_driver(info));
+ name = snd_ctl_card_info_get_driver(info);
+ /* if card driver name is empty string, try to use card name */
+ if (name[0] == '\0')
+ name = snd_ctl_card_info_get_name(info);
+
+ res = strdup(name);
if (res == NULL)
err = -ENOMEM;
else {
--
1.7.0.4
More information about the Alsa-devel
mailing list