No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
audio_tools::DecoderHelix Class Reference

MP3 and AAC Decoder using libhelix: We dynamically create a MP3 or AAC decoder dependent on the provided audio format. More...

#include <CodecHelix.h>

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

Public Member Functions

 DecoderHelix (Print &out_stream)
 DecoderHelix (Print &out_stream, AudioBaseInfoDependent &bi)
AudioBaseInfo audioInfo ()
void begin ()
 Starts the processing. More...
void end ()
 Releases the reserved memory. More...
 operator bool ()
 checks if the class is active More...
void setNotifyAudioChange (AudioBaseInfoDependent &bi)
virtual void setOutputStream (Print &outStream)
 Defines the output Stream. More...
size_t write (const void *data, size_t len)
 Write mp3 data to decoder. More...
- 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

Protected Member Functions

void resetDecoder ()
 Deletes the decoder.
void setupDecoder (const byte *start)
 Defines the decoder based on the audio format.

Protected Attributes

AudioBaseInfo noInfo
AudioBaseInfoDependentp_bi = nullptr
AudioDecoderp_decoder = nullptr
Printp_out_stream = nullptr

Detailed Description

MP3 and AAC Decoder using libhelix: We dynamically create a MP3 or AAC decoder dependent on the provided audio format.

Phil Schatzmann

Member Function Documentation

◆ audioInfo()

AudioBaseInfo audio_tools::DecoderHelix::audioInfo ( )

◆ begin()

void audio_tools::DecoderHelix::begin ( )

Starts the processing.

Implements audio_tools::AudioWriter.

◆ end()

void audio_tools::DecoderHelix::end ( )

Releases the reserved memory.

Implements audio_tools::AudioWriter.

◆ operator bool()

audio_tools::DecoderHelix::operator bool ( )

checks if the class is active

Implements audio_tools::AudioWriter.

◆ setNotifyAudioChange()

void audio_tools::DecoderHelix::setNotifyAudioChange ( AudioBaseInfoDependent bi)

Defines the callback object to which the Audio information change is provided

Implements audio_tools::AudioBaseInfoSource.

◆ setOutputStream()

virtual void audio_tools::DecoderHelix::setOutputStream ( Print outStream)

Defines the output Stream.

Implements audio_tools::AudioDecoder.

◆ write()

size_t audio_tools::DecoderHelix::write ( const void *  data,
size_t  len 

Write mp3 data to decoder.

Implements audio_tools::AudioWriter.

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