From 79b50b7d9c2ef84e0b74345a31a9b2f96d2690cd Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 16 Feb 2009 01:38:10 +0100 Subject: output_plugin: added inline wrapper functions Similar to the decoder plugin API: added wrapper functions to increase code readability. --- src/output_plugin.h | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) (limited to 'src/output_plugin.h') diff --git a/src/output_plugin.h b/src/output_plugin.h index 925982a9..0166322f 100644 --- a/src/output_plugin.h +++ b/src/output_plugin.h @@ -112,4 +112,70 @@ struct audio_output_plugin { bool (*control)(void *data, int cmd, void *arg); }; +static inline bool +ao_plugin_test_default_device(const struct audio_output_plugin *plugin) +{ + return plugin->test_default_device != NULL + ? plugin->test_default_device() + : false; +} + +static inline void * +ao_plugin_init(const struct audio_output_plugin *plugin, + struct audio_output *ao, + const struct audio_format *audio_format, + const struct config_param *param) +{ + return plugin->init(ao, audio_format, param); +} + +static inline void +ao_plugin_finish(const struct audio_output_plugin *plugin, void *data) +{ + plugin->finish(data); +} + +static inline bool +ao_plugin_open(const struct audio_output_plugin *plugin, + void *data, struct audio_format *audio_format) +{ + return plugin->open(data, audio_format); +} + +static inline void +ao_plugin_close(const struct audio_output_plugin *plugin, void *data) +{ + plugin->close(data); +} + +static inline void +ao_plugin_send_tag(const struct audio_output_plugin *plugin, + void *data, const struct tag *tag) +{ + if (plugin->send_tag != NULL) + plugin->send_tag(data, tag); +} + +static inline bool +ao_plugin_play(const struct audio_output_plugin *plugin, + void *data, const void *chunk, size_t size) +{ + return plugin->play(data, chunk, size); +} + +static inline void +ao_plugin_cancel(const struct audio_output_plugin *plugin, void *data) +{ + if (plugin->cancel != NULL) + plugin->cancel(data); +} + +static inline bool +ao_plugin_pause(const struct audio_output_plugin *plugin, void *data) +{ + return plugin->pause != NULL + ? plugin->pause(data) + : false; +} + #endif -- cgit v1.2.3