#include <audio_resampler.h>
Definition at line 28 of file audio_resampler.h.
◆ AudioResampler()
| esphome::audio::AudioResampler::AudioResampler |
( |
size_t | input_buffer_size, |
|
|
size_t | output_buffer_size ) |
Allocates the input and output transfer buffers.
- Parameters
-
| input_buffer_size | Size of the input transfer buffer in bytes. |
| output_buffer_size | Size of the output transfer buffer in bytes. |
Definition at line 13 of file audio_resampler.cpp.
◆ add_sink() [1/2]
| esp_err_t esphome::audio::AudioResampler::add_sink |
( |
speaker::Speaker * | speaker | ) |
|
Adds a sink speaker for decoded audio.
- Parameters
-
| speaker | pointer to speaker component |
- Returns
- ESP_OK if successsful, ESP_ERR_NO_MEM if the transfer buffer wasn't allocated
Definition at line 36 of file audio_resampler.cpp.
◆ add_sink() [2/2]
| esp_err_t esphome::audio::AudioResampler::add_sink |
( |
std::weak_ptr< ring_buffer::RingBuffer > & | output_ring_buffer | ) |
|
Adds a sink ring buffer for resampled audio.
Takes ownership of the ring buffer in a shared_ptr.
- Parameters
-
| output_ring_buffer | weak_ptr of a shared_ptr of the sink ring buffer to transfer ownership |
- Returns
- ESP_OK if successsful, ESP_ERR_NO_MEM if the transfer buffer wasn't allocated
Definition at line 27 of file audio_resampler.cpp.
◆ add_source()
| esp_err_t esphome::audio::AudioResampler::add_source |
( |
std::weak_ptr< ring_buffer::RingBuffer > & | input_ring_buffer | ) |
|
Adds a source ring buffer for audio data.
Takes ownership of the ring buffer in a shared_ptr.
- Parameters
-
| input_ring_buffer | weak_ptr of a shared_ptr of the sink ring buffer to transfer ownership |
- Returns
- ESP_OK if successsful, ESP_ERR_NO_MEM if the transfer buffer wasn't allocated
Definition at line 19 of file audio_resampler.cpp.
◆ resample()
| AudioResamplerState esphome::audio::AudioResampler::resample |
( |
bool | stop_gracefully, |
|
|
int32_t * | ms_differential ) |
Resamples audio from the ring buffer source and writes to the sink.
- Parameters
-
| stop_gracefully | If true, it indicates the file decoder is finished. The resampler will resample all the remaining audio and then finish. |
| ms_differential | Pointer to a (int32_t) variable that will store the difference, in milliseconds, between the duration of input audio used and the duration of output audio generated. |
- Returns
- AudioResamplerState
Definition at line 89 of file audio_resampler.cpp.
◆ set_pause_output_state()
| void esphome::audio::AudioResampler::set_pause_output_state |
( |
bool | pause_state | ) |
|
|
inline |
Pauses sending resampled audio to the sink.
If paused, it will continue to process internal buffers.
- Parameters
-
| pause_state | If true, audio data is not sent to the sink. |
Definition at line 78 of file audio_resampler.h.
◆ start()
| esp_err_t esphome::audio::AudioResampler::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.
- Parameters
-
| input_stream_info | The incoming sample rate, bits per sample, and number of channels |
| output_stream_info | The desired outgoing sample rate, bits per sample, and number of channels |
| number_of_taps | Number of taps per FIR filter |
| number_of_filters | Number of FIR filters |
- Returns
- ESP_OK if it is able to convert the incoming stream, ESP_ERR_NO_MEM if the transfer buffers failed to allocate, ESP_ERR_NOT_SUPPORTED if the stream can't be converted.
Definition at line 45 of file audio_resampler.cpp.
◆ accumulated_frames_generated_
| uint32_t esphome::audio::AudioResampler::accumulated_frames_generated_ {0} |
|
protected |
◆ accumulated_frames_used_
| uint32_t esphome::audio::AudioResampler::accumulated_frames_used_ {0} |
|
protected |
◆ input_buffer_size_
| size_t esphome::audio::AudioResampler::input_buffer_size_ |
|
protected |
◆ input_stream_info_
◆ input_transfer_buffer_
◆ output_buffer_size_
| size_t esphome::audio::AudioResampler::output_buffer_size_ |
|
protected |
◆ output_stream_info_
◆ output_transfer_buffer_
◆ pause_output_
| bool esphome::audio::AudioResampler::pause_output_ {false} |
|
protected |
◆ resampler_
| std::unique_ptr<esp_audio_libs::resampler::Resampler> esphome::audio::AudioResampler::resampler_ |
|
protected |
The documentation for this class was generated from the following files: