Mercurial > mplayer.hg
annotate libao2/audio_out.h @ 32938:29ce708287dd
Reduce item arrays to reasonable size.
The current maximum of items used in skins is 46 (for main), 27 (for bar)
and 15 (for menu), so 64 seems to be a reasonable value.
The symbolic constant will allow to check for out-of-bounds array access later
(which currently isn't performed) and issue an appropriate error message.
author | ib |
---|---|
date | Fri, 04 Mar 2011 13:58:48 +0000 |
parents | 986892228d92 |
children | 1ce66378ae1e |
rev | line source |
---|---|
28343 | 1 /* |
2 * This file is part of MPlayer. | |
3 * | |
4 * MPlayer is free software; you can redistribute it and/or modify | |
5 * it under the terms of the GNU General Public License as published by | |
6 * the Free Software Foundation; either version 2 of the License, or | |
7 * (at your option) any later version. | |
8 * | |
9 * MPlayer is distributed in the hope that it will be useful, | |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 * GNU General Public License for more details. | |
13 * | |
14 * You should have received a copy of the GNU General Public License along | |
15 * with MPlayer; if not, write to the Free Software Foundation, Inc., | |
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
17 */ | |
18 | |
26029 | 19 #ifndef MPLAYER_AUDIO_OUT_H |
20 #define MPLAYER_AUDIO_OUT_H | |
6795 | 21 |
954 | 22 typedef struct ao_info_s |
23 { | |
24 /* driver name ("Matrox Millennium G200/G400" */ | |
25 const char *name; | |
26 /* short name (for config strings) ("mga") */ | |
27 const char *short_name; | |
28 /* author ("Aaron Holtzman <aholtzma@ess.engr.uvic.ca>") */ | |
29 const char *author; | |
30 /* any additional comments */ | |
31 const char *comment; | |
32 } ao_info_t; | |
33 | |
3095 | 34 /* interface towards mplayer and */ |
1127
ca1bc9edf735
audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents:
1048
diff
changeset
|
35 typedef struct ao_functions_s |
ca1bc9edf735
audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents:
1048
diff
changeset
|
36 { |
28823 | 37 const ao_info_t *info; |
9633
12b1790038b0
64bit libao2 fix by Jens Axboe <mplayer-dev@kernel.dk>
alex
parents:
7563
diff
changeset
|
38 int (*control)(int cmd,void *arg); |
954 | 39 int (*init)(int rate,int channels,int format,int flags); |
12145 | 40 void (*uninit)(int immed); |
17566
f580a7755ac5
Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents:
14618
diff
changeset
|
41 void (*reset)(void); |
f580a7755ac5
Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents:
14618
diff
changeset
|
42 int (*get_space)(void); |
1127
ca1bc9edf735
audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents:
1048
diff
changeset
|
43 int (*play)(void* data,int len,int flags); |
17566
f580a7755ac5
Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents:
14618
diff
changeset
|
44 float (*get_delay)(void); |
f580a7755ac5
Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents:
14618
diff
changeset
|
45 void (*pause)(void); |
f580a7755ac5
Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents:
14618
diff
changeset
|
46 void (*resume)(void); |
1127
ca1bc9edf735
audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents:
1048
diff
changeset
|
47 } ao_functions_t; |
954 | 48 |
3095 | 49 /* global data used by mplayer and plugins */ |
31178 | 50 typedef struct ao_data { |
3095 | 51 int samplerate; |
52 int channels; | |
53 int format; | |
54 int bps; | |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
28823
diff
changeset
|
55 int outburst; |
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
28823
diff
changeset
|
56 int buffersize; |
3095 | 57 int pts; |
58 } ao_data_t; | |
59 | |
60 extern char *ao_subdevice; | |
61 extern ao_data_t ao_data; | |
62 | |
17566
f580a7755ac5
Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents:
14618
diff
changeset
|
63 void list_audio_out(void); |
25913 | 64 const ao_functions_t* init_best_audio_out(char** ao_list,int use_plugin,int rate,int channels,int format,int flags); |
7563
e9e4398029de
audio out driver list support (example: -ao alsa9,sdl:esd,oss,sdl:oss,)
arpi
parents:
6795
diff
changeset
|
65 |
954 | 66 // NULL terminated array of all drivers |
25913 | 67 extern const ao_functions_t* const audio_out_drivers[]; |
954 | 68 |
69 #define CONTROL_OK 1 | |
70 #define CONTROL_TRUE 1 | |
71 #define CONTROL_FALSE 0 | |
72 #define CONTROL_UNKNOWN -1 | |
73 #define CONTROL_ERROR -2 | |
74 #define CONTROL_NA -3 | |
75 | |
76 #define AOCONTROL_SET_DEVICE 1 | |
1048 | 77 #define AOCONTROL_GET_DEVICE 2 |
1127
ca1bc9edf735
audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents:
1048
diff
changeset
|
78 #define AOCONTROL_QUERY_FORMAT 3 /* test for availabilty of a format */ |
1048 | 79 #define AOCONTROL_GET_VOLUME 4 |
80 #define AOCONTROL_SET_VOLUME 5 | |
3107 | 81 #define AOCONTROL_SET_PLUGIN_DRIVER 6 |
82 #define AOCONTROL_SET_PLUGIN_LIST 7 | |
1127
ca1bc9edf735
audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents:
1048
diff
changeset
|
83 |
18735
93dd2847bcdc
Rewrite audio EOF handling logic fixing some problems that could cause
uau
parents:
17566
diff
changeset
|
84 #define AOPLAY_FINAL_CHUNK 1 |
93dd2847bcdc
Rewrite audio EOF handling logic fixing some problems that could cause
uau
parents:
17566
diff
changeset
|
85 |
1127
ca1bc9edf735
audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents:
1048
diff
changeset
|
86 typedef struct ao_control_vol_s { |
ca1bc9edf735
audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents:
1048
diff
changeset
|
87 float left; |
ca1bc9edf735
audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents:
1048
diff
changeset
|
88 float right; |
ca1bc9edf735
audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents:
1048
diff
changeset
|
89 } ao_control_vol_t; |
3107 | 90 |
26029 | 91 #endif /* MPLAYER_AUDIO_OUT_H */ |