summaryrefslogtreecommitdiffstats
path: root/libao2/audio_plugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'libao2/audio_plugin.h')
-rw-r--r--libao2/audio_plugin.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/libao2/audio_plugin.h b/libao2/audio_plugin.h
new file mode 100644
index 0000000000..22bbdfd14c
--- /dev/null
+++ b/libao2/audio_plugin.h
@@ -0,0 +1,27 @@
+/* functions supplied by plugins */
+typedef struct ao_plugin_functions_s
+{
+ ao_info_t *info;
+ int (*control)(int cmd,int arg);
+ int (*init)();
+ void (*uninit)();
+ void (*reset)();
+ int (*play)();
+} ao_plugin_functions_t;
+
+/* Global data for all audio plugins */
+typedef struct ao_plugin_data_s
+{
+ void* data; /* current data block read only ok to change */
+ int len; /* setup and current buffer length */
+ int rate; /* setup data rate */
+ int channels; /* setup number of channels */
+ int format; /* setup format */
+ double sz_mult; /* Buffer size multiplier */
+ double sz_fix; /* Fix extra buffer size */
+ float delay_mult; /* Delay multiplier */
+ float delay_fix; /* Fix delay */
+}ao_plugin_data_t;
+
+extern ao_plugin_data_t ao_plugin_data;
+