arduino-audio-tools
|
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>
Public Member Functions | |
MP3DecoderHelix (Print &out_stream) | |
Construct a new MP3DecoderMini object. | |
MP3DecoderHelix (Print &out_stream, AudioInfoSupport &bi) | |
Construct a new MP3DecoderMini object. The decoded output will go to the print object. | |
~MP3DecoderHelix () | |
Destroy the MP3DecoderMini object. | |
void | addNotifyAudioChange (AudioInfoSupport &bi) override |
Defines the callback object to which the Audio information change is provided. | |
AudioInfo | audioInfo () override |
provides the actual input AudioInfo | |
MP3FrameInfo | audioInfoEx () |
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. | |
libhelix::MP3DecoderHelix * | driver () |
void | end () |
Releases the reserved memory. | |
bool | isNotifyActive () |
Checks if the automatic AudioInfo update is active. | |
virtual bool | isResultPCM () |
Returns true to indicate that 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 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 | setMaxFrameSize (size_t len) |
Define your optimized maximum frame size. | |
void | setMaxPCMSize (size_t len) |
Define your optimized maximum pwm 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. | |
void | setOutput (Print &outStream) override |
Defines the output Stream. | |
size_t | write (const uint8_t *data, 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 | |
Public Attributes | |
int | id |
custom id to be used by application | |
Protected Member Functions | |
void | notifyAudioChange (AudioInfo info) |
void | writeBlocking (Print *out, uint8_t *data, size_t len) |
Protected Attributes | |
AudioInfo | info |
bool | is_notify_active = true |
libhelix::MP3DecoderHelix * | mp3 =nullptr |
Vector< AudioInfoSupport * > | notify_vector |
Print * | p_print = nullptr |
MP3 Decoder using libhelix: https://github.com/pschatzmann/arduino-libhelix This is basically just a simple wrapper to provide AudioInfo and AudioInfoSupport.
|
inline |
Construct a new MP3DecoderMini object.
out_stream |
|
inline |
Construct a new MP3DecoderMini object. The decoded output will go to the print object.
out_stream | |
bi |
|
inlineoverridevirtual |
Defines the callback object to which the Audio information change is provided.
Reimplemented from AudioInfoSource.
|
inlineoverridevirtual |
provides the actual input AudioInfo
Reimplemented from AudioDecoder.
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.
Reimplemented from AudioDecoder.
Reimplemented from AudioWriter.
|
inlinevirtual |
Releases the reserved memory.
Reimplemented from AudioDecoder.
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 the output Stream.
Reimplemented from AudioDecoder.
Write mp3 data to decoder.
Implements AudioWriter.