Commit bef8c833 authored by Max Kellermann's avatar Max Kellermann

OutputThread: move code to CloseOutput()

parent 2e983244
...@@ -382,6 +382,13 @@ private: ...@@ -382,6 +382,13 @@ private:
void Close(bool drain); void Close(bool drain);
void Reopen(); void Reopen();
/**
* Close the output plugin.
*
* Mutex must not be locked.
*/
void CloseOutput(bool drain);
AudioFormat OpenFilter(AudioFormat &format, Error &error_r); AudioFormat OpenFilter(AudioFormat &format, Error &error_r);
/** /**
......
...@@ -251,12 +251,7 @@ AudioOutput::Close(bool drain) ...@@ -251,12 +251,7 @@ AudioOutput::Close(bool drain)
mutex.unlock(); mutex.unlock();
if (drain) CloseOutput(drain);
ao_plugin_drain(this);
else
ao_plugin_cancel(this);
ao_plugin_close(this);
CloseFilter(); CloseFilter();
mutex.lock(); mutex.lock();
...@@ -265,6 +260,17 @@ AudioOutput::Close(bool drain) ...@@ -265,6 +260,17 @@ AudioOutput::Close(bool drain)
plugin.name, name); plugin.name, name);
} }
inline void
AudioOutput::CloseOutput(bool drain)
{
if (drain)
ao_plugin_drain(this);
else
ao_plugin_cancel(this);
ao_plugin_close(this);
}
void void
AudioOutput::ReopenFilter() AudioOutput::ReopenFilter()
{ {
......
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