test/testaudioinfo.c
author Sam Lantinga <slouken@libsdl.org>
Sun, 26 May 2013 11:34:04 -0700
changeset 7223 76fa20889de8
parent 7034 3a5a53435ebd
child 7434 ef8810ae03ec
permissions -rw-r--r--
Fixed compile errors building with mingw64
     1 /*
     2   Copyright (C) 1997-2011 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     printf("%s devices:\n", typestr);
    22 
    23     if (n == -1)
    24         printf("  Driver can't detect specific devices.\n\n", typestr);
    25     else if (n == 0)
    26         printf("  No %s devices found.\n\n", typestr);
    27     else {
    28         int i;
    29         for (i = 0; i < n; i++) {
    30             printf("  %s\n", SDL_GetAudioDeviceName(i, iscapture));
    31         }
    32         printf("\n");
    33     }
    34 }
    35 
    36 int
    37 main(int argc, char **argv)
    38 {
    39     int n;
    40 
    41     /* Load the SDL library */
    42     if (SDL_Init(SDL_INIT_AUDIO) < 0) {
    43         fprintf(stderr, "Couldn't initialize SDL: %s\n", SDL_GetError());
    44         return (1);
    45     }
    46 
    47     /* Print available audio drivers */
    48     n = SDL_GetNumAudioDrivers();
    49     if (n == 0) {
    50         printf("No built-in audio drivers\n\n");
    51     } else {
    52         int i;
    53         printf("Built-in audio drivers:\n");
    54         for (i = 0; i < n; ++i) {
    55             printf("  %s\n", SDL_GetAudioDriver(i));
    56         }
    57         printf("\n");
    58     }
    59 
    60     printf("Using audio driver: %s\n\n", SDL_GetCurrentAudioDriver());
    61 
    62     print_devices(0);
    63     print_devices(1);
    64 
    65     SDL_Quit();
    66     return 0;
    67 }