aboutsummaryrefslogtreecommitdiff
path: root/src/audio_core/sink/sink_stream.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2022-11-29 20:32:06 -0800
committerbunnei <bunneidev@gmail.com>2022-11-29 20:32:06 -0800
commit8fd4e44014119a1c155de64d63d455390f852a22 (patch)
tree48a00a3e059d61897d2296f7ebcd29e012404954 /src/audio_core/sink/sink_stream.h
parent8f6245be9a344f53cfca6804bf883a491d113dae (diff)
audio_core: sink_stream: Hold the suspend lock when process is stalled.
- Prevents us from clashing with other callers trying to un/stall.
Diffstat (limited to 'src/audio_core/sink/sink_stream.h')
-rw-r--r--src/audio_core/sink/sink_stream.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/audio_core/sink/sink_stream.h b/src/audio_core/sink/sink_stream.h
index 38a4b2f51..5fea72ab7 100644
--- a/src/audio_core/sink/sink_stream.h
+++ b/src/audio_core/sink/sink_stream.h
@@ -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>;