Commit ba416900 authored by Max Kellermann's avatar Max Kellermann

output/Interface: add method ChangeAudioFormat()

This is just the API design; there is no implementation yet, and no caller.
parent 86a37d0e
......@@ -106,6 +106,28 @@ public:
virtual void Close() noexcept = 0;
/**
* Attempt to change the #AudioFormat. After successful
* return, the caller may invoke Play() with the new format.
* If necessary, the method should drain old data from its
* buffers.
*
* If this method fails, the caller may then attempt to
* Close() and Open() the object instead.
*
* Throws on error. After such a failure, this object is in
* an undefined state, and it must be closed.
*
* @param audio_format the audio format in which data is going
* to be delivered; may be modified by the plugin
* @return true on success, false if the operation is not
* supported/implemented (no-op and the old format may still
* be used)
*/
virtual bool ChangeAudioFormat(AudioFormat &) {
return false;
}
/**
* Returns a positive number if the output thread shall further
* delay the next call to Play() or Pause(), which will happen
* until this function returns 0. This should be implemented
......
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