Decoder for FLAC. Depends on https://github.com/pschatzmann/arduino-libflac. We support an efficient streaming API and an very memory intensitiv standard interface. So you should prefer the streaming interface where you call setOutput() before the begin and copy() in the loop. Validated with http://www.2l.no/hires/.
More...
#include <CodecFLAC.h>
|
bool | isEof (int bytes) |
| We return eof when we were subsequently getting 0 bytes for the timeout period.
|
|
bool | isInputFromStream () |
| Check if input is directly from stream - instead of writes.
|
|
void | notifyAudioChange (AudioInfo info) |
|
size_t | readBytes (uint8_t *data, size_t len) override |
|
|
static void | error_callback (const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data) |
| Error callback.
|
|
static FLAC__StreamDecoderReadStatus | read_callback (const FLAC__StreamDecoder *decoder, FLAC__byte result_buffer[], size_t *bytes, void *client_data) |
| Callback which reads from stream.
|
|
static FLAC__StreamDecoderWriteStatus | write_callback (const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 *const buffer[], void *client_data) |
| Output decoded result to final output stream.
|
|
|
FLAC__StreamDecoder * | decoder = nullptr |
|
AudioInfo | info |
|
FLAC__StreamDecoderInitStatus | init_status |
|
bool | is_active = false |
|
bool | is_md5_checing = false |
|
bool | is_notify_active = true |
|
bool | is_ogg = false |
|
Vector< AudioInfoSupport * > | notify_vector |
|
Stream * | p_input = nullptr |
|
Print * | p_print = nullptr |
|
uint64_t | read_timeout_ms = 10000 |
|
uint64_t | time_last_read = 0 |
|
Decoder for FLAC. Depends on https://github.com/pschatzmann/arduino-libflac. We support an efficient streaming API and an very memory intensitiv standard interface. So you should prefer the streaming interface where you call setOutput() before the begin and copy() in the loop. Validated with http://www.2l.no/hires/.
- Author
- Phil Schatzmann
- Copyright
- GPLv3
◆ setInput()
void setInput |
( |
Stream & |
inStream | ) |
|
|
inlineinherited |
Stream Interface: Decode directly by taking data from the stream. This is more efficient then feeding the decoder with write: just call copy() in the loop
The documentation for this class was generated from the following file: