38 AudioResampler(
size_t input_buffer_size,
size_t output_buffer_size);
43 esp_err_t
add_source(std::weak_ptr<ring_buffer::RingBuffer> &input_ring_buffer);
48 esp_err_t
add_sink(std::weak_ptr<ring_buffer::RingBuffer> &output_ring_buffer);
66 uint16_t number_of_filters);
95 std::unique_ptr<esp_audio_libs::resampler::Resampler>
resampler_;
size_t output_buffer_size_
AudioResamplerState resample(bool stop_gracefully, int32_t *ms_differential)
Resamples audio from the ring buffer source and writes to the sink.
size_t input_buffer_size_
AudioStreamInfo input_stream_info_
std::unique_ptr< esp_audio_libs::resampler::Resampler > resampler_
uint32_t accumulated_frames_generated_
esp_err_t add_source(std::weak_ptr< ring_buffer::RingBuffer > &input_ring_buffer)
Adds a source ring buffer for audio data.
std::unique_ptr< AudioSinkTransferBuffer > output_transfer_buffer_
esp_err_t add_sink(std::weak_ptr< ring_buffer::RingBuffer > &output_ring_buffer)
Adds a sink ring buffer for resampled audio.
void set_pause_output_state(bool pause_state)
Pauses sending resampled audio to the sink.
AudioResampler(size_t input_buffer_size, size_t output_buffer_size)
Allocates the input and output transfer buffers.
std::unique_ptr< AudioSourceTransferBuffer > input_transfer_buffer_
esp_err_t start(AudioStreamInfo &input_stream_info, AudioStreamInfo &output_stream_info, uint16_t number_of_taps, uint16_t number_of_filters)
Sets up the class to resample.
uint32_t accumulated_frames_used_
AudioStreamInfo output_stream_info_