for (idx = 0; idx <= pcminfo.playback; idx++) {
memset(&chninfo, 0, sizeof(chninfo));
chninfo.channel = SND_PCM_CHANNEL_PLAYBACK;
- if ((err = snd_ctl_pcm_channel_info(handle, dev, idx, &chninfo)) < 0) {
+ if ((err = snd_ctl_pcm_channel_info(handle, dev, SND_PCM_CHANNEL_PLAYBACK, idx, &chninfo)) < 0) {
printf("Error: control digital audio playback info (%i): %s\n", card, snd_strerror(err));
} else {
printf(" Playback subdevice #%i: %s\n", idx, chninfo.subname);
for (idx = 0; idx <= pcminfo.capture; idx++) {
memset(&chninfo, 0, sizeof(chninfo));
chninfo.channel = SND_PCM_CHANNEL_CAPTURE;
- if ((err = snd_ctl_pcm_channel_info(handle, dev, 0, &chninfo)) < 0) {
+ if ((err = snd_ctl_pcm_channel_info(handle, dev, SND_PCM_CHANNEL_CAPTURE, 0, &chninfo)) < 0) {
printf("Error: control digital audio capture info (%i): %s\n", card, snd_strerror(err));
} else {
printf(" Capture subdevice #%i: %s\n", idx, chninfo.subname);