diff options
author | arpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-06-02 23:25:43 +0000 |
---|---|---|
committer | arpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-06-02 23:25:43 +0000 |
commit | 7a2eec4b59f4055cb022710a71ebee498c7f55c5 (patch) | |
tree | 4cb2aff1cc18eeac5d228717019f40c0c7871187 /libao2/audio_out.h | |
parent | 7c8bb6e4b90bb3890bff95df2dde0b510e6bcfa4 (diff) | |
download | mpv-7a2eec4b59f4055cb022710a71ebee498c7f55c5.tar.bz2 mpv-7a2eec4b59f4055cb022710a71ebee498c7f55c5.tar.xz |
audio out drivers
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@955 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libao2/audio_out.h')
-rw-r--r-- | libao2/audio_out.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/libao2/audio_out.h b/libao2/audio_out.h new file mode 100644 index 0000000000..cdd58dc7d4 --- /dev/null +++ b/libao2/audio_out.h @@ -0,0 +1,68 @@ + +typedef struct ao_info_s +{ + /* driver name ("Matrox Millennium G200/G400" */ + const char *name; + /* short name (for config strings) ("mga") */ + const char *short_name; + /* author ("Aaron Holtzman <aholtzma@ess.engr.uvic.ca>") */ + const char *author; + /* any additional comments */ + const char *comment; +} ao_info_t; + +typedef struct ao_functions_s { + + ao_info_t *info; + + /* + */ + int (*control)(int cmd,int arg); + + /* + */ + int (*init)(int rate,int channels,int format,int flags); + + /* + */ + void (*uninit)(); + + /* + */ + void (*reset)(); + + /* + */ + int (*get_space)(); + + /* + */ + int (*play)(void* data,int len,int flags); + + /* + */ + int (*get_delay)(); + +} ao_functions_t; + +// NULL terminated array of all drivers +extern ao_functions_t* audio_out_drivers[]; + +extern int ao_samplerate; +extern int ao_channels; +extern int ao_format; +extern int ao_bps; +extern int ao_outburst; +extern int ao_buffersize; + +#define CONTROL_OK 1 +#define CONTROL_TRUE 1 +#define CONTROL_FALSE 0 +#define CONTROL_UNKNOWN -1 +#define CONTROL_ERROR -2 +#define CONTROL_NA -3 + +#define AOCONTROL_SET_DEVICE 1 +#define AOCONTROL_QUERY_FORMAT 2 + + |