[alsa-devel] snd_ctl_card_info_t type does not resolve on ubuntu 11.10?
Borg Onion
borg.onion at gmail.com
Tue Nov 15 14:10:05 CET 2011
Hello,
Starting to write an ALSA app and trying to just list sound card info. The
type "snd_ctl_card_info_t" doesn't seem to resolve by just including
<alsa/asoundlib.h>. This type is needed for me to
call snd_ctl_card_info(). OS is Ubuntu 11.10 with libasound2-dev
installed. What am I doing wrong? Code is below:
#include <stdio.h>
#include <alsa/asoundlib.h>
void print_card_info(snd_ctl_card_info_t info)
{
printf("Card #=%d, id=%s, driver=%s, name=%s, longname=%s,
mixername=%s, components=%s\n",
info.card, info.id, info.driver, info.name, info.longname,
info.mixername, info.components);
}
int main(int argc, char **argv)
{
int card = -1;
char cardascii[3];
char *name, *longname;
snd_ctl_t *handle;
snd_ctl_card_info_t info;
while (snd_card_next(&card) >= 0) {
if (card < 0) {
printf("No more cards!\n");
break;
}
printf("Card %d\n", card);
if (snd_card_get_name(card, &name))
{
printf("Error getting card %d's name, skipping\n",
card);
continue;
}
printf("Name = %s\n", name);
if (snd_card_get_longname(card, &longname))
{
printf("Error getting card %d's long name,
skipping\n", card);
continue;
}
printf("Long name = %s\n", longname);
snprintf(cardascii, sizeof(cardascii), "%d", card);
if (snd_ctl_open(&handle, cardascii, 0))
{
printf("Error opening card #%d, skipping\n", card);
continue;
}
if (snd_ctl_card_info(handle, &info))
{
printf("Error getting info for card #%d,
skipping\n", card);
snd_ctl_close(handle);
continue;
}
print_card_info(info);
snd_ctl_close(handle);
}
return 0;
}
$ make
mkdir .deps
cc -O2 -std=gnu99 -Wall -Wextra -pedantic -g -c -DPREFIX=\"/usr/local\"
-Wp,-MD,.deps/list.d -o list.o list.c
list.c:4:42: error: parameter 1 (âinfoâ) has incomplete type
list.c: In function âprint_card_infoâ:
list.c:4:42: warning: unused parameter âinfoâ [-Wunused-parameter]
list.c: In function âmainâ:
list.c:16:22: error: storage size of âinfoâ isnât known
list.c:16:22: warning: unused variable âinfoâ [-Wunused-variable]
list.c:10:14: warning: unused parameter âargcâ [-Wunused-parameter]
list.c:10:27: warning: unused parameter âargvâ [-Wunused-parameter]
make: *** [list.o] Error 1
More information about the Alsa-devel
mailing list