aboutsummaryrefslogtreecommitdiff
path: root/src/audio_core/sink/sink_stream.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio_core/sink/sink_stream.cpp')
-rw-r--r--src/audio_core/sink/sink_stream.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/audio_core/sink/sink_stream.cpp b/src/audio_core/sink/sink_stream.cpp
index 2044a83d53..d6e8044d62 100644
--- a/src/audio_core/sink/sink_stream.cpp
+++ b/src/audio_core/sink/sink_stream.cpp
@@ -220,8 +220,8 @@ u64 SinkStream::GetExpectedPlayedSampleCount() {
auto time_delta{cur_time - last_sample_count_update_time};
auto exp_played_sample_count{min_played_sample_count + (TargetSampleRate * time_delta) / std::chrono::seconds{1}};
- // Add 15ms of latency in sample reporting to allow for some leeway in scheduler timings
- return std::min<u64>(exp_played_sample_count, max_played_sample_count) + TargetSampleCount * 3;
+ // Add 25ms of latency in sample reporting to allow for some leeway in scheduler timings
+ return std::min<u64>(exp_played_sample_count, max_played_sample_count) + TargetSampleCount * 5;
}
void SinkStream::WaitFreeSpace(std::stop_token stop_token) {
@@ -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(8), can_continue);
+ release_cv.wait_for(lk, std::chrono::milliseconds(7), can_continue);
- if (queued_buffers > max_queue_size + 10) {
+ if (queued_buffers > max_queue_size + 3) {
release_cv.wait(lk, stop_token, can_continue);
}
}