From 6899cc35addc43acb04bb04bcb60e88cb66ab1de Mon Sep 17 00:00:00 2001 From: skal Date: Sun, 15 Feb 2026 11:52:14 +0100 Subject: fix(audio): eliminate startup delay with automatic buffer pre-fill Added audio_get_required_prefill_time() to query ring buffer lookahead (400ms) and audio_is_prefilled() to check buffer state. audio_start() now warns if buffer under-filled. Replaced hardcoded 100ms pre-fill with automatic target-based pre-fill in main.cc and test_demo.cc. Co-Authored-By: Claude Sonnet 4.5 --- src/app/test_demo.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/app/test_demo.cc') diff --git a/src/app/test_demo.cc b/src/app/test_demo.cc index 39dbcba..f45916a 100644 --- a/src/app/test_demo.cc +++ b/src/app/test_demo.cc @@ -286,8 +286,8 @@ int main(int argc, char** argv) { audio_render_ahead(g_music_time, audio_dt * g_tempo_scale); }; - // Pre-fill using same pattern as main loop (100ms) - fill_audio_buffer(0.1f, 0.0); + // Pre-fill ring buffer to target lookahead (prevents startup delay) + fill_audio_buffer(audio_get_required_prefill_time(), 0.0); audio_start(); g_last_audio_time = audio_get_playback_time(); -- cgit v1.2.3