aboutsummaryrefslogtreecommitdiffstats
path: root/src/output_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/output_internal.h')
-rw-r--r--src/output_internal.h23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/output_internal.h b/src/output_internal.h
index eba3aed91..9d975d789 100644
--- a/src/output_internal.h
+++ b/src/output_internal.h
@@ -27,6 +27,8 @@
#include <time.h>
+struct config_param;
+
enum audio_output_command {
AO_COMMAND_NONE = 0,
AO_COMMAND_ENABLE,
@@ -64,12 +66,6 @@ struct audio_output {
const struct audio_output_plugin *plugin;
/**
- * The plugin's internal data. It is passed to every plugin
- * method.
- */
- void *data;
-
- /**
* The #mixer object associated with this audio output device.
* May be NULL if none is available, or if software volume is
* configured.
@@ -254,7 +250,20 @@ audio_output_command_is_finished(const struct audio_output *ao)
return ao->command == AO_COMMAND_NONE;
}
+struct audio_output *
+audio_output_new(const struct config_param *param,
+ struct player_control *pc,
+ GError **error_r);
+
+bool
+ao_base_init(struct audio_output *ao,
+ const struct audio_output_plugin *plugin,
+ const struct config_param *param, GError **error_r);
+
+void
+ao_base_finish(struct audio_output *ao);
+
void
-audio_output_destruct(struct audio_output *ao);
+audio_output_free(struct audio_output *ao);
#endif