From e149873673df428f9b93cb222d321cb40d3a8808 Mon Sep 17 00:00:00 2001 From: Green Sky Date: Fri, 3 May 2024 15:10:37 +0200 Subject: [PATCH] fix audio sleep -> superb perf --- src/content/sdl_audio_frame_stream2.cpp | 4 ++-- src/main.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/sdl_audio_frame_stream2.cpp b/src/content/sdl_audio_frame_stream2.cpp index 23a5cf6..f497453 100644 --- a/src/content/sdl_audio_frame_stream2.cpp +++ b/src/content/sdl_audio_frame_stream2.cpp @@ -18,8 +18,8 @@ SDLAudioInputDeviceDefault::SDLAudioInputDeviceDefault(void) : _stream{nullptr, const auto audio_device_id = SDL_GetAudioStreamDevice(_stream.get()); SDL_ResumeAudioDevice(audio_device_id); - static constexpr size_t buffer_size {512}; // in samples - const auto interval_ms {buffer_size/(spec.freq * 1000)}; + static constexpr size_t buffer_size {512*2}; // in samples + const auto interval_ms {(buffer_size * 1000) / spec.freq}; _thread = std::thread([this, interval_ms, spec](void) { while (!_thread_should_quit) { diff --git a/src/main.cpp b/src/main.cpp index 884e195..fc1f0ec 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -83,7 +83,7 @@ int main(int argc, char** argv) { auto writer = SDLAudioOutputDeviceDefaultFactory{}.create(); - for (size_t i = 0; i < 2000; i++) { + for (size_t i = 0; i < 20; i++) { std::this_thread::sleep_for(std::chrono::milliseconds(10)); auto new_frame_opt = reader->pop(); if (new_frame_opt.has_value()) {