Commit 67da4cfe authored by Max Kellermann's avatar Max Kellermann

output_plugin: reorder method declarations

Initialization and deinitialization first, then tag functions, then play/cancel/pause.
parent 80702fa3
...@@ -71,11 +71,28 @@ struct audio_output_plugin { ...@@ -71,11 +71,28 @@ struct audio_output_plugin {
bool (*open)(void *data, struct audio_format *audio_format); bool (*open)(void *data, struct audio_format *audio_format);
/** /**
* Close the device.
*/
void (*close)(void *data);
/**
* Display metadata for the next chunk. Optional method,
* because not all devices can display metadata.
*/
void (*send_tag)(void *data, const struct tag *tag);
/**
* Play a chunk of audio data. * Play a chunk of audio data.
*/ */
bool (*play)(void *data, const char *playChunk, size_t size); bool (*play)(void *data, const char *playChunk, size_t size);
/** /**
* Try to cancel data which may still be in the device's
* buffers.
*/
void (*cancel)(void *data);
/**
* Pause the device. If supported, it may perform a special * Pause the device. If supported, it may perform a special
* action, which keeps the device open, but does not play * action, which keeps the device open, but does not play
* anything. Output plugins like "shout" might want to play * anything. Output plugins like "shout" might want to play
...@@ -89,27 +106,10 @@ struct audio_output_plugin { ...@@ -89,27 +106,10 @@ struct audio_output_plugin {
bool (*pause)(void *data); bool (*pause)(void *data);
/** /**
* Try to cancel data which may still be in the device's
* buffers.
*/
void (*cancel)(void *data);
/**
* Close the device.
*/
void (*close)(void *data);
/**
* Control the device. Usualy used for implementing * Control the device. Usualy used for implementing
* set and get mixer levels * set and get mixer levels
*/ */
bool (*control)(void *data, int cmd, void *arg); bool (*control)(void *data, int cmd, void *arg);
/**
* Display metadata for the next chunk. Optional method,
* because not all devices can display metadata.
*/
void (*send_tag)(void *data, const struct tag *tag);
}; };
#endif #endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment