Mercurial > sdl-ios-xcode
annotate test/testaudioinfo.c @ 3656:f17ea6f49745
Assume _exit() is available. It may be, even if unix isn't defined.
If we really have to, we can add a configure check for it.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Wed, 13 Jan 2010 08:30:34 +0000 |
parents | 5ea5e4e6103f |
children |
rev | line source |
---|---|
3338 | 1 #include <stdio.h> |
2049
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
2 #include "SDL.h" |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
3 |
2060 | 4 static void |
5 print_devices(int iscapture) | |
2049
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
6 { |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
7 const char *typestr = ((iscapture) ? "capture" : "output"); |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
8 int n = SDL_GetNumAudioDevices(iscapture); |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
9 |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
10 printf("%s devices:\n", typestr); |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
11 |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
12 if (n == -1) |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
13 printf(" Driver can't detect specific devices.\n\n", typestr); |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
14 else if (n == 0) |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
15 printf(" No %s devices found.\n\n", typestr); |
2060 | 16 else { |
2049
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
17 int i; |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
18 for (i = 0; i < n; i++) { |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
19 printf(" %s\n", SDL_GetAudioDeviceName(i, iscapture)); |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
20 } |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
21 printf("\n"); |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
22 } |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
23 } |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
24 |
2060 | 25 int |
26 main(int argc, char **argv) | |
2049
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
27 { |
3635
5ea5e4e6103f
Call SDL_Init() before SDL_GetNumAudioDrivers().
Ryan C. Gordon <icculus@icculus.org>
parents:
3338
diff
changeset
|
28 /* Load the SDL library */ |
5ea5e4e6103f
Call SDL_Init() before SDL_GetNumAudioDrivers().
Ryan C. Gordon <icculus@icculus.org>
parents:
3338
diff
changeset
|
29 if (SDL_Init(SDL_INIT_AUDIO) < 0) { |
5ea5e4e6103f
Call SDL_Init() before SDL_GetNumAudioDrivers().
Ryan C. Gordon <icculus@icculus.org>
parents:
3338
diff
changeset
|
30 fprintf(stderr, "Couldn't initialize SDL: %s\n", SDL_GetError()); |
5ea5e4e6103f
Call SDL_Init() before SDL_GetNumAudioDrivers().
Ryan C. Gordon <icculus@icculus.org>
parents:
3338
diff
changeset
|
31 return (1); |
5ea5e4e6103f
Call SDL_Init() before SDL_GetNumAudioDrivers().
Ryan C. Gordon <icculus@icculus.org>
parents:
3338
diff
changeset
|
32 } |
5ea5e4e6103f
Call SDL_Init() before SDL_GetNumAudioDrivers().
Ryan C. Gordon <icculus@icculus.org>
parents:
3338
diff
changeset
|
33 |
2049
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
34 /* Print available audio drivers */ |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
35 int n = SDL_GetNumAudioDrivers(); |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
36 if (n == 0) { |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
37 printf("No built-in audio drivers\n\n"); |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
38 } else { |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
39 int i; |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
40 printf("Built-in audio drivers:\n"); |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
41 for (i = 0; i < n; ++i) { |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
42 printf(" %s\n", SDL_GetAudioDriver(i)); |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
43 } |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
44 printf("\n"); |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
45 } |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
46 |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
47 printf("Using audio driver: %s\n\n", SDL_GetCurrentAudioDriver()); |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
48 |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
49 print_devices(0); |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
50 print_devices(1); |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
51 |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
52 SDL_Quit(); |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
53 return 0; |
5f6550e5184f
Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff
changeset
|
54 } |