| CA2DPAudioDecoder | Manages the set of A2DPDecoder instances registered via BluetoothA2DPSink::add_decoder() and delegates decode operations to whichever one matches the codec negotiated by the connected source - no codec is special-cased here, it is all driven by the registered set |
| CA2DPAudioEncoder | Manages the set of A2DPEncoder instances registered via BluetoothA2DPSource::add_encoder(), delegates encode operations to whichever one matches the codec negotiated with the connected sink and packs the encoded frames into A2DP media packets that are sent with esp_a2d_source_audio_data_send() |
| CA2DPDecoder | Base class for a single A2DP codec's decode support: pairs an A2DP codec type and its SEP capability advertisement with an audio_tools::AudioDecoder that performs the actual decoding. Provide one concrete subclass per codec (see A2DPDecoderSBC, A2DPDecoderAAC) and register instances via BluetoothA2DPSink::add_decoder() - stream endpoint registration is driven entirely by what gets registered here |
| CA2DPDecoderAAC | AAC decode support for the managed A2DP decoder framework: wraps any audio_tools::AudioDecoder that decodes AAC - e.g. audio_tools::AACDecoderHelix (arduino-libhelix), AACDecoderFDK (arduino-fdk-aac) or AACDecoderFAAD (arduino-libfaad) - and advertises the AAC SEP capability. Construct your decoder of choice, include its codec header yourself (e.g. "AudioTools/AudioCodecs/CodecAACHelix.h"), and register an A2DPDecoderAAC wrapping it via BluetoothA2DPSink::add_decoder() |
| CA2DPDecoderSBC | SBC decode support for the managed A2DP decoder framework: wraps any audio_tools::AudioDecoder that decodes SBC - e.g. audio_tools::SBCDecoder (arduino-libsbc) - and advertises the SBC SEP capability. Construct your decoder of choice, include its codec header yourself (e.g. "AudioTools/AudioCodecs/CodecSBC.h"), and register an A2DPDecoderSBC wrapping it via BluetoothA2DPSink::add_decoder() |
| CA2DPDefaultVolumeControl | Default implementation for handling of the volume of the audio data |
| ▼CA2DPEncoder | Base class for a single A2DP codec's encode support: pairs an A2DP codec type and its SEP capability advertisement with an audio_tools::AudioEncoder that performs the actual encoding. Provide one concrete subclass per codec (see A2DPEncoderSBC, A2DPEncoderAAC) and register instances via BluetoothA2DPSource::add_encoder() - stream endpoint registration is driven entirely by what gets registered here |
| CFrameOutput | Forwards the encoder output to write_encoded() |
| CA2DPEncoderAAC | AAC-LC encode support for the managed A2DP encoder framework: wraps any audio_tools::AudioEncoder that produces AAC-LC - e.g. audio_tools::AACEncoderFDK (codec-fdk-aac) or AACEncoderVO (codec-vo-aacenc) - and advertises the AAC SEP capability. Construct and configure (e.g. bitrate) your encoder of choice, include its codec header yourself, and register an A2DPEncoderAAC wrapping it via BluetoothA2DPSource::add_encoder() |
| CA2DPEncoderSBC | SBC encode support for the managed A2DP encoder framework: wraps an audio_tools::SBCEncoder (codec-sbc / arduino-libsbc), advertises the SBC SEP capability and configures the encoder (subbands, blocks, allocation method and bitpool) with the parameters negotiated with the sink. Register it via BluetoothA2DPSource::add_encoder() |
| CA2DPFrameSink | Receives the encoded frames produced by an A2DPEncoder (implemented by A2DPAudioEncoder, which packs them into A2DP media packets) |
| CA2DPLinearVolumeControl | The simplest possible implementation of a VolumeControl |
| CA2DPNoVolumeControl | Keeps the audio data as is -> no volume control! |
| CA2DPSimpleExponentialVolumeControl | Exponential volume control |
| CA2DPVolumeControl | Abstract class for handling of the volume of the audio data |
| CBluetoothA2DPCommon | Common Bluetooth A2DP functions |
| CBluetoothA2DPOutput | Abstract Output Class |
| CBluetoothA2DPOutputAudioTools | Output Class using AudioTools library: https://github.com/pschatzmann/arduino-audio-tools |
| CBluetoothA2DPOutputDefault | Default Output Class providing both the Legacy I2S and the AudioTools I2S functionality |
| CBluetoothA2DPOutputLegacy | Legacy I2S Output Class |
| CBluetoothA2DPOutputPrint | Output Class using Print API: |
| CBluetoothA2DPSink | BluetoothA2DPSink implements a robust, extensible A2DP Bluetooth audio sink for ESP32 |
| CBluetoothA2DPSinkQueued | BluetoothA2DPSinkQueued provides an A2DP sink implementation with a queued, task-based I2S output to address the volume delay and jitter issues observed in the standard BluetoothA2DPSink implementation, especially under high load or with certain Bluetooth sources |
| CBluetoothA2DPSource | BluetoothA2DPSource implements a flexible, extensible A2DP Bluetooth audio source for ESP32 |
| Cbt_app_msg_t | Internal message to be sent for BluetoothA2DPSink and BluetoothA2DPSource |