summaryrefslogtreecommitdiff
path: root/src/audio/backend/silent_backend.h
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-15 23:56:43 +0100
committerskal <pascal.massimino@gmail.com>2026-02-15 23:56:43 +0100
commit5c7feffd3749ce4b355d0db6334cf39ca94d8d82 (patch)
tree7105aea12d0367208a37777cf53b348f35a66dad /src/audio/backend/silent_backend.h
parente21127a3fc4797805d49ae2d95fc7ed6f94ac456 (diff)
perf(audio): smooth playback time and RMS-based peak at 60Hz
Interpolates audio playback time between callbacks using CLOCK_MONOTONIC for smooth 60Hz updates instead of coarse 8-10Hz steps. Replaces artificial peak decay with true RMS calculation over 50ms window. Ring buffer computes RMS directly on internal buffer without copies for efficiency. All backends updated with get_callback_state() interface for time interpolation. Tests passing (34/34). Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'src/audio/backend/silent_backend.h')
-rw-r--r--src/audio/backend/silent_backend.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/audio/backend/silent_backend.h b/src/audio/backend/silent_backend.h
index 2d52858..c3942da 100644
--- a/src/audio/backend/silent_backend.h
+++ b/src/audio/backend/silent_backend.h
@@ -22,6 +22,7 @@ class SilentBackend : public AudioBackend {
void start() override;
void shutdown() override;
float get_realtime_peak() override;
+ void get_callback_state(double* out_time, int64_t* out_samples) override;
// Test inspection interface
bool is_initialized() const {