arduino-audio-tools
|
Decoder for SBC. Depends on https://github.com/pschatzmann/arduino-libsbc. Inspired by sbcdec.c. More...
#include <CodecSBC.h>
Public Member Functions | |
SBCDecoder (int bufferSize=8192) | |
virtual void | addNotifyAudioChange (AudioInfoSupport &bi) |
Adds target to be notified about audio changes. | |
virtual AudioInfo | audioInfo () |
provides the actual input AudioInfo | |
virtual AudioInfo | audioInfoOut () |
provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream | |
virtual bool | begin () |
virtual bool | begin (AudioInfo info) override |
int | bytesCompressed () |
Provides the compressed length in bytes (after encoding) | |
int | bytesUncompressed () |
virtual void | clearNotifyAudioChange () |
Deletes all change notify subscriptions. | |
virtual void | end () |
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 () | |
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 | 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) |
Defines where the decoded result is written to. | |
virtual size_t | write (const uint8_t *data, size_t len) |
Public Attributes | |
int | id |
custom id to be used by application | |
Protected Member Functions | |
int | codeSize () |
int | firstWrite (const void *data, size_t length) |
Determines the framelen. | |
int | frameLength () |
Provides the compressed length in bytes (after encoding) | |
bool | isValidFrameLen (int len) |
void | notifyAudioChange (AudioInfo info) |
void | processByte (uint8_t byte) |
Build decoding buffer and decode when frame is full. | |
void | setupAudioInfo () |
Process audio info. | |
void | setupInputBuffer (int len) |
void | writeBlocking (Print *out, uint8_t *data, size_t len) |
Protected Attributes | |
int | framelen |
AudioInfo | info |
uint8_t * | input_buffer = nullptr |
int | input_pos = 0 |
bool | is_active = false |
bool | is_first = true |
bool | is_notify_active = true |
Vector< AudioInfoSupport * > | notify_vector |
Print * | p_print = nullptr |
uint8_t * | result_buffer = nullptr |
int | result_buffer_size |
sbc_t | sbc |
Decoder for SBC. Depends on https://github.com/pschatzmann/arduino-libsbc. Inspired by sbcdec.c.
|
inlinevirtualinherited |
Adds target to be notified about audio changes.
Reimplemented in CodecNOP, MP3DecoderMAD, EncodedAudioOutput, EncodedAudioStream, AACDecoderFDK, DecoderBasic, MP3DecoderHelix, OggContainerDecoder, Pipeline, and Pipeline::ModifyingStreamAdapter.
provides the actual input AudioInfo
Implements AudioInfoSupport.
Reimplemented in CodecNOP, GGWaveDecoder, AACDecoderFDK, AACDecoderHelix, DecoderBasic, DecoderHelix, MP3DecoderHelix, MP3DecoderMAD, OpusAudioDecoder, WAVDecoder, WavIMADecoder, and OggContainerDecoder.
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.
Reimplemented from AudioDecoder.
Reimplemented from AudioWriter.
Reimplemented from AudioDecoder.
Returns true to indicate that the decoding result is PCM data.
Reimplemented in CopyDecoder, and GGWaveDecoder.
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 where the decoded result is written to.
Reimplemented from AudioDecoder.