arduino-audio-tools
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
MP3DecoderHelix Class Reference

MP3 Decoder using libhelix: https://github.com/pschatzmann/arduino-libhelix This is basically just a simple wrapper to provide AudioInfo and AudioInfoSupport. More...

#include <CodecMP3Helix.h>

Inheritance diagram for MP3DecoderHelix:
AudioDecoder AudioWriter AudioInfoSource

Public Member Functions

 MP3DecoderHelix (Print &out_stream)
 Construct a new MP3DecoderMini object. More...
 
 MP3DecoderHelix (Print &out_stream, AudioInfoSupport &bi)
 Construct a new MP3DecoderMini object. The decoded output will go to the print object. More...
 
 ~MP3DecoderHelix ()
 Destroy the MP3DecoderMini object.
 
AudioInfo audioInfo ()
 
MP3FrameInfo audioInfoEx ()
 
void begin ()
 Starts the processing.
 
virtual void begin (AudioInfo info)
 
libhelix::MP3DecoderHelix * driver ()
 
void end ()
 Releases the reserved memory.
 
bool isFilterMetaData ()
 Check if the metadata filter is active.
 
virtual bool isResultPCM ()
 If true, the decoding result is PCM data.
 
size_t maxFrameSize ()
 Provides the maximum frame size - this is allocated on the heap and you can reduce the heap size my minimizing this value.
 
size_t maxPCMSize ()
 Provides the maximum pwm buffer size - this is allocated on the heap and you can reduce the heap size my minimizing this value.
 
 operator bool ()
 checks if the class is active
 
virtual void setAudioInfo (AudioInfo from) override
 for most decoders this is not needed
 
void setFilterMetaData (bool filter)
 Activates a filter that makes sure that helix does not get any metadata segments.
 
void setMaxFrameSize (size_t len)
 Define your optimized maximum frame size.
 
void setMaxPCMSize (size_t len)
 Define your optimized maximum pwm buffer size.
 
void setNotifyAudioChange (AudioInfoSupport &bi)
 Defines the callback object to which the Audio information change is provided.
 
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 &outStream)
 Defines the output Stream.
 
size_t write (const void *mp3Data, size_t len)
 Write mp3 data to decoder.
 

Static Public Member Functions

static void infoCallback (MP3FrameInfo &i, void *ref)
 notifies the subscriber about a change
 

Protected Member Functions

void writeBlocking (Print *out, uint8_t *data, size_t len)
 

Protected Attributes

AudioInfoSupportaudioChangeMP3Helix =nullptr
 
MetaDataFilter< libhelix::MP3DecoderHelix > filter
 
AudioInfo info
 
libhelix::MP3DecoderHelix * mp3 =nullptr
 
AudioInfoSupportp_notify = nullptr
 
Printp_print = nullptr
 
bool use_filter = false
 

Detailed Description

MP3 Decoder using libhelix: https://github.com/pschatzmann/arduino-libhelix This is basically just a simple wrapper to provide AudioInfo and AudioInfoSupport.

Author
Phil Schatzmann

Constructor & Destructor Documentation

◆ MP3DecoderHelix() [1/2]

MP3DecoderHelix ( Print out_stream)
inline

Construct a new MP3DecoderMini object.

Parameters
out_stream

◆ MP3DecoderHelix() [2/2]

MP3DecoderHelix ( Print out_stream,
AudioInfoSupport bi 
)
inline

Construct a new MP3DecoderMini object. The decoded output will go to the print object.

Parameters
out_stream
bi

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