OutputThread: move code to CloseOutput()

This commit is contained in:
Max Kellermann 2014-10-23 23:24:01 +02:00
parent 2e98324486
commit bef8c83388
2 changed files with 19 additions and 6 deletions

View File

@ -382,6 +382,13 @@ private:
void Close(bool drain);
void Reopen();
/**
* Close the output plugin.
*
* Mutex must not be locked.
*/
void CloseOutput(bool drain);
AudioFormat OpenFilter(AudioFormat &format, Error &error_r);
/**

View File

@ -251,12 +251,7 @@ AudioOutput::Close(bool drain)
mutex.unlock();
if (drain)
ao_plugin_drain(this);
else
ao_plugin_cancel(this);
ao_plugin_close(this);
CloseOutput(drain);
CloseFilter();
mutex.lock();
@ -265,6 +260,17 @@ AudioOutput::Close(bool drain)
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
AudioOutput::ReopenFilter()
{