From e96a3a171355323453bf0689b80e9b2279750495 Mon Sep 17 00:00:00 2001 From: Liam Date: Sun, 4 Jun 2023 12:56:40 -0400 Subject: audio_renderer: resolve adsp thread deadlock shutdown --- src/audio_core/sink/sink_stream.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/audio_core/sink/sink_stream.cpp') diff --git a/src/audio_core/sink/sink_stream.cpp b/src/audio_core/sink/sink_stream.cpp index 2331aaff9..f44fedfd5 100644 --- a/src/audio_core/sink/sink_stream.cpp +++ b/src/audio_core/sink/sink_stream.cpp @@ -269,12 +269,13 @@ u64 SinkStream::GetExpectedPlayedSampleCount() { return std::min(exp_played_sample_count, max_played_sample_count) + TargetSampleCount * 3; } -void SinkStream::WaitFreeSpace() { +void SinkStream::WaitFreeSpace(std::stop_token stop_token) { std::unique_lock lk{release_mutex}; release_cv.wait_for(lk, std::chrono::milliseconds(5), [this]() { return queued_buffers < max_queue_size; }); if (queued_buffers > max_queue_size + 3) { - release_cv.wait(lk, [this]() { return queued_buffers < max_queue_size; }); + Common::CondvarWait(release_cv, lk, stop_token, + [this] { return queued_buffers < max_queue_size; }); } } -- cgit v1.2.3