Home | History | Annotate | Download | only in test
      1 /*
      2   Copyright (C) 1997-2014 Sam Lantinga <slouken (at) 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 */
     42     SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO);
     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 */
     51     n = SDL_GetNumAudioDrivers();
     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 }
     71