]> git.alsa-project.org Git - alsa-utils.git/commitdiff
alsaucm: use the first sound card (use case name 'hw:CARDNO') as default
authorJaroslav Kysela <perex@perex.cz>
Mon, 25 Nov 2019 16:58:51 +0000 (17:58 +0100)
committerJaroslav Kysela <perex@perex.cz>
Mon, 25 Nov 2019 17:01:33 +0000 (18:01 +0100)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
alsaucm/go.sh
alsaucm/usecase.c

index 2aadd1c3d00c659179a6a2ae05c9245038a79672..2e7d2041f4411a84ee7a46ae00b05e33c32e302b 100755 (executable)
@@ -1,7 +1,10 @@
 #!/bin/bash
 
 #GDB="gdb --args"
+#GDB="strace"
+#GDB="valgrind --leak-check=yes --show-reachable=yes"
 
-ALSA_CONFIG_UCM="$HOME/alsa/alsa-lib/test/ucm" \
+#ALSA_CONFIG_UCM="$HOME/alsa/alsa-ucm-conf/ucm" \
+ALSA_CONFIG_UCM2="$HOME/alsa/alsa-ucm-conf/ucm2" \
 LD_PRELOAD="$HOME/alsa/alsa-lib/src/.libs/libasound.so" \
 $GDB ./alsaucm "$@"
index 7677422ab84b7240b8db0562c73410858fe49c7c..8b1c8c7182a0bad0d4eabf199116429343bff1b8 100644 (file)
@@ -188,22 +188,19 @@ static void my_exit(struct context *context, int exitcode)
 
 static void do_initial_open(struct context *context)
 {
-       const char **list;
-       int err;
+       int card, err;
+       char name[16];
 
        if (!context->no_open && context->card == NULL) {
-               err = snd_use_case_card_list(&list);
+               card = -1;
+               err = snd_card_next(&card);
                if (err < 0) {
-                       fprintf(stderr, "%s: unable to obtain card list: %s\n",
+                       fprintf(stderr, "%s: no sound card found: %s\n",
                                        context->command, snd_strerror(err));
                        my_exit(context, EXIT_FAILURE);
                }
-               if (err == 0) {
-                       printf("No card found\n");
-                       my_exit(context, EXIT_SUCCESS);
-               }
-               context->card = strdup(list[0]);
-               snd_use_case_free_list(list, err);
+               snprintf(name, sizeof(name), "hw:%d", card);
+               context->card = strdup(name);
        }
 
        /* open library */