1 /*
2  * audio_out.c
3  * Copyright (C) 2000-2002 Michel Lespinasse <walken@zoy.org>
4  * Copyright (C) 1999-2000 Aaron Holtzman <aholtzma@ess.engr.uvic.ca>
5  *
6  * This file is part of a52dec, a free ATSC A-52 stream decoder.
7  * See http://liba52.sourceforge.net/ for updates.
8  *
9  * a52dec is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * a52dec is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
22  */
23 
24 #include "config.h"
25 
26 #include <stdlib.h>
27 #include <inttypes.h>
28 
29 #include "a52.h"
30 #include "audio_out.h"
31 
32 extern ao_open_t ao_oss_open;
33 extern ao_open_t ao_ossdolby_open;
34 extern ao_open_t ao_oss4_open;
35 extern ao_open_t ao_oss6_open;
36 extern ao_open_t ao_solaris_open;
37 extern ao_open_t ao_solarisdolby_open;
38 extern ao_open_t ao_al_open;
39 extern ao_open_t ao_aldolby_open;
40 extern ao_open_t ao_al4_open;
41 extern ao_open_t ao_al6_open;
42 extern ao_open_t ao_win_open;
43 extern ao_open_t ao_windolby_open;
44 extern ao_open_t ao_wav_open;
45 extern ao_open_t ao_wavdolby_open;
46 extern ao_open_t ao_aif_open;
47 extern ao_open_t ao_aifdolby_open;
48 extern ao_open_t ao_peak_open;
49 extern ao_open_t ao_peakdolby_open;
50 extern ao_open_t ao_null_open;
51 extern ao_open_t ao_null4_open;
52 extern ao_open_t ao_null6_open;
53 extern ao_open_t ao_float_open;
54 
55 static ao_driver_t audio_out_drivers[] = {
56 #ifdef LIBAO_OSS
57     {"oss", ao_oss_open},
58     {"ossdolby", ao_ossdolby_open},
59     {"oss4", ao_oss4_open},
60     {"oss6", ao_oss6_open},
61 #endif
62 #ifdef LIBAO_SOLARIS
63     {"solaris", ao_solaris_open},
64     {"solarisdolby", ao_solarisdolby_open},
65 #endif
66 #ifdef LIBAO_AL
67     {"al", ao_al_open},
68     {"aldolby", ao_aldolby_open},
69     {"al4", ao_al4_open},
70     {"al6", ao_al6_open},
71 #endif
72 #ifdef LIBAO_WIN
73     {"win", ao_win_open},
74     {"windolby", ao_windolby_open},
75 #endif
76     {"wav", ao_wav_open},
77     {"wavdolby", ao_wavdolby_open},
78     {"aif", ao_aif_open},
79     {"aifdolby", ao_aifdolby_open},
80     {"peak", ao_peak_open},
81     {"peakdolby", ao_peakdolby_open},
82     {"null", ao_null_open},
83     {"null4", ao_null4_open},
84     {"null6", ao_null6_open},
85     {"float", ao_float_open},
86     {NULL, NULL}
87 };
88 
ao_drivers(void)89 ao_driver_t * ao_drivers (void)
90 {
91     return audio_out_drivers;
92 }
93