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/audio/audio.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/audio/audio.h') diff --git a/src/audio/audio.h b/src/audio/audio.h index 9d521e6..beb994f 100644 --- a/src/audio/audio.h +++ b/src/audio/audio.h @@ -23,6 +23,12 @@ struct SpecHeader { void audio_init(); void audio_start(); // Starts the audio device callback +// Get required pre-fill time (matches ring buffer lookahead) +float audio_get_required_prefill_time(); + +// Check if buffer is sufficiently pre-filled +bool audio_is_prefilled(); + // Ring buffer audio rendering (main thread fills buffer) // target_fill: Target buffer fill time in seconds (default: // RING_BUFFER_LOOKAHEAD_MS/1000) -- cgit v1.2.3