static void audio_getdevs(char *indevlist, int *nindevs, char *outdevlist, int *noutdevs, int *canmulti, int *cancallback, int maxndev, int devdescsize) { audio_init(); *cancallback = 0; /* may be overridden by specific API implementation */ #ifdef USEAPI_PORTAUDIO if (sys_audioapi == API_PORTAUDIO) { pa_getdevs(indevlist, nindevs, outdevlist, noutdevs, canmulti, maxndev, devdescsize); *cancallback = 1; } else #endif #ifdef USEAPI_JACK if (sys_audioapi == API_JACK) { jack_getdevs(indevlist, nindevs, outdevlist, noutdevs, canmulti, maxndev, devdescsize); *cancallback = 1; } else #endif #ifdef USEAPI_OSS if (sys_audioapi == API_OSS) { oss_getdevs(indevlist, nindevs, outdevlist, noutdevs, canmulti, maxndev, devdescsize); } else #endif #ifdef USEAPI_ALSA if (sys_audioapi == API_ALSA) { alsa_getdevs(indevlist, nindevs, outdevlist, noutdevs, canmulti, maxndev, devdescsize); } else #endif #ifdef USEAPI_MMIO if (sys_audioapi == API_MMIO) { mmio_getdevs(indevlist, nindevs, outdevlist, noutdevs, canmulti, maxndev, devdescsize); } else #endif #ifdef USEAPI_AUDIOUNIT if (sys_audioapi == API_AUDIOUNIT) { } else #endif #ifdef USEAPI_ESD if (sys_audioapi == API_ESD) { esd_getdevs(indevlist, nindevs, outdevlist, noutdevs, canmulti, maxndev, devdescsize); } else #endif #ifdef USEAPI_DUMMY if (sys_audioapi == API_DUMMY) { dummy_getdevs(indevlist, nindevs, outdevlist, noutdevs, canmulti, maxndev, devdescsize); } else #endif { /* this shouldn't happen once all the above get filled in. */ int i; *nindevs = *noutdevs = 3; for (i = 0; i < 3; i++) { sprintf(indevlist + i * devdescsize, "input device #%d", i+1); sprintf(outdevlist + i * devdescsize, "output device #%d", i+1); } *canmulti = 0; } }
static void audio_getdevs(char *indevlist, int *nindevs, char *outdevlist, int *noutdevs, int *canmulti, int maxndev, int devdescsize) { #ifdef ROCKBOX (void) maxndev; pd_audio_init(); #else audio_init(); #endif /* ROCKBOX */ #ifdef USEAPI_OSS if (sys_audioapi == API_OSS) { oss_getdevs(indevlist, nindevs, outdevlist, noutdevs, canmulti, maxndev, devdescsize); } else #endif #ifdef USEAPI_ALSA if (sys_audioapi == API_ALSA) { alsa_getdevs(indevlist, nindevs, outdevlist, noutdevs, canmulti, maxndev, devdescsize); } else #endif #ifdef USEAPI_PORTAUDIO if (sys_audioapi == API_PORTAUDIO) { pa_getdevs(indevlist, nindevs, outdevlist, noutdevs, canmulti, maxndev, devdescsize); } else #endif #ifdef USEAPI_MMIO if (sys_audioapi == API_MMIO) { mmio_getdevs(indevlist, nindevs, outdevlist, noutdevs, canmulti, maxndev, devdescsize); } else #endif #ifdef USEAPI_ROCKBOX if (sys_audioapi == API_ROCKBOX) { /* Rockbox devices are known in advance. (?) */ } else #endif { /* this shouldn't happen once all the above get filled in. */ int i; *nindevs = *noutdevs = 3; for (i = 0; i < 3; i++) { sprintf(indevlist + i * devdescsize, "input device #%d", i+1); sprintf(outdevlist + i * devdescsize, "output device #%d", i+1); } *canmulti = 0; } }