annotate libao2/audio_out.h @ 18188:2a3ee651bba7

Make the sse CPU flag imply mmxext, Intel CPUs with SSE support mmxext without reporting it in the list of CPU flags.
author diego
date Sat, 22 Apr 2006 14:13:14 +0000
parents f580a7755ac5
children 93dd2847bcdc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6795
776b686069af - add some control (ao_oss, pl_extrastereo)
pontscho
parents: 6026
diff changeset
1
776b686069af - add some control (ao_oss, pl_extrastereo)
pontscho
parents: 6026
diff changeset
2 #ifndef __AUDIO_OUT_H
776b686069af - add some control (ao_oss, pl_extrastereo)
pontscho
parents: 6026
diff changeset
3 #define __AUDIO_OUT_H
776b686069af - add some control (ao_oss, pl_extrastereo)
pontscho
parents: 6026
diff changeset
4
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
5 typedef struct ao_info_s
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
6 {
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
7 /* driver name ("Matrox Millennium G200/G400" */
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
8 const char *name;
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
9 /* short name (for config strings) ("mga") */
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
10 const char *short_name;
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
11 /* author ("Aaron Holtzman <aholtzma@ess.engr.uvic.ca>") */
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
12 const char *author;
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
13 /* any additional comments */
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
14 const char *comment;
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
15 } ao_info_t;
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
16
3095
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
17 /* 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
18 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
19 {
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
20 ao_info_t *info;
9633
12b1790038b0 64bit libao2 fix by Jens Axboe <mplayer-dev@kernel.dk>
alex
parents: 7563
diff changeset
21 int (*control)(int cmd,void *arg);
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
22 int (*init)(int rate,int channels,int format,int flags);
12145
99798c3cdb93 uninit immed flag
alex
parents: 9633
diff changeset
23 void (*uninit)(int immed);
17566
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 14618
diff changeset
24 void (*reset)(void);
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 14618
diff changeset
25 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
26 int (*play)(void* data,int len,int flags);
17566
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 14618
diff changeset
27 float (*get_delay)(void);
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 14618
diff changeset
28 void (*pause)(void);
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 14618
diff changeset
29 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
30 } ao_functions_t;
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
31
3095
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
32 /* global data used by mplayer and plugins */
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
33 typedef struct ao_data_s
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
34 {
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
35 int samplerate;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
36 int channels;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
37 int format;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
38 int bps;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
39 int outburst;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
40 int buffersize;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
41 int pts;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
42 } ao_data_t;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
43
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
44 extern char *ao_subdevice;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
45 extern ao_data_t ao_data;
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
46
17566
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 14618
diff changeset
47 void list_audio_out(void);
7563
e9e4398029de audio out driver list support (example: -ao alsa9,sdl:esd,oss,sdl:oss,)
arpi
parents: 6795
diff changeset
48 ao_functions_t* init_best_audio_out(char** ao_list,int use_plugin,int rate,int channels,int format,int flags);
e9e4398029de audio out driver list support (example: -ao alsa9,sdl:esd,oss,sdl:oss,)
arpi
parents: 6795
diff changeset
49
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
50 // NULL terminated array of all drivers
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
51 extern ao_functions_t* audio_out_drivers[];
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
52
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
53 #define CONTROL_OK 1
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
54 #define CONTROL_TRUE 1
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
55 #define CONTROL_FALSE 0
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
56 #define CONTROL_UNKNOWN -1
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
57 #define CONTROL_ERROR -2
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
58 #define CONTROL_NA -3
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
59
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
60 #define AOCONTROL_SET_DEVICE 1
1048
48cf588e2c90 uj aocontrol valtozok
al3x
parents: 1038
diff changeset
61 #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
62 #define AOCONTROL_QUERY_FORMAT 3 /* test for availabilty of a format */
1048
48cf588e2c90 uj aocontrol valtozok
al3x
parents: 1038
diff changeset
63 #define AOCONTROL_GET_VOLUME 4
48cf588e2c90 uj aocontrol valtozok
al3x
parents: 1038
diff changeset
64 #define AOCONTROL_SET_VOLUME 5
3107
ef2287ccc42b Changes to audio out plugin, first plugin added
anders
parents: 3095
diff changeset
65 #define AOCONTROL_SET_PLUGIN_DRIVER 6
ef2287ccc42b Changes to audio out plugin, first plugin added
anders
parents: 3095
diff changeset
66 #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
67
ca1bc9edf735 audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents: 1048
diff changeset
68 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
69 float left;
ca1bc9edf735 audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents: 1048
diff changeset
70 float right;
ca1bc9edf735 audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents: 1048
diff changeset
71 } ao_control_vol_t;
3107
ef2287ccc42b Changes to audio out plugin, first plugin added
anders
parents: 3095
diff changeset
72
6795
776b686069af - add some control (ao_oss, pl_extrastereo)
pontscho
parents: 6026
diff changeset
73 #endif