arduino-audio-tools
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
audio_tools::AACDecoderFDK Class Reference

Audio Decoder which decodes AAC into a PCM stream This is basically just a wrapper using https://github.com/pschatzmann/arduino-fdk-aac which uses AudioBaseInfo and provides the handlig of AudioBaseInfo changes. More...

#include <CodecAACFDK.h>

Inheritance diagram for audio_tools::AACDecoderFDK:
audio_tools::AudioDecoder audio_tools::AudioWriter audio_tools::AudioBaseInfoSource

Public Member Functions

 AACDecoderFDK (Print &out_stream, int output_buffer_size=2048)
 
AudioBaseInfo audioInfo ()
 
CStreamInfo audioInfoEx ()
 
void begin ()
 
void begin (TRANSPORT_TYPE transportType, UINT nrOfLayers)
 
AAC_DECODER_ERROR configure (uint8_t *conf, const uint32_t &length)
 Explicitly configure the decoder by passing a raw AudioSpecificConfig (ASC) or a StreamMuxConfig (SMC), contained in a binary buffer. This is required for MPEG-4 and Raw Packets file format bitstreams as well as for LATM bitstreams with no in-band SMC. If the transport format is LATM with or without LOAS, configuration is assumed to be an SMC, for all other file formats an ASC. More...
 
aac_fdk::AACDecoderFDK * driver ()
 
void end ()
 
virtual operator bool ()
 
virtual void setNotifyAudioChange (AudioBaseInfoDependent &bi)
 
void setOutputStream (Print &out_stream)
 Defines the output stream. More...
 
virtual size_t write (const void *in_ptr, size_t in_size)
 
- Public Member Functions inherited from audio_tools::AudioDecoder
 AudioDecoder (AudioDecoder const &)=delete
 
virtual AudioBaseInfo audioInfo ()=0
 
virtual bool isResultPCM ()
 
AudioDecoderoperator= (AudioDecoder const &)=delete
 
virtual void setAudioInfo (AudioBaseInfo from) override
 
virtual void setOutputStream (AudioPrint &out_stream)
 
virtual void setOutputStream (AudioStream &out_stream)
 
virtual void setOutputStream (Print &out_stream) override=0
 
virtual void begin ()=0
 
virtual void end ()=0
 
virtual operator bool ()=0
 
virtual void setAudioInfo (AudioBaseInfo from)=0
 
virtual void setOutputStream (Print &out_stream)=0
 
virtual size_t write (const void *in_ptr, size_t in_size)=0
 
virtual void setNotifyAudioChange (AudioBaseInfoDependent &bi)=0
 

Static Public Member Functions

static void audioChangeCallback (CStreamInfo &info)
 

Protected Attributes

aac_fdk::AACDecoderFDK * dec =nullptr
 

Detailed Description

Audio Decoder which decodes AAC into a PCM stream This is basically just a wrapper using https://github.com/pschatzmann/arduino-fdk-aac which uses AudioBaseInfo and provides the handlig of AudioBaseInfo changes.

Author
Phil Schatzmann

Member Function Documentation

◆ audioInfo()

AudioBaseInfo audio_tools::AACDecoderFDK::audioInfo ( )
inlinevirtual

◆ begin()

void audio_tools::AACDecoderFDK::begin ( )
inlinevirtual

◆ configure()

AAC_DECODER_ERROR audio_tools::AACDecoderFDK::configure ( uint8_t *  conf,
const uint32_t &  length 
)
inline

Explicitly configure the decoder by passing a raw AudioSpecificConfig (ASC) or a StreamMuxConfig (SMC), contained in a binary buffer. This is required for MPEG-4 and Raw Packets file format bitstreams as well as for LATM bitstreams with no in-band SMC. If the transport format is LATM with or without LOAS, configuration is assumed to be an SMC, for all other file formats an ASC.

◆ end()

void audio_tools::AACDecoderFDK::end ( )
inlinevirtual

◆ operator bool()

virtual audio_tools::AACDecoderFDK::operator bool ( )
inlinevirtual

◆ setNotifyAudioChange()

virtual void audio_tools::AACDecoderFDK::setNotifyAudioChange ( AudioBaseInfoDependent bi)
inlinevirtual

◆ setOutputStream()

void audio_tools::AACDecoderFDK::setOutputStream ( Print out_stream)
inlinevirtual

Defines the output stream.

Implements audio_tools::AudioDecoder.

◆ write()

virtual size_t audio_tools::AACDecoderFDK::write ( const void *  in_ptr,
size_t  in_size 
)
inlinevirtual

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