summaryrefslogtreecommitdiff
path: root/src/output_plugin.h
AgeCommit message (Collapse)Author
2009-10-29output_plugin: added method "drain"Max Kellermann
drain() is the opposite of cancel(): it waits until all data in the buffer has finished playing. Instead of implicitly draining in the close() method like the ALSA plugin has been doing it forever, let the output thread decide whether to drain or to cancel.
2009-10-23output_plugin: added methods enable() and disable()Max Kellermann
With these methods, an output plugin can allocate some global resources only if it is actually enabled. The method enable() is called after daemonization, which allows for more sophisticated resource allocation during that method.
2009-03-26output_plugin: replaced output_plugin.get_mixer() with mixer_pluginMax Kellermann
The mixer core library is now responsible for creating and managing the mixer object. This removes duplicated code from the output plugins.
2009-03-13all: Update copyright header.Avuton Olrich
This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
2009-02-26output_plugin: report errors with GErrorMax Kellermann
Use GLib's GError library for reporting output device failures. Note that some init() methods don't clean up properly after a failure, but that's ok for now, because the MPD core will abort anyway.
2009-02-25output_plugin: don't pass audio_output object to method init()Max Kellermann
audio_output_get_name() has been removed, which was the only function left in output_api.h. The output plugin doesn't need the audio_output object at all, remove the parameter from the init() method.
2009-02-23output: pass the music chunk pointer as void*, not char*Max Kellermann
The meaning of the chunk depends on the audio format; don't suggest a specific format by declaring the pointer as "char*", pass "void*" instead.
2009-02-23output_api: play() returns a lengthMax Kellermann
The old API required an output plugin to not return until all data passed to the play() method is consumed. Some output plugins have to loop to fulfill that requirement, and may block during that. Simplify these, by letting them consume only part of the buffer: make play() return the length of the consumed data.
2009-02-16output_plugin: replaced method "control()" with "mixer()"Max Kellermann
The output plugin shouldn't know any specifics of the mixer API. Make it return the mixer object, and let the caller deal with it.
2009-02-16output_plugin: added inline wrapper functionsMax Kellermann
Similar to the decoder plugin API: added wrapper functions to increase code readability.
2009-02-16output_plugin: reorder method declarationsMax Kellermann
Initialization and deinitialization first, then tag functions, then play/cancel/pause.
2009-02-16output_api: moved "struct audio_output_plugin" to output_plugin.hMax Kellermann
If we move the plugin struct to a separate header, we don't have to include the big fat output_api.h everywhere.