diff options
| author | bunnei <bunneidev@gmail.com> | 2023-06-05 17:15:19 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-05 17:15:19 -0700 |
| commit | db7b106f1d9d559dadfd9ed070a8b0986609ec57 (patch) | |
| tree | 164b97da4aa0f7db44ac1a9bb6f1068aa1114465 /src/audio_core/sink/sink_stream.cpp | |
| parent | e6fce1cbbdd5ffb95c11b1fb3c43e8bdbe16ec28 (diff) | |
| parent | e96a3a171355323453bf0689b80e9b2279750495 (diff) | |
Merge pull request #10611 from liamwhite/audio-deadlock
audio_renderer: resolve adsp thread deadlock shutdown
Diffstat (limited to 'src/audio_core/sink/sink_stream.cpp')
| -rw-r--r-- | src/audio_core/sink/sink_stream.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
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<u64>(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; }); } } |
