aboutsummaryrefslogtreecommitdiffstats
path: root/src/output/OutputThread.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/output/OutputThread.cxx')
-rw-r--r--src/output/OutputThread.cxx18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/output/OutputThread.cxx b/src/output/OutputThread.cxx
index 9baaaf0e0..badf8f6c9 100644
--- a/src/output/OutputThread.cxx
+++ b/src/output/OutputThread.cxx
@@ -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()
{