summaryrefslogtreecommitdiff
path: root/src/audio/audio.h
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-15 11:52:14 +0100
committerskal <pascal.massimino@gmail.com>2026-02-15 11:52:14 +0100
commit6899cc35addc43acb04bb04bcb60e88cb66ab1de (patch)
treedf2d8240e2484327c7aba754405bc3be119a308d /src/audio/audio.h
parentaa58489ffb597fc981fd779e9ce8b54f32e48197 (diff)
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 <noreply@anthropic.com>
Diffstat (limited to 'src/audio/audio.h')
-rw-r--r--src/audio/audio.h6
1 files changed, 6 insertions, 0 deletions
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)