annotate libao2/audio_out.h @ 26539:d572ecfb34ae

Make sure all autogenerated .h and .c files exist in the vidix subdirectory before trying to create object or dependency files there.
author diego
date Mon, 28 Apr 2008 13:28:36 +0000
parents 4129c8cfa742
children e45b08f2f5d3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25913
diff changeset
1 #ifndef MPLAYER_AUDIO_OUT_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25913
diff changeset
2 #define MPLAYER_AUDIO_OUT_H
6795
776b686069af - add some control (ao_oss, pl_extrastereo)
pontscho
parents: 6026
diff changeset
3
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
4 typedef struct ao_info_s
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
5 {
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
6 /* driver name ("Matrox Millennium G200/G400" */
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
7 const char *name;
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
8 /* short name (for config strings) ("mga") */
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
9 const char *short_name;
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
10 /* author ("Aaron Holtzman <aholtzma@ess.engr.uvic.ca>") */
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
11 const char *author;
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
12 /* any additional comments */
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
13 const char *comment;
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
14 } ao_info_t;
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
15
3095
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
16 /* 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
17 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
18 {
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
19 ao_info_t *info;
9633
12b1790038b0 64bit libao2 fix by Jens Axboe <mplayer-dev@kernel.dk>
alex
parents: 7563
diff changeset
20 int (*control)(int cmd,void *arg);
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
21 int (*init)(int rate,int channels,int format,int flags);
12145
99798c3cdb93 uninit immed flag
alex
parents: 9633
diff changeset
22 void (*uninit)(int immed);
17566
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 14618
diff changeset
23 void (*reset)(void);
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 14618
diff changeset
24 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
25 int (*play)(void* data,int len,int flags);
17566
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 14618
diff changeset
26 float (*get_delay)(void);
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 14618
diff changeset
27 void (*pause)(void);
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 14618
diff changeset
28 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
29 } ao_functions_t;
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
30
3095
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
31 /* global data used by mplayer and plugins */
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
32 typedef struct ao_data_s
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
33 {
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
34 int samplerate;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
35 int channels;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
36 int format;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
37 int bps;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
38 int outburst;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
39 int buffersize;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
40 int pts;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
41 } ao_data_t;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
42
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
43 extern char *ao_subdevice;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
44 extern ao_data_t ao_data;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
45
17566
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 14618
diff changeset
46 void list_audio_out(void);
25913
21a1dc062bc5 ao_functions_t should be const, part 1
reimar
parents: 25535
diff changeset
47 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
48
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
49 // NULL terminated array of all drivers
25913
21a1dc062bc5 ao_functions_t should be const, part 1
reimar
parents: 25535
diff changeset
50 extern const ao_functions_t* const audio_out_drivers[];
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
51
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
52 #define CONTROL_OK 1
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
53 #define CONTROL_TRUE 1
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
54 #define CONTROL_FALSE 0
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
55 #define CONTROL_UNKNOWN -1
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
56 #define CONTROL_ERROR -2
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
57 #define CONTROL_NA -3
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
58
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
59 #define AOCONTROL_SET_DEVICE 1
1048
48cf588e2c90 uj aocontrol valtozok
al3x
parents: 1038
diff changeset
60 #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
61 #define AOCONTROL_QUERY_FORMAT 3 /* test for availabilty of a format */
1048
48cf588e2c90 uj aocontrol valtozok
al3x
parents: 1038
diff changeset
62 #define AOCONTROL_GET_VOLUME 4
48cf588e2c90 uj aocontrol valtozok
al3x
parents: 1038
diff changeset
63 #define AOCONTROL_SET_VOLUME 5
3107
ef2287ccc42b Changes to audio out plugin, first plugin added
anders
parents: 3095
diff changeset
64 #define AOCONTROL_SET_PLUGIN_DRIVER 6
ef2287ccc42b Changes to audio out plugin, first plugin added
anders
parents: 3095
diff changeset
65 #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
66
18735
93dd2847bcdc Rewrite audio EOF handling logic fixing some problems that could cause
uau
parents: 17566
diff changeset
67 #define AOPLAY_FINAL_CHUNK 1
93dd2847bcdc Rewrite audio EOF handling logic fixing some problems that could cause
uau
parents: 17566
diff changeset
68
1127
ca1bc9edf735 audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents: 1048
diff changeset
69 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
70 float left;
ca1bc9edf735 audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents: 1048
diff changeset
71 float right;
ca1bc9edf735 audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents: 1048
diff changeset
72 } ao_control_vol_t;
3107
ef2287ccc42b Changes to audio out plugin, first plugin added
anders
parents: 3095
diff changeset
73
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25913
diff changeset
74 #endif /* MPLAYER_AUDIO_OUT_H */