diff --git a/src/audio_core/sink/sink_stream.cpp b/src/audio_core/sink/sink_stream.cpp index f94217ebeb..1087f44e98 100644 --- a/src/audio_core/sink/sink_stream.cpp +++ b/src/audio_core/sink/sink_stream.cpp @@ -231,9 +231,9 @@ void SinkStream::WaitFreeSpace(std::stop_token stop_token) { return paused || queued_buffers < max_queue_size; }; - release_cv.wait_for(lk, std::chrono::milliseconds(10), can_continue); + release_cv.wait_for(lk, std::chrono::milliseconds(5), can_continue); - if (queued_buffers > max_queue_size + 10) { + if (queued_buffers > max_queue_size + 3) { release_cv.wait(lk, stop_token, can_continue); } } diff --git a/src/audio_core/sink/sink_stream.h b/src/audio_core/sink/sink_stream.h index acb7537dda..fe885cdf05 100644 --- a/src/audio_core/sink/sink_stream.h +++ b/src/audio_core/sink/sink_stream.h @@ -240,7 +240,7 @@ private: /// Ring buffer of the samples waiting to be played or consumed Common::RingBuffer samples_buffer; /// Audio buffers queued and waiting to play - Common::SPSCQueue queue; + Common::SPSCQueue queue; /// The currently-playing audio buffer SinkBuffer playing_buffer{}; /// The last played (or received) frame of audio, used when the callback underruns