diff options
Diffstat (limited to 'hw/aud.c')
-rw-r--r-- | hw/aud.c | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/hw/aud.c b/hw/aud.c deleted file mode 100644 index ade60cb..0000000 --- a/hw/aud.c +++ /dev/null @@ -1,77 +0,0 @@ -#include "aud.h" - -#if def(OS_LINUX) -//harc-copy from aplay.c static void device_list(void) -int audio_get_devices() -{ - snd_pcm_stream_t stream = SND_PCM_STREAM_PLAYBACK; - - snd_ctl_t *handle; - int card, err, dev, idx; - snd_ctl_card_info_t *info; - snd_pcm_info_t *pcminfo; - snd_ctl_card_info_alloca(&info); - snd_pcm_info_alloca(&pcminfo); - - card = -1; - if (snd_card_next(&card) < 0 || card < 0) { - printf("no soundcards found...\n"); - return -1; - } - printf("**** List of %s Hardware Devices ****\n", - snd_pcm_stream_name(stream)); - while (card >= 0) { - char name[32]; - sprintf(name, "hw:%d", card); - if ((err = snd_ctl_open(&handle, name, 0)) < 0) { - printf("control open (%i): %s\n", card, snd_strerror(err)); - goto next_card; - } - if ((err = snd_ctl_card_info(handle, info)) < 0) { - printf("control hardware info (%i): %s\n", card, snd_strerror(err)); - snd_ctl_close(handle); - goto next_card; - } - dev = -1; - while (1) { - unsigned int count; - if (snd_ctl_pcm_next_device(handle, &dev)<0) - printf("snd_ctl_pcm_next_device\n"); - if (dev < 0) - break; - snd_pcm_info_set_device(pcminfo, dev); - snd_pcm_info_set_subdevice(pcminfo, 0); - snd_pcm_info_set_stream(pcminfo, stream); - if ((err = snd_ctl_pcm_info(handle, pcminfo)) < 0) { - if (err != -ENOENT) - printf("control digital audio info (%i): %s\n", card, snd_strerror(err)); - continue; - } - printf("card %i: %s [%s], device %i: %s [%s]\n", - card, snd_ctl_card_info_get_id(info), snd_ctl_card_info_get_name(info), - dev, - snd_pcm_info_get_id(pcminfo), - snd_pcm_info_get_name(pcminfo)); - count = snd_pcm_info_get_subdevices_count(pcminfo); - printf( " Subdevices: %i/%i\n", - snd_pcm_info_get_subdevices_avail(pcminfo), count); - for (idx = 0; idx < (int)count; idx++) { - snd_pcm_info_set_subdevice(pcminfo, idx); - if ((err = snd_ctl_pcm_info(handle, pcminfo)) < 0) { - printf("control digital audio playback info (%i): %s\n", card, snd_strerror(err)); - } else { - printf(" Subdevice #%d: %s\n", - idx, snd_pcm_info_get_subdevice_name(pcminfo)); - } - } - } - snd_ctl_close(handle); - next_card: - if (snd_card_next(&card) < 0) { - printf("snd_card_next\n"); - break; - } - } - return 0; -} -#endif |