|
arduino-audio-tools
|
ALAC (Apple Lossless Audio Codec) decoder. This class depends on https://github.com/pschatzmann/codec-alac. This implementaion is based on https://github.com/macosforge/alac. More...
#include <CodecALAC.h>
Public Member Functions | |
| DecoderALAC (int frameSize=kALACDefaultFrameSize) | |
| Default constructor: you can define your own optimized frame size. | |
| 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 () |
| bool | begin () override |
| bool | begin () override |
| virtual bool | begin (AudioInfo info) override |
| virtual bool | begin (AudioInfo info) override |
| virtual void | clearNotifyAudioChange () |
| Deletes all change notify subscriptions. | |
| virtual void | clearNotifyAudioChange () |
| Deletes all change notify subscriptions. | |
| void | end () override |
| void | end () override |
| int | frameSize () |
| Provides the actual frame size. | |
| 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. | |
| operator bool () | |
| 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 |
| Update the global decoder info. | |
| bool | setCodecConfig (ALACBinaryConfig cfg) |
| write Magic Cookie (ALACSpecificConfig) | |
| bool | setCodecConfig (ALACSpecificConfig config) |
| bool | setCodecConfig (const uint8_t *data, size_t len) override |
| write Magic Cookie (ALACSpecificConfig) | |
| void | setFrameSize (int frames) |
| 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 (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 (AudioStream &out_stream) |
| Defines where the decoded result is written to. | |
| virtual void | setOutput (Print &out_stream) override |
| Defines where the decoded result is written to. | |
| virtual void | setOutput (Print &out_stream) override |
| Defines where the decoded result is written to. | |
| size_t | write (const uint8_t *encodedFrame, size_t encodedLen) override |
| we expect the write is called for a complete frame! | |
Public Attributes | |
| int | id |
| custom id to be used by application | |
Protected Member Functions | |
| void | convertToNetworkFormat (ALACSpecificConfig &config) |
| Convert to big endian so that we can use it in Init(). | |
| void | notifyAudioChange (AudioInfo info) |
| void | notifyAudioChange (AudioInfo info) |
| int | outputBufferSize () |
| Calculate the output buffer size based on the current configuration. | |
| void | setDefaultConfig () |
| void | writeBlocking (Print *out, uint8_t *data, size_t len) |
| void | writeBlocking (Print *out, uint8_t *data, size_t len) |
Protected Attributes | |
| struct BitBuffer | bits |
| ALACDecoder | dec |
| AudioInfo | info |
| bool | is_init = false |
| bool | is_notify_active = true |
| Vector< AudioInfoSupport * > | notify_vector |
| Print * | p_print = nullptr |
| Vector< uint8_t > | result_buffer |
ALAC (Apple Lossless Audio Codec) decoder. This class depends on https://github.com/pschatzmann/codec-alac. This implementaion is based on https://github.com/macosforge/alac.
|
inline |
Default constructor: you can define your own optimized frame size.
|
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.
|
inlineoverridevirtualinherited |
Implements AudioWriter.
Reimplemented in CodecNOP, CodecNOP, BinaryContainerDecoder, Codec2Decoder, CodecChain, CodecNOP, ContainerM4A, CopyDecoder, DecoderAdapter, DecoderBase64, DecoderBasic, DecoderNetworkFormat, DemuxerAVI, DemuxerMP4, DemuxerMPG, DemuxerMTS, DSFDecoder, FLACDecoderFoxen, G722Decoder, G729Decoder, G7xxDecoder, GSMDecoder, ILBCDecoder, LC3Decoder, MetaDataFilterDecoder, MP2Decoder, MP3DecoderHelix, MP3DecoderMAD, MP3DecoderMini, MTSDecoder, MTSDecoderTSDemux, MultiDecoder, MultiVideoDemuxer, OggContainerDecoder, OpusAudioDecoder, OpusMultiStreamAudioDecoder, OpusOggDecoder, OSCContainerDecoder, SBCDecoder, VorbisDecoder, VorbisDecoder, WAVDecoder, and WavIMADecoder.
|
inlineoverridevirtualinherited |
Implements AudioWriter.
Reimplemented in CodecNOP, CodecNOP, BinaryContainerDecoder, Codec2Decoder, CodecChain, CodecNOP, ContainerM4A, CopyDecoder, DecoderAdapter, DecoderBase64, DecoderBasic, DecoderNetworkFormat, DemuxerAVI, DemuxerMP4, DemuxerMPG, DemuxerMTS, DSFDecoder, FLACDecoderFoxen, G722Decoder, G729Decoder, G7xxDecoder, GSMDecoder, ILBCDecoder, LC3Decoder, MetaDataFilterDecoder, MP2Decoder, MP3DecoderHelix, MP3DecoderMAD, MP3DecoderMini, MTSDecoder, MTSDecoderTSDemux, MultiDecoder, MultiVideoDemuxer, OggContainerDecoder, OpusAudioDecoder, OpusMultiStreamAudioDecoder, OpusOggDecoder, OSCContainerDecoder, SBCDecoder, VorbisDecoder, VorbisDecoder, WAVDecoder, and WavIMADecoder.
|
inlineoverridevirtualinherited |
Reimplemented from AudioWriter.
|
inlineoverridevirtualinherited |
Reimplemented from AudioWriter.
|
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 |
Convert to big endian so that we can use it in Init().
|
inlineoverridevirtualinherited |
Implements AudioWriter.
Reimplemented in CodecNOP, CodecNOP, BinaryContainerDecoder, Codec2Decoder, CodecChain, CodecNOP, ContainerM4A, CopyDecoder, DecoderAdapter, DecoderBase64, DecoderBasic, DecoderNetworkFormat, DemuxerAVI, DemuxerMP4, DemuxerMPG, DemuxerMTS, DSFDecoder, FLACDecoderFoxen, G722Decoder, G729Decoder, G7xxDecoder, GSMDecoder, ILBCDecoder, LC3Decoder, MetaDataFilterDecoder, MP2Decoder, MP3DecoderHelix, MP3DecoderMAD, MP3DecoderMini, MTSDecoder, MTSDecoderTSDemux, MultiDecoder, MultiVideoDemuxer, OggContainerDecoder, OpusAudioDecoder, OpusMultiStreamAudioDecoder, OpusOggDecoder, OSCContainerDecoder, SBCDecoder, VorbisDecoder, VorbisDecoder, WAVDecoder, and WavIMADecoder.
|
inlineoverridevirtualinherited |
Implements AudioWriter.
Reimplemented in CodecNOP, CodecNOP, BinaryContainerDecoder, Codec2Decoder, CodecChain, CodecNOP, ContainerM4A, CopyDecoder, DecoderAdapter, DecoderBase64, DecoderBasic, DecoderNetworkFormat, DemuxerAVI, DemuxerMP4, DemuxerMPG, DemuxerMTS, DSFDecoder, FLACDecoderFoxen, G722Decoder, G729Decoder, G7xxDecoder, GSMDecoder, ILBCDecoder, LC3Decoder, MetaDataFilterDecoder, MP2Decoder, MP3DecoderHelix, MP3DecoderMAD, MP3DecoderMini, MTSDecoder, MTSDecoderTSDemux, MultiDecoder, MultiVideoDemuxer, OggContainerDecoder, OpusAudioDecoder, OpusMultiStreamAudioDecoder, OpusOggDecoder, OSCContainerDecoder, SBCDecoder, VorbisDecoder, VorbisDecoder, WAVDecoder, and WavIMADecoder.
|
inline |
Provides the actual frame size.
|
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 |
Implements AudioWriter.
|
inlineprotected |
Calculate the output buffer size based on the current configuration.
|
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.
|
inlineoverride |
Update the global decoder info.
|
inline |
write Magic Cookie (ALACSpecificConfig)
|
inline |
|
inlineoverridevirtual |
write Magic Cookie (ALACSpecificConfig)
Reimplemented from AudioDecoder.
|
inlineprotected |
|
inline |
Set the default frame size: this will be overwritten if you call setCodecConfig()
|
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.
|
inlinevirtualinherited |
Defines where the decoded result is written to.
|
inlinevirtualinherited |
Defines where the decoded result is written to.
|
inlineoverridevirtualinherited |
Defines where the decoded result is written to.
Implements AudioWriter.
Reimplemented in AACDecoderFDK, AACDecoderHelix, ADPCMDecoder, ADPCMDecoderXQ, ADTSDecoder, APTXDecoder, CodecNOP, CodecNOP, BinaryContainerDecoder, Codec2Decoder, CodecChain, CodecNOP, ContainerM4A, CopyDecoder, DecoderAdapter, DecoderBase64, DecoderBasic, DecoderFloat, DecoderL16, DecoderNetworkFormat, DemuxerAVI, DemuxerMP4, DemuxerMPG, DemuxerMTS, G722Decoder, G729Decoder, G7xxDecoder, GSMDecoder, ILBCDecoder, LC3Decoder, MetaDataFilterDecoder, MP2Decoder, MP3DecoderHelix, MP3DecoderMAD, MP3DecoderMini, MTSDecoder, MTSDecoderTSDemux, MultiDecoder, MultiVideoDemuxer, OggContainerDecoder, OpusAudioDecoder, OpusMultiStreamAudioDecoder, OSCContainerDecoder, SBCDecoder, WAVDecoder, and WavIMADecoder.
|
inlineoverridevirtualinherited |
Defines where the decoded result is written to.
Implements AudioWriter.
Reimplemented in AACDecoderFDK, AACDecoderHelix, ADPCMDecoder, ADPCMDecoderXQ, ADTSDecoder, APTXDecoder, CodecNOP, CodecNOP, BinaryContainerDecoder, Codec2Decoder, CodecChain, CodecNOP, ContainerM4A, CopyDecoder, DecoderAdapter, DecoderBase64, DecoderBasic, DecoderFloat, DecoderL16, DecoderNetworkFormat, DemuxerAVI, DemuxerMP4, DemuxerMPG, DemuxerMTS, G722Decoder, G729Decoder, G7xxDecoder, GSMDecoder, ILBCDecoder, LC3Decoder, MetaDataFilterDecoder, MP2Decoder, MP3DecoderHelix, MP3DecoderMAD, MP3DecoderMini, MTSDecoder, MTSDecoderTSDemux, MultiDecoder, MultiVideoDemuxer, OggContainerDecoder, OpusAudioDecoder, OpusMultiStreamAudioDecoder, OSCContainerDecoder, SBCDecoder, WAVDecoder, and WavIMADecoder.
|
inlineoverridevirtual |
we expect the write is called for a complete frame!
Implements AudioWriter.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
protected |
|
protected |
|
inherited |
custom id to be used by application
|
protectedinherited |
|
protected |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protected |