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 AudioInfo | audioInfo () |
virtual void | begin () |
virtual void | begin (AudioInfo info) |
int | bytesCompressed () |
Provides the compressed length in bytes (after encoding) | |
int | bytesUncompressed () |
virtual void | end () |
virtual bool | isResultPCM () |
If true, the decoding result is PCM data. | |
operator bool () | |
virtual void | setAudioInfo (AudioInfo from) override |
for most decoders this is not needed | |
virtual void | setNotifyAudioChange (AudioInfoSupport &bi) |
Registers an object that is notified if the audio format is changing. | |
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 void *data, size_t length) |
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 | 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 |
AudioInfoSupport * | p_notify = nullptr |
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.