Commit b107a158 authored by Max Kellermann's avatar Max Kellermann

output/MultipleOutputs: move code to AudioOutput::EnableDisableWait()

parent ced3f320
......@@ -335,6 +335,23 @@ public:
*/
void DisableWait();
/**
* Attempt to enable or disable the device as specified by the
* #enabled attribute; attempt to sync it with #really_enabled
* (wrapper for EnableWait() or DisableWait()).
*
* Caller must lock the mutex.
*/
void EnableDisableWait() {
if (enabled == really_enabled)
return;
if (enabled)
EnableWait();
else
DisableWait();
}
void LockPauseAsync();
/**
......
......@@ -112,13 +112,7 @@ MultipleOutputs::EnableDisable()
{
for (auto ao : outputs) {
const ScopeLock lock(ao->mutex);
if (ao->enabled != ao->really_enabled) {
if (ao->enabled)
ao->EnableWait();
else
ao->DisableWait();
}
ao->EnableDisableWait();
}
}
......
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