diff options
Diffstat (limited to 'src/audio/backend/miniaudio_backend.h')
| -rw-r--r-- | src/audio/backend/miniaudio_backend.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/audio/backend/miniaudio_backend.h b/src/audio/backend/miniaudio_backend.h index eb9019c..435496c 100644 --- a/src/audio/backend/miniaudio_backend.h +++ b/src/audio/backend/miniaudio_backend.h @@ -18,6 +18,7 @@ class MiniaudioBackend : 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; // Get the underlying miniaudio device (for internal use) ma_device* get_device() { @@ -32,6 +33,10 @@ class MiniaudioBackend : public AudioBackend { // Updated in audio_callback when samples are read from ring buffer static volatile float realtime_peak_; + // Smooth playback time interpolation (updated in callback) + static volatile double last_callback_time_; // Absolute CLOCK_MONOTONIC time + static volatile int64_t last_callback_samples_; + // Static callback required by miniaudio C API static void audio_callback(ma_device* pDevice, void* pOutput, const void* pInput, ma_uint32 frameCount); |
