diff options
Diffstat (limited to 'src/output_plugin.h')
-rw-r--r-- | src/output_plugin.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/output_plugin.h b/src/output_plugin.h index 3a9748d46..ee7f7c73d 100644 --- a/src/output_plugin.h +++ b/src/output_plugin.h @@ -117,6 +117,11 @@ struct audio_output_plugin { GError **error); /** + * Wait until the device has finished playing. + */ + void (*drain)(void *data); + + /** * Try to cancel data which may still be in the device's * buffers. */ @@ -214,6 +219,13 @@ ao_plugin_play(const struct audio_output_plugin *plugin, } static inline void +ao_plugin_drain(const struct audio_output_plugin *plugin, void *data) +{ + if (plugin->drain != NULL) + plugin->drain(data); +} + +static inline void ao_plugin_cancel(const struct audio_output_plugin *plugin, void *data) { if (plugin->cancel != NULL) |