23#ifdef USE_I2S_AUDIO_FULL_DUPLEX
34 i2s_std_config_t &std_cfg)
const;
36#ifdef USE_I2S_AUDIO_FULL_DUPLEX
43 return esp32_mono_swap_needed(stream_info) ? 2 : 1;
Abstract base class for I2S audio speaker implementations.
Standard I2S speaker implementation.
audio::AudioStreamInfo full_duplex_stream_info_() const
The output format of a full duplex bus, fixed by the configuration since the channel is set up once.
static uint32_t dma_frame_multiple(const audio::AudioStreamInfo &stream_info)
Frame multiple for DMA buffers and writes; 2 keeps ESP32 mono sample pairs word-aligned.
void dump_config() override
esp_err_t start_i2s_driver(audio::AudioStreamInfo &audio_stream_info) override
void run_speaker_task() override
void build_i2s_config_(const audio::AudioStreamInfo &output_stream_info, i2s_chan_config_t &chan_cfg, i2s_std_config_t &std_cfg) const
Builds the channel and standard mode configuration for the given output format.
void set_i2s_comm_fmt(I2SCommFmt fmt)
void build_full_duplex_config(i2s_chan_config_t &chan_cfg, i2s_std_config_t &std_cfg) override
size_t size_t const char * fmt