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.