|
arduino-audio-tools
|
MP3 Decoder using https://github.com/pschatzmann/codec-minimp3. This decoder does not provide any good results and it is not suited to decode any audio above 32000 on an ESP32. So the sample rate is limited by the MINIMP3_MAX_SAMPLE_RATE variable. More...
#include <CodecMP3Mini.h>
Public Member Functions | |
| MP3DecoderMini ()=default | |
| ~MP3DecoderMini () | |
| Destroy the MP3DecoderMini object. | |
| virtual void | addNotifyAudioChange (AudioInfoSupport &bi) |
| Adds target to be notified about audio changes. | |
| virtual void | addNotifyAudioChange (AudioInfoSupport &bi) |
| Adds target to be notified about audio changes. | |
| AudioInfo | audioInfo () override |
| provides the actual input AudioInfo | |
| AudioInfo | audioInfo () override |
| provides the actual input AudioInfo | |
| virtual AudioInfo | audioInfoOut () |
| virtual AudioInfo | audioInfoOut () |
| virtual bool | begin (AudioInfo info) override |
| bool | begin () |
| Starts the processing. | |
| virtual void | clearNotifyAudioChange () |
| Deletes all change notify subscriptions. | |
| virtual void | clearNotifyAudioChange () |
| Deletes all change notify subscriptions. | |
| void | end () |
| Releases the reserved memory. | |
| void | flush () |
| Decodes the last outstanding data. | |
| Print * | getOutput () |
| Print * | getOutput () |
| bool | isNotifyActive () |
| Checks if the automatic AudioInfo update is active. | |
| bool | isNotifyActive () |
| Checks if the automatic AudioInfo update is active. | |
| virtual bool | isResultPCM () |
| Returns true to indicate that the decoding result is PCM data. | |
| virtual bool | isResultPCM () |
| Returns true to indicate that the decoding result is PCM data. | |
| const char * | mime () override |
| Provides the mime type of the data that is expected by this decoder. | |
| virtual | 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 bool | removeNotifyAudioChange (AudioInfoSupport &bi) |
| Removes a target in order not to be notified about audio changes. | |
| void | setAudioInfo (AudioInfo from) override |
| for most decoders this is not needed | |
| void | setAudioInfo (AudioInfo from) override |
| for most decoders this is not needed | |
| void | setBufferLength (int len) |
| 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. | |
| 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 | setNotifyActive (bool flag) |
| Deactivate/Reactivate automatic AudioInfo updates: (default is active). | |
| 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) |
| Defines the output Stream. | |
| void | setSampleRateLimit (int limit) |
| size_t | write (const uint8_t *data, size_t len) |
| Write mp3 data to decoder. | |
Public Attributes | |
| int | id |
| custom id to be used by application | |
Protected Member Functions | |
| void | decode (int write_len) |
| Process single bytes so that we can decode a full frame when it is available. | |
| void | f32_to_s16 (float *in, int16_t *out, int num_samples) |
| void | notifyAudioChange (AudioInfo info) |
| void | notifyAudioChange (AudioInfo info) |
| void | provideResult (int samples) |
| Provides Metadata and PCM data. | |
| void | writeBlocking (Print *out, uint8_t *data, size_t len) |
| void | writeBlocking (Print *out, uint8_t *data, size_t len) |
Protected Attributes | |
| bool | active |
| Vector< uint8_t > | buffer |
| size_t | buffer_pos = 0 |
| size_t | buffer_size = 5 * 1024 |
| AudioInfo | info |
| bool | is_notify_active = true |
| mp3dec_t | mp3d |
| mp3dec_frame_info_t | mp3dec_info |
| Vector< AudioInfoSupport * > | notify_vector |
| Print * | out = nullptr |
| Print * | p_print = nullptr |
| Vector< mp3d_sample_t > | pcm |
| int | sample_rate_limit = 44100 |
MP3 Decoder using https://github.com/pschatzmann/codec-minimp3. This decoder does not provide any good results and it is not suited to decode any audio above 32000 on an ESP32. So the sample rate is limited by the MINIMP3_MAX_SAMPLE_RATE variable.
|
default |
|
inline |
Destroy the MP3DecoderMini object.
|
inlinevirtualinherited |
Adds target to be notified about audio changes.
Reimplemented in CodecNOP, CodecNOP, EncodedAudioOutput, and EncodedAudioStream.
|
inlinevirtualinherited |
Adds target to be notified about audio changes.
Reimplemented in CodecNOP, CodecNOP, EncodedAudioOutput, and EncodedAudioStream.
|
inlineoverridevirtualinherited |
provides the actual input AudioInfo
Implements AudioInfoSupport.
Reimplemented in CodecNOP, CodecNOP, CodecNOP, DecoderBasic, DSFDecoder, MP3DecoderHelix, MP3DecoderMAD, OggContainerDecoder, OpusAudioDecoder, OpusMultiStreamAudioDecoder, VorbisDecoder, VorbisDecoder, WAVDecoder, and WavIMADecoder.
|
inlineoverridevirtualinherited |
provides the actual input AudioInfo
Implements AudioInfoSupport.
Reimplemented in CodecNOP, CodecNOP, CodecNOP, DecoderBasic, DSFDecoder, MP3DecoderHelix, MP3DecoderMAD, OggContainerDecoder, OpusAudioDecoder, OpusMultiStreamAudioDecoder, VorbisDecoder, VorbisDecoder, WAVDecoder, and WavIMADecoder.
|
inlinevirtualinherited |
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream
Reimplemented in ChannelFormatConverterStream, ChannelFormatConverterStreamT< T >, FormatConverterStream, MP3EncoderShine, NumberFormatConverterStream, NumberFormatConverterStreamT< TFrom, TTo >, Pipeline, PureDataStream, PWMAudioOutput< PWMDriverT >, ResampleStream, ResampleStreamT< TInterpolator >, and SupportedRatesStream.
|
inlinevirtualinherited |
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream
Reimplemented in ChannelFormatConverterStream, ChannelFormatConverterStreamT< T >, FormatConverterStream, MP3EncoderShine, NumberFormatConverterStream, NumberFormatConverterStreamT< TFrom, TTo >, Pipeline, PureDataStream, PWMAudioOutput< PWMDriverT >, ResampleStream, ResampleStreamT< TInterpolator >, and SupportedRatesStream.
Reimplemented from AudioWriter.
|
inlinevirtual |
Starts the processing.
Reimplemented from AudioDecoder.
|
inlinevirtualinherited |
Deletes all change notify subscriptions.
Reimplemented in RTSPClient< TcpClient, UdpSocket >, RTSPClient< EthernetClient, EthernetUDP >, and RTSPClient< WiFiClient, WiFiUDP >.
|
inlinevirtualinherited |
Deletes all change notify subscriptions.
Reimplemented in RTSPClient< TcpClient, UdpSocket >, RTSPClient< EthernetClient, EthernetUDP >, and RTSPClient< WiFiClient, WiFiUDP >.
|
inlineprotected |
Process single bytes so that we can decode a full frame when it is available.
|
inlinevirtual |
Releases the reserved memory.
Reimplemented from AudioDecoder.
|
inlineprotected |
|
inline |
Decodes the last outstanding data.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Checks if the automatic AudioInfo update is active.
|
inlineinherited |
Checks if the automatic AudioInfo update is active.
|
inlinevirtualinherited |
Returns true to indicate that the decoding result is PCM data.
Reimplemented in ContainerM4A, CopyDecoder, and DecoderNetworkFormat.
|
inlinevirtualinherited |
Returns true to indicate that the decoding result is PCM data.
Reimplemented in ContainerM4A, CopyDecoder, and DecoderNetworkFormat.
|
inlineoverridevirtual |
Provides the mime type of the data that is expected by this decoder.
Implements AudioDecoder.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlinevirtual |
checks if the class is active
Implements AudioWriter.
|
inlineprotected |
Provides Metadata and PCM data.
|
inlinevirtualinherited |
Removes a target in order not to be notified about audio changes.
|
inlinevirtualinherited |
Removes a target in order not to be notified about audio changes.
|
inlineoverridevirtualinherited |
for most decoders this is not needed
Implements AudioWriter.
|
inlineoverridevirtualinherited |
for most decoders this is not needed
Implements AudioWriter.
|
inline |
|
inlinevirtualinherited |
Some decoders need e.g. a magic cookie to provide the relevant info for decoding.
Reimplemented in DecoderALAC, and MultiDecoder.
|
inlinevirtualinherited |
Some decoders need e.g. a magic cookie to provide the relevant info for decoding.
Reimplemented in DecoderALAC, and MultiDecoder.
|
inlineinherited |
Deactivate/Reactivate automatic AudioInfo updates: (default is active).
|
inlineinherited |
Deactivate/Reactivate automatic AudioInfo updates: (default is active).
|
inlinevirtualinherited |
Defines where the decoded result is written to.
|
inlinevirtualinherited |
Defines where the decoded result is written to.
|
inlinevirtual |
Defines the output Stream.
Reimplemented from AudioDecoder.
|
inline |
|
inlinevirtual |
Write mp3 data to decoder.
Implements AudioWriter.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
protected |
|
protected |
|
protected |
|
protected |
|
inherited |
custom id to be used by application
|
protectedinherited |
|
protectedinherited |
|
protected |
|
protected |
|
protectedinherited |
|
protected |
|
protectedinherited |
|
protected |
|
protected |