|
arduino-audio-tools
|
Extended AudioDecoder interface to support block size configuration. More...
#include <AudioCodecsBase.h>
Public Member Functions | |
| virtual void | addNotifyAudioChange (AudioInfoSupport &bi) |
| Adds target to be notified about audio changes. | |
| AudioInfo | audioInfo () override |
| provides the actual input AudioInfo | |
| virtual AudioInfo | audioInfoOut () |
| bool | begin () override |
| virtual bool | begin (AudioInfo info) override |
| virtual void | clearNotifyAudioChange () |
| Deletes all change notify subscriptions. | |
| void | end () override |
| 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. | |
| virtual const char * | mime ()=0 |
| Provides the mime type of the data that is expected by this decoder. | |
| virtual | operator bool ()=0 |
| 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 | |
| virtual void | setBlockSize (int blockSize)=0 |
| 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) | |
| 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 &out_stream) override |
| Defines where the decoded result is written to. | |
| virtual AudioFormat | wavFormat () |
| virtual size_t | write (const uint8_t *data, size_t len)=0 |
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 |
| Vector< AudioInfoSupport * > | notify_vector |
| Print * | p_print = nullptr |
Extended AudioDecoder interface to support block size configuration.
|
inlinevirtualinherited |
Adds target to be notified about audio changes.
Reimplemented in CodecNOP, EncodedAudioOutput, EncodedAudioStream, AACDecoderFDK, DecoderBasic, CodecChain, MP3DecoderHelix, MP3DecoderMAD, OggContainerDecoder, RTSPClient< TcpClient, UdpSocket >, Pipeline, and Pipeline::ModifyingStreamAdapter.
|
inlineoverridevirtualinherited |
provides the actual input AudioInfo
Implements AudioInfoSupport.
Reimplemented in CodecNOP, DecoderBasic, DSFDecoder, MP3DecoderHelix, MP3DecoderMAD, OpusAudioDecoder, OpusMultiStreamAudioDecoder, VorbisDecoder, WAVDecoder, WavIMADecoder, OggContainerDecoder, and VorbisDecoder.
|
inlinevirtualinherited |
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream
Reimplemented in MP3EncoderShine, PureDataStream, PWMAudioOutput< PWMDriverT >, ChannelFormatConverterStreamT< T >, ChannelFormatConverterStream, NumberFormatConverterStreamT< TFrom, TTo >, NumberFormatConverterStream, FormatConverterStream, Pipeline, ResampleStream, ResampleStreamT< TInterpolator >, and SupportedRatesStream.
|
inlineoverridevirtualinherited |
Implements AudioWriter.
Reimplemented in CodecNOP, CodecChain, Codec2Decoder, CopyDecoder, DSFDecoder, FLACDecoderFoxen, G722Decoder, GSMDecoder, ILBCDecoder, LC3Decoder, MP3DecoderMini, DecoderNetworkFormat, SBCDecoder, WavIMADecoder, BinaryContainerDecoder, OSCContainerDecoder, DecoderBase64, DecoderBasic, G729Decoder, G7xxDecoder, MP2Decoder, MP3DecoderHelix, MP3DecoderMAD, MTSDecoder, OpusAudioDecoder, OpusMultiStreamAudioDecoder, OpusOggDecoder, MTSDecoderTSDemux, VorbisDecoder, WAVDecoder, DemuxerAVI, ContainerM4A, DemuxerMP4, DemuxerMPG, OggContainerDecoder, MultiDecoder, DecoderAdapter, VorbisDecoder, MetaDataFilterDecoder, and MultiVideoDemuxer.
|
inlineoverridevirtualinherited |
Reimplemented from AudioWriter.
Reimplemented in DecoderBasic, and OggContainerDecoder.
|
inlinevirtualinherited |
Deletes all change notify subscriptions.
Reimplemented in RTSPClient< TcpClient, UdpSocket >.
|
inlineoverridevirtualinherited |
Implements AudioWriter.
Reimplemented in CodecNOP, Codec2Decoder, CopyDecoder, FLACDecoderFoxen, G722Decoder, GSMDecoder, ILBCDecoder, LC3Decoder, MP3DecoderMini, DecoderNetworkFormat, SBCDecoder, WavIMADecoder, BinaryContainerDecoder, OSCContainerDecoder, DecoderBase64, DecoderBasic, CodecChain, DSFDecoder, G729Decoder, G7xxDecoder, MP2Decoder, MP3DecoderHelix, MP3DecoderMAD, MTSDecoder, OpusAudioDecoder, OpusMultiStreamAudioDecoder, OpusOggDecoder, MTSDecoderTSDemux, VorbisDecoder, WAVDecoder, DemuxerAVI, ContainerM4A, DemuxerMP4, DemuxerMPG, OggContainerDecoder, MultiDecoder, DecoderAdapter, VorbisDecoder, MetaDataFilterDecoder, and MultiVideoDemuxer.
|
inlineinherited |
|
inlineinherited |
Checks if the automatic AudioInfo update is active.
|
inlinevirtualinherited |
Returns true to indicate that the decoding result is PCM data.
Reimplemented in CopyDecoder, DecoderNetworkFormat, and ContainerM4A.
|
pure virtualinherited |
Provides the mime type of the data that is expected by this decoder.
Implemented in CodecNOP, CodecChain, MTSDecoder, MTSDecoderTSDemux, WAVDecoder, WavIMADecoder, OSCContainerDecoder, AACDecoderFAAD, AACDecoderFDK, AACDecoderHelix, ADPCMDecoder, ADPCMDecoderXQ, ADTSDecoder, DecoderALAC, AMRNBDecoder, AMRWBDecoder, APTXDecoder, DecoderBase64, DecoderBasic, Codec2Decoder, CopyDecoder, DSFDecoder, FLACDecoderFoxen, DecoderFloat, G722Decoder, G729Decoder, G7xxDecoder, GSMDecoder, ILBCDecoder, DecoderL16, DecoderL8, LC3Decoder, MP2Decoder, MP3DecoderHelix, MP3DecoderMAD, MP3DecoderMini, DecoderNetworkFormat, OpusAudioDecoder, OpusMultiStreamAudioDecoder, SBCDecoder, VorbisDecoder, DemuxerAVI, BinaryContainerDecoder, ContainerM4A, DemuxerMP4, DemuxerMPG, OggContainerDecoder, MultiDecoder, DecoderAdapter, VorbisDecoder, MetaDataFilterDecoder, MultiVideoDemuxer, and Demuxer.
|
inlineprotectedinherited |
|
pure virtualinherited |
Implemented in CodecNOP, AACDecoderFAAD, DecoderALAC, EncoderALAC, APTXDecoder, APTXEncoder, CodecChain, Codec2Decoder, Codec2Encoder, CopyDecoder, CopyEncoder, DSFDecoder, G722Decoder, G722Encoder, G7xxDecoder, G7xxEncoder, GSMDecoder, GSMEncoder, ILBCDecoder, ILBCEncoder, LC3Decoder, LC3Encoder, MP3EncoderLAME, MP3DecoderMini, DecoderNetworkFormat, EncoderNetworkFormat, SBCDecoder, SBCEncoder, WavIMADecoder, BinaryContainerEncoder, BinaryContainerDecoder, OSCContainerEncoder, OSCContainerDecoder, AACDecoderFDK, AACEncoderFDK, AACDecoderHelix, AACEncoderVO, ADPCMDecoder, ADPCMEncoder, ADPCMDecoderXQ, ADPCMEncoderXQ, ADTSDecoder, AMRNBDecoder, AMRWBDecoder, DecoderBase64, EncoderBase64, DecoderBasic, EncoderBasic, DSFEncoder, FLACEncoder, FLACDecoderFoxen, DecoderFloat, EncoderFloat, G729Decoder, G729Encoder, DecoderL16, EncoderL16, DecoderL8, EncoderL8, MP2Decoder, MP3DecoderHelix, MP3DecoderMAD, MP3EncoderShine, MTSDecoder, OpusAudioDecoder, OpusAudioEncoder, OpusMultiStreamAudioDecoder, OpusMultiStreamAudioEncoder, MTSDecoderTSDemux, VorbisDecoder, WAVDecoder, WAVEncoder, DemuxerAVI, ContainerM4A, DemuxerMP4, DemuxerMPG, OggContainerDecoder, OggContainerEncoder, MP3ParserEncoder, MultiDecoder, DecoderAdapter, VorbisDecoder, MetaDataFilterDecoder, MetaDataFilterEncoder, and MultiVideoDemuxer.
|
inlinevirtualinherited |
Removes a target in order not to be notified about audio changes.
Reimplemented in RTSPClient< TcpClient, UdpSocket >.
|
inlineoverridevirtualinherited |
for most decoders this is not needed
Implements AudioWriter.
Reimplemented in DecoderALAC, CodecChain, DSFDecoder, DecoderL8, OpusAudioDecoder, OpusMultiStreamAudioDecoder, CodecNOP, G729Decoder, and G7xxDecoder.
|
pure virtual |
Implemented in ADPCMDecoder.
|
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)
|
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.
|
inlineoverridevirtualinherited |
Defines where the decoded result is written to.
Implements AudioWriter.
Reimplemented in DecoderBase64, MP3DecoderMAD, DemuxerMP4, DemuxerMPG, DecoderAdapter, MultiVideoDemuxer, CodecNOP, ADPCMDecoderXQ, APTXDecoder, Codec2Decoder, CopyDecoder, G722Decoder, GSMDecoder, ILBCDecoder, LC3Decoder, DecoderNetworkFormat, SBCDecoder, WavIMADecoder, AACDecoderFDK, AACDecoderHelix, ADPCMDecoder, ADTSDecoder, DecoderBasic, CodecChain, DecoderFloat, G729Decoder, G7xxDecoder, DecoderL16, MP2Decoder, MTSDecoder, OpusAudioDecoder, OpusMultiStreamAudioDecoder, MTSDecoderTSDemux, WAVDecoder, DemuxerAVI, ContainerM4A, MultiDecoder, MetaDataFilterDecoder, MP3DecoderMini, BinaryContainerDecoder, OSCContainerDecoder, MP3DecoderHelix, and OggContainerDecoder.
|
inlinevirtual |
Provides the WAV format tag (see AudioFormat) that this decoder handles, if it corresponds to a well defined WAV format tag. Used by WAVDecoder::setDecoder()/addDecoder() to auto-detect the format when it is not explicitly provided. Returns AudioFormat::UNKNOWN if the decoder does not (always) map to a single WAV format tag - in this case the format must be provided explicitly.
Reimplemented in ADPCMDecoder.
|
pure virtualinherited |
Implemented in CodecNOP, AACDecoderFAAD, ADPCMDecoderXQ, APTXDecoder, APTXEncoder, CopyDecoder, CopyEncoder, DSFDecoder, G722Decoder, G722Encoder, GSMDecoder, GSMEncoder, ILBCDecoder, ILBCEncoder, LC3Decoder, LC3Encoder, MP3EncoderLAME, MP3DecoderMini, DecoderNetworkFormat, EncoderNetworkFormat, SBCDecoder, SBCEncoder, WavIMADecoder, BinaryContainerEncoder, BinaryContainerDecoder, OSCContainerEncoder, OSCContainerDecoder, AACDecoderFDK, AACEncoderFDK, AACDecoderHelix, AACEncoderVO, ADPCMDecoder, ADPCMEncoder, ADPCMEncoderXQ, ADTSDecoder, EncoderALAC, AMRNBDecoder, AMRNBEncoder, AMRWBDecoder, AMRWBEncoder, DecoderBase64, EncoderBase64, DecoderBasic, CodecChain, Codec2Decoder, DSFEncoder, FLACEncoder, FLACDecoderFoxen, DecoderFloat, EncoderFloat, G729Decoder, G729Encoder, G7xxDecoder, G7xxEncoder, G711Encoder, G711Decoder, DecoderL16, EncoderL16, DecoderL8, EncoderL8, MP2Decoder, MP3DecoderHelix, MP3DecoderMAD, MP3EncoderShine, MTSDecoder, OpusAudioDecoder, OpusAudioEncoder, OpusMultiStreamAudioDecoder, OpusMultiStreamAudioEncoder, MTSDecoderTSDemux, WAVDecoder, WAVEncoder, DemuxerAVI, ContainerM4A, DemuxerMP4, DemuxerMPG, OggContainerDecoder, OggContainerEncoder, MP3ParserEncoder, MultiDecoder, DecoderAdapter, VorbisDecoder, MetaDataFilterDecoder, MetaDataFilterEncoder, MultiVideoDemuxer, DecoderALAC, EncoderBasic, and Codec2Encoder.
|
inlineprotectedinherited |
|
inherited |
custom id to be used by application
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |