audio_core: sink_stream: Hold the suspend lock when process is stalled.

- Prevents us from clashing with other callers trying to un/stall.
This commit is contained in:
bunnei
2022-11-29 20:32:06 -08:00
parent 8f6245be9a
commit 8fd4e44014
2 changed files with 9 additions and 7 deletions

View File

@ -6,6 +6,7 @@
#include <array>
#include <atomic>
#include <memory>
#include <mutex>
#include <span>
#include <vector>
@ -240,8 +241,8 @@ private:
f32 system_volume{1.0f};
/// Set via IAudioDevice service calls
f32 device_volume{1.0f};
/// True if coretiming has been stalled
bool stalled{false};
std::mutex stall_guard;
std::unique_lock<std::mutex> stalled_lock;
};
using SinkStreamPtr = std::unique_ptr<SinkStream>;