|
arduino-audio-tools
|
MP3 Decoder using https://github.com/pschatzmann/arduino-libmad. More...
#include <CodecMP3MAD.h>
Public Member Functions | |
| MP3DecoderMAD () | |
| MP3DecoderMAD (libmad::MP3DataCallback dataCallback, libmad::MP3InfoCallback infoCB=nullptr) | |
| MP3DecoderMAD (Print &mad_output_streamput, libmad::MP3InfoCallback infoCB=nullptr) | |
| ~MP3DecoderMAD () | |
| virtual void | addNotifyAudioChange (AudioInfoSupport &bi) override |
| Adds target to be notified about audio changes. | |
| AudioInfo | audioInfo () override |
| provides the actual input AudioInfo | |
| libmad::MadAudioInfo | audioInfoEx () |
| Provides the last valid audio information. | |
| virtual AudioInfo | audioInfoOut () |
| bool | begin () override |
| Starts the processing. | |
| virtual bool | begin (AudioInfo info) override |
| virtual void | clearNotifyAudioChange () |
| Deletes all change notify subscriptions. | |
| libmad::MP3DecoderMAD * | driver () |
| void | end () override |
| Releases the reserved memory. | |
| Print * | getOutput () |
| bool | isNotifyActive () |
| Checks if the automatic AudioInfo update is active. | |
| virtual bool | isResultPCM () |
| Returns true to indicate that the decoding result is PCM data. | |
| operator bool () override | |
| Returns true as long as we are processing data. | |
| virtual bool | removeNotifyAudioChange (AudioInfoSupport &bi) |
| Removes a target in order not to be notified about audio changes. | |
| void | setAudioDataCallback (libmad::MP3DataCallback cb) |
| Defines the callback which receives the decoded data. | |
| void | setAudioInfo (AudioInfo from) override |
| for most decoders this is not needed | |
| virtual bool | setCodecConfig (const uint8_t *data, size_t len) |
| Some decoders need e.g. a magic cookie to provide the relevant info for decoding. | |
| void | setInfoCallback (libmad::MP3InfoCallback cb) |
| Defines the callback which receives the Info changes. | |
| 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 &out) override |
| Defines where the decoded result is written to. | |
| size_t | write (const uint8_t *data, size_t len) override |
| Makes the mp3 data available for decoding: however we recommend to provide the data via a callback or input stream. | |
| size_t | write (void *data, size_t len) |
| Makes the mp3 data available for decoding: however we recommend to provide the data via a callback or input stream. | |
Static Public Member Functions | |
| static void | audioChangeCallback (libmad::MadAudioInfo &info) |
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 |
| libmad::MP3DecoderMAD * | mad |
| Vector< AudioInfoSupport * > | notify_vector |
| Print * | p_print = nullptr |
MP3 Decoder using https://github.com/pschatzmann/arduino-libmad.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineoverridevirtual |
Adds target to be notified about audio changes.
Reimplemented from AudioInfoSource.
|
inlineoverridevirtual |
provides the actual input AudioInfo
Reimplemented from AudioDecoder.
|
inline |
Provides the last valid audio information.
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, ResampleStream, and ResampleStreamT< TInterpolator >.
|
inlineoverridevirtual |
Starts the processing.
Reimplemented from AudioDecoder.
Reimplemented from AudioWriter.
Reimplemented in DecoderBasic, and OggContainerDecoder.
Deletes all change notify subscriptions.
Reimplemented in RTSPClient< TcpClient, UdpSocket >.
|
inline |
|
inlineoverridevirtual |
Releases the reserved memory.
Reimplemented from AudioDecoder.
|
inlineinherited |
Returns true to indicate that the decoding result is PCM data.
Reimplemented in CopyDecoder, DecoderNetworkFormat, and ContainerM4A.
Returns true as long as we are processing data.
Implements AudioWriter.
|
inlinevirtualinherited |
Removes a target in order not to be notified about audio changes.
Reimplemented in RTSPClient< TcpClient, UdpSocket >.
|
inline |
Defines the callback which receives the decoded data.
for most decoders this is not needed
Implements AudioWriter.
Reimplemented in DecoderALAC, CodecChain, DSFDecoder, DecoderL8, OpusAudioDecoder, CodecNOP, and G7xxDecoder.
Some decoders need e.g. a magic cookie to provide the relevant info for decoding.
Reimplemented in DecoderALAC, and MultiDecoder.
|
inline |
Defines the callback which receives the Info changes.
Deactivate/Reactivate automatic AudioInfo updates: (default is active)
|
inlinevirtualinherited |
Defines where the decoded result is written to.
Reimplemented in ADTSDecoder, CodecChain, MTSDecoder, MTSDecoderTSDemux, and MetaDataFilterDecoder.
|
inlinevirtualinherited |
Defines where the decoded result is written to.
Reimplemented in ADTSDecoder, CodecChain, MTSDecoder, MTSDecoderTSDemux, and MetaDataFilterDecoder.
Defines where the decoded result is written to.
Reimplemented from AudioDecoder.
Makes the mp3 data available for decoding: however we recommend to provide the data via a callback or input stream.
Implements AudioWriter.
Makes the mp3 data available for decoding: however we recommend to provide the data via a callback or input stream.
|
inherited |
custom id to be used by application
|
protectedinherited |
|
protected |
|
protectedinherited |