Arduino A2DP
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
A2DPAudioDecoder Class Reference

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. More...

#include <A2DPDecoder.h>

Public Member Functions

bool add_decoder (A2DPDecoder &decoder)
 
std::vector< A2DPDecoder * > & all_decoders ()
 
bool apply_mcc (const esp_a2d_mcc_t *mcc)
 
void close ()
 Closes the currently active decoder (if any)
 
audio_tools::AudioInfo get_audio_info ()
 
bool has_decoders ()
 True if at least one decoder has been registered.
 
const char * mime ()
 MIME type of the currently active decoder ("" if none is active)
 
void process (const uint8_t *data, size_t len)
 

Protected Member Functions

A2DPDecoder * find (esp_a2d_mct_t type)
 

Protected Attributes

A2DPDecoder * active = nullptr
 
std::vector< A2DPDecoder * > decoders
 

Detailed Description

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.

Author
Phil Schatzmann

Member Function Documentation

◆ add_decoder()

bool A2DPAudioDecoder::add_decoder ( A2DPDecoder &  decoder)

Registers a decoder for its codec_type(); returns false if a decoder for that codec type is already registered

◆ all_decoders()

std::vector< A2DPDecoder * > & A2DPAudioDecoder::all_decoders ( )
inline

All registered decoders, in registration order - used to drive SEP registration (one stream endpoint per entry)

◆ apply_mcc()

bool A2DPAudioDecoder::apply_mcc ( const esp_a2d_mcc_t *  mcc)

Selects and opens the decoder matching mcc->type. Returns false if no matching decoder is registered or it failed to open.

◆ get_audio_info()

audio_tools::AudioInfo A2DPAudioDecoder::get_audio_info ( )

Returns the active decoder's most recently detected sample rate/channels (default AudioInfo values if none is active)

◆ process()

void A2DPAudioDecoder::process ( const uint8_t *  data,
size_t  len 
)

Feeds raw encoded bytes to the currently active decoder (no-op if none is active)


The documentation for this class was generated from the following files: