summaryrefslogtreecommitdiff
path: root/src/xine-engine/audio_out.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/xine-engine/audio_out.h')
-rw-r--r--src/xine-engine/audio_out.h32
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
-