diff options
Diffstat (limited to 'src/xine-engine/audio_out.h')
-rw-r--r-- | src/xine-engine/audio_out.h | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/src/xine-engine/audio_out.h b/src/xine-engine/audio_out.h index 5688645b2..9b332e72d 100644 --- a/src/xine-engine/audio_out.h +++ b/src/xine-engine/audio_out.h @@ -17,13 +17,21 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: audio_out.h,v 1.1 2001/04/24 20:53:00 f1rmb Exp $ + * $Id: audio_out.h,v 1.2 2001/04/27 10:42:38 f1rmb Exp $ */ #ifndef HAVE_AUDIO_OUT_H #define HAVE_AUDIO_OUT_H #include <inttypes.h> +#if defined(XINE_COMPILE) +#include "metronom.h" +#include "configfile.h" +#endif + + +#define AUDIO_OUT_PLUGIN_IFACE_VERSION 1 + /* * audio output modes Used as Bitfield in AC3 decoder */ @@ -38,6 +46,12 @@ typedef struct ao_functions_s { /* + * plugin interface version, lower versions _may_ be supported + */ + + int interface_version; + + /* * find out if desired output mode is supported by * this driver */ @@ -49,14 +63,15 @@ typedef struct ao_functions_s * return value: <=0 : failure, 1 : ok */ - int (*open)(uint32_t bits, uint32_t rate, int mode); + int (*open)(metronom_t *metronom, uint32_t bits, uint32_t rate, int mode); /* * write audio data to output buffer - may block * audio driver must sync sample playback with metronom */ - void (*write_audio_data)(int16_t* audio_data, uint32_t num_samples, + void (*write_audio_data)(metronom_t *metronom, + int16_t* audio_data, uint32_t num_samples, uint32_t pts); /* @@ -65,6 +80,12 @@ typedef struct ao_functions_s void (*close)(void); + /* + * return human readable identifier for this plugin + */ + + char* (*get_identifier) (void); + } ao_functions_t; /* @@ -89,9 +110,10 @@ typedef struct ao_functions_s * find right device driver, init it */ -ao_functions_t *ao_init(char *driver_name) ; +//ao_functions_t *ao_init(char *driver_name) ; + +ao_functions_t *init_audio_out_plugin(int iface, config_values_t *cfg); char *ao_get_available_drivers (); #endif - |