SDL  2.0
testaudioinfo.c
Go to the documentation of this file.
1 /*
2  Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
3 
4  This software is provided 'as-is', without any express or implied
5  warranty. In no event will the authors be held liable for any damages
6  arising from the use of this software.
7 
8  Permission is granted to anyone to use this software for any purpose,
9  including commercial applications, and to alter it and redistribute it
10  freely.
11 */
12 #include <stdio.h>
13 #include "SDL.h"
14 
15 static void
16 print_devices(int iscapture)
17 {
18  const char *typestr = ((iscapture) ? "capture" : "output");
19  int n = SDL_GetNumAudioDevices(iscapture);
20 
21  SDL_Log("%s devices:\n", typestr);
22 
23  if (n == -1)
24  SDL_Log(" Driver can't detect specific %s devices.\n\n", typestr);
25  else if (n == 0)
26  SDL_Log(" No %s devices found.\n\n", typestr);
27  else {
28  int i;
29  for (i = 0; i < n; i++) {
30  SDL_Log(" %s\n", SDL_GetAudioDeviceName(i, iscapture));
31  }
32  SDL_Log("\n");
33  }
34 }
35 
36 int
37 main(int argc, char **argv)
38 {
39  int n;
40 
41  /* Enable standard application logging */
43 
44  /* Load the SDL library */
45  if (SDL_Init(SDL_INIT_AUDIO) < 0) {
46  SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't initialize SDL: %s\n", SDL_GetError());
47  return (1);
48  }
49 
50  /* Print available audio drivers */
52  if (n == 0) {
53  SDL_Log("No built-in audio drivers\n\n");
54  } else {
55  int i;
56  SDL_Log("Built-in audio drivers:\n");
57  for (i = 0; i < n; ++i) {
58  SDL_Log(" %s\n", SDL_GetAudioDriver(i));
59  }
60  SDL_Log("\n");
61  }
62 
63  SDL_Log("Using audio driver: %s\n\n", SDL_GetCurrentAudioDriver());
64 
65  print_devices(0);
66  print_devices(1);
67 
68  SDL_Quit();
69  return 0;
70 }
#define SDL_GetNumAudioDrivers
#define SDL_GetNumAudioDevices
#define SDL_GetError
GLdouble n
#define SDL_LogError
#define SDL_GetAudioDeviceName
#define SDL_Log
#define SDL_Quit
#define SDL_GetAudioDriver
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int in i)
Definition: SDL_x11sym.h:42
#define SDL_LogSetPriority
#define SDL_GetCurrentAudioDriver
#define SDL_INIT_AUDIO
Definition: SDL.h:76
int main(int argc, char **argv)
Definition: testaudioinfo.c:37
#define SDL_Init
static void print_devices(int iscapture)
Definition: testaudioinfo.c:16