output/Control: unlock mutex during expensive operations

This commit is contained in:
Max Kellermann
2018-01-04 08:40:53 +01:00
parent 7574dfd339
commit e3ef3e8d71
2 changed files with 2 additions and 0 deletions

@ -226,6 +226,7 @@ AudioOutputControl::Open(const AudioFormat audio_format,
const bool open2 = open; const bool open2 = open;
if (open2 && output->mixer != nullptr) { if (open2 && output->mixer != nullptr) {
const ScopeUnlock unlock(mutex);
try { try {
mixer_open(output->mixer); mixer_open(output->mixer);
} catch (...) { } catch (...) {

@ -501,5 +501,6 @@ AudioOutputControl::StartThread()
{ {
assert(command == Command::NONE); assert(command == Command::NONE);
const ScopeUnlock unlock(mutex);
thread.Start(); thread.Start();
} }