annotate libao2/audio_out.h @ 10149:bb1d5c054148

Delayed the parsing of the cues for the case that the KaxInfos (and therefore the timecode scale) is located after the meta seek stuff.
author mosu
date Thu, 22 May 2003 07:49:48 +0000
parents 12b1790038b0
children 99798c3cdb93
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);
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
23 void (*uninit)();
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
24 void (*reset)();
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 (*get_space)();
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);
3095
981a9e5118ce interface to libao2 changed ao_plugin added
anders
parents: 2708
diff changeset
27 float (*get_delay)();
1127
ca1bc9edf735 audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents: 1048
diff changeset
28 void (*pause)();
ca1bc9edf735 audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents: 1048
diff changeset
29 void (*resume)();
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
1127
ca1bc9edf735 audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents: 1048
diff changeset
47 // prototypes
ca1bc9edf735 audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents: 1048
diff changeset
48 extern char *audio_out_format_name(int format);
6026
16e33d66b813 added audio_out_format_bits to calc len alignment
iive
parents: 3107
diff changeset
49 extern int audio_out_format_bits(int format);
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
50
7563
e9e4398029de audio out driver list support (example: -ao alsa9,sdl:esd,oss,sdl:oss,)
arpi
parents: 6795
diff changeset
51 void list_audio_out();
e9e4398029de audio out driver list support (example: -ao alsa9,sdl:esd,oss,sdl:oss,)
arpi
parents: 6795
diff changeset
52 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
53
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
54 // NULL terminated array of all drivers
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
55 extern ao_functions_t* audio_out_drivers[];
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
56
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
57 #define CONTROL_OK 1
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
58 #define CONTROL_TRUE 1
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
59 #define CONTROL_FALSE 0
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
60 #define CONTROL_UNKNOWN -1
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
61 #define CONTROL_ERROR -2
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
62 #define CONTROL_NA -3
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
63
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
64 #define AOCONTROL_SET_DEVICE 1
1048
48cf588e2c90 uj aocontrol valtozok
al3x
parents: 1038
diff changeset
65 #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
66 #define AOCONTROL_QUERY_FORMAT 3 /* test for availabilty of a format */
1048
48cf588e2c90 uj aocontrol valtozok
al3x
parents: 1038
diff changeset
67 #define AOCONTROL_GET_VOLUME 4
48cf588e2c90 uj aocontrol valtozok
al3x
parents: 1038
diff changeset
68 #define AOCONTROL_SET_VOLUME 5
3107
ef2287ccc42b Changes to audio out plugin, first plugin added
anders
parents: 3095
diff changeset
69 #define AOCONTROL_SET_PLUGIN_DRIVER 6
ef2287ccc42b Changes to audio out plugin, first plugin added
anders
parents: 3095
diff changeset
70 #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
71
ca1bc9edf735 audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents: 1048
diff changeset
72 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
73 float left;
ca1bc9edf735 audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents: 1048
diff changeset
74 float right;
ca1bc9edf735 audio_out_format_name prototype added, ao_control_vol_t for aocontrol_get/set_volume added
al3x
parents: 1048
diff changeset
75 } ao_control_vol_t;
3107
ef2287ccc42b Changes to audio out plugin, first plugin added
anders
parents: 3095
diff changeset
76
6795
776b686069af - add some control (ao_oss, pl_extrastereo)
pontscho
parents: 6026
diff changeset
77 #endif