From b35b9f950e9aaf3a925760be7b116f9aea297a61 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Tue, 2 Aug 2016 13:38:56 -0400 Subject: [PATCH] testaudiocapture: Let specific devices be opened. --- test/testaudiocapture.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/test/testaudiocapture.c b/test/testaudiocapture.c index ce96c61001a4d..30742f96b36f2 100644 --- a/test/testaudiocapture.c +++ b/test/testaudiocapture.c @@ -108,6 +108,11 @@ loop() int main(int argc, char **argv) { + /* (argv[1] == NULL means "open default device.") */ + const char *devname = argv[1]; + int devcount; + int i; + /* Enable standard application logging */ SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO); @@ -124,6 +129,11 @@ main(int argc, char **argv) SDL_Log("Using audio driver: %s\n", SDL_GetCurrentAudioDriver()); + devcount = SDL_GetNumAudioDevices(SDL_TRUE); + for (i = 0; i < devcount; i++) { + SDL_Log(" Capture device #%d: '%s'\n", i, SDL_GetAudioDeviceName(i, SDL_TRUE)); + } + SDL_zero(spec); spec.freq = 44100; spec.format = AUDIO_F32SYS; @@ -139,7 +149,12 @@ main(int argc, char **argv) return 1; } - devid = SDL_OpenAudioDevice(NULL, 1, &spec, &spec, 0); + SDL_Log("Opening device %s%s%s...\n", + devname ? "'" : "", + devname ? devname : "[[default]]", + devname ? "'" : ""); + + devid = SDL_OpenAudioDevice(argv[1], SDL_TRUE, &spec, &spec, 0); if (!devid) { SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't open an audio device for capture: %s!\n", SDL_GetError()); SDL_free(sound);