Mercurial > sdl-ios-xcode
diff test/automated/audio/audio.c @ 3259:22ac66da0765
Merged Edgar's code changes from Google Summer of Code 2009
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 07 Sep 2009 05:06:34 +0000 |
parents | |
children | c32c53fca10d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/automated/audio/audio.c Mon Sep 07 05:06:34 2009 +0000 @@ -0,0 +1,89 @@ +/** + * Automated SDL_RWops test. + * + * Written by Edgar Simo "bobbens" + * + * Released under Public Domain. + */ + + +#include "SDL.h" +#include "SDL_at.h" + + +/** + * @brief Prints available devices. + */ +static int audio_printDevices( int iscapture ) +{ + int i, n; + + /* Get number of devices. */ + n = SDL_GetNumAudioDevices(iscapture); + SDL_ATprintVerbose( 1, "%d %s Audio Devices\n", + n, iscapture ? "Capture" : "Output" ); + + /* List devices. */ + for (i=0; i<n; i++) { + SDL_ATprintVerbose( 1, " %d) %s\n", i+1, SDL_GetAudioDeviceName( i, iscapture ) ); + } + + return 0; +} + + +/** + * @brief Makes sure parameters work properly. + */ +static void audio_testOpen (void) +{ + int i, n; + int ret; + + /* Begin testcase. */ + SDL_ATbegin( "Audio Open" ); + + /* List drivers. */ + n = SDL_GetNumAudioDrivers(); + SDL_ATprintVerbose( 1, "%d Audio Drivers\n", n ); + for (i=0; i<n; i++) { + SDL_ATprintVerbose( 1, " %s\n", SDL_GetAudioDriver(i) ); + } + + /* Start SDL. */ + ret = SDL_Init( SDL_INIT_AUDIO ); + if (SDL_ATvassert( ret==0, "SDL_Init( SDL_INIT_AUDIO ): %s", SDL_GetError())) + return; + + /* Print devices. */ + SDL_ATprintVerbose( 1, "Using Audio Driver '%s'\n", SDL_GetCurrentAudioDriver() ); + audio_printDevices(0); + audio_printDevices(1); + + /* Quit SDL. */ + SDL_Quit(); + + /* End testcase. */ + SDL_ATend(); +} + + +/** + * @brief Entry point. + */ +#ifdef TEST_STANDALONE +int main( int argc, const char *argv[] ) +{ + (void) argc; + (void) argv; +#else /* TEST_STANDALONE */ +int test_audio (void) +{ +#endif /* TEST_STANDALONE */ + + SDL_ATinit( "SDL_Audio" ); + + audio_testOpen(); + + return SDL_ATfinish(); +}