arduino-audio-tools
Loading...
Searching...
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: https://github.com/pschatzmann/arduino-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: https://github.com/pschatzmann/arduino-libhelix. We dynamically create a MP3 or AAC decoder dependent on the provided audio format.

Author
Phil Schatzmann

Member Function Documentation

◆ audioInfo()

AudioBaseInfo audio_tools::DecoderHelix::audioInfo ( )
inlinevirtual

◆ begin()

void audio_tools::DecoderHelix::begin ( )
inlinevirtual

Starts the processing.

Implements audio_tools::AudioWriter.

◆ end()

void audio_tools::DecoderHelix::end ( )
inlinevirtual

Releases the reserved memory.

Implements audio_tools::AudioWriter.

◆ operator bool()

audio_tools::DecoderHelix::operator bool ( )
inlinevirtual

checks if the class is active

Implements audio_tools::AudioWriter.

◆ setNotifyAudioChange()

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

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)
inlinevirtual

Defines the output Stream.

Implements audio_tools::AudioDecoder.

◆ write()

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

Write mp3 data to decoder.

Implements audio_tools::AudioWriter.


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