arduino-audio-tools
|
AAC Decoder using faad: https://github.com/pschatzmann/arduino-libfaad This needs a stack of around 60000 and you need to make sure that memory is allocated on PSRAM. See https://www.pschatzmann.ch/home/2023/09/12/arduino-audio-tools-faat-aac-decoder/. More...
#include <CodecAACFAAD.h>
Public Member Functions | |
virtual void | addNotifyAudioChange (AudioInfoSupport &bi) |
Adds target to be notified about audio changes. | |
virtual AudioInfo | audioInfo () |
provides the actual input AudioInfo | |
virtual AudioInfo | audioInfoOut () |
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream | |
bool | begin () |
Starts the processing. | |
virtual bool | begin (AudioInfo info) override |
virtual void | clearNotifyAudioChange () |
Deletes all change notify subscriptions. | |
virtual void | end () |
Releases the reserved memory. | |
void | flush () |
bool | isNotifyActive () |
Checks if the automatic AudioInfo update is active. | |
virtual bool | isResultPCM () |
Returns true to indicate that the decoding result is PCM data. | |
virtual | operator bool () |
checks if the class is active | |
virtual bool | removeNotifyAudioChange (AudioInfoSupport &bi) |
Removes a target in order not to be notified about audio changes. | |
virtual void | setAudioInfo (AudioInfo from) override |
for most decoders this is not needed | |
void | setInputBufferSize (int len) |
Defines the input buffer size. | |
void | setNotifyActive (bool flag) |
Deactivate/Reactivate automatic AudioInfo updates: (default is active) | |
virtual void | setOutput (AudioOutput &out_stream) |
Defines where the decoded result is written to. | |
virtual void | setOutput (AudioStream &out_stream) |
Defines where the decoded result is written to. | |
virtual void | setOutput (Print &out_stream) override |
Defines where the decoded result is written to. | |
void | setUnderflowLimit (int len) |
Defines the min number of bytes that are submitted to the decoder. | |
size_t | write (const uint8_t *data, size_t len) |
Write AAC data to decoder. | |
Public Attributes | |
int | id |
custom id to be used by application | |
Protected Member Functions | |
void | decode (int minBufferSize) |
void | init (uint8_t *data, size_t len) |
void | notifyAudioChange (AudioInfo info) |
void | writeBlocking (Print *out, uint8_t *data, size_t len) |
Protected Attributes | |
int | buffer_size_input = 1024*2 |
NeAACDecConfigurationPtr | conf |
NeAACDecHandle | hAac = nullptr |
AudioInfo | info |
SingleBuffer< uint8_t > | input_buffer {0} |
bool | is_init = false |
bool | is_notify_active = true |
Vector< AudioInfoSupport * > | notify_vector |
Print * | p_print = nullptr |
int | underflow_limit = 500 |
AAC Decoder using faad: https://github.com/pschatzmann/arduino-libfaad This needs a stack of around 60000 and you need to make sure that memory is allocated on PSRAM. See https://www.pschatzmann.ch/home/2023/09/12/arduino-audio-tools-faat-aac-decoder/.
|
inlinevirtualinherited |
Adds target to be notified about audio changes.
Reimplemented in CodecNOP, MP3DecoderMAD, EncodedAudioOutput, EncodedAudioStream, AACDecoderFDK, DecoderBasic, MP3DecoderHelix, OggContainerDecoder, Pipeline, and Pipeline::ModifyingStreamAdapter.
provides the actual input AudioInfo
Implements AudioInfoSupport.
Reimplemented in CodecNOP, GGWaveDecoder, AACDecoderFDK, AACDecoderHelix, DecoderBasic, DecoderHelix, MP3DecoderHelix, MP3DecoderMAD, OpusAudioDecoder, WAVDecoder, WavIMADecoder, and OggContainerDecoder.
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream
Reimplemented in PureDataStream, PWMAudioOutput, ChannelFormatConverterStreamT< T >, ChannelFormatConverterStream, NumberFormatConverterStreamT< TFrom, TTo >, NumberFormatConverterStream, FormatConverterStream, Pipeline, and ResampleStream.
|
inlinevirtual |
Starts the processing.
Implements AudioWriter.
Reimplemented from AudioWriter.
Releases the reserved memory.
Implements AudioWriter.
Returns true to indicate that the decoding result is PCM data.
Reimplemented in CopyDecoder, and GGWaveDecoder.
checks if the class is active
Implements AudioWriter.
for most decoders this is not needed
Implements AudioWriter.
Reimplemented in GGWaveDecoder, DecoderL8, OpusAudioDecoder, CodecNOP, AACDecoderHelix, and G7xxDecoder.
|
inlinevirtualinherited |
Defines where the decoded result is written to.
Reimplemented in MetaDataFilterDecoder.
|
inlinevirtualinherited |
Defines where the decoded result is written to.
Reimplemented in MetaDataFilterDecoder.
Defines where the decoded result is written to.
Implements AudioWriter.
Reimplemented in MP3DecoderMAD, DecoderBase64, DecoderAdapter, CodecNOP, AACDecoderFDK, AACDecoderHelix, ADPCMDecoderXQ, APTXDecoder, Codec2Decoder, CopyDecoder, G722Decoder, GSMDecoder, ILBCDecoder, LC3Decoder, SBCDecoder, WavIMADecoder, GGWaveDecoder, ADPCMDecoder, DecoderBasic, DecoderFloat, G7xxDecoder, DecoderL16, OpusAudioDecoder, WAVDecoder, AVIDecoder, MetaDataFilterDecoder, DecoderHelix, MP3DecoderMini, BinaryContainerDecoder, MP3DecoderHelix, and OggContainerDecoder.
Write AAC data to decoder.
Implements AudioWriter.