arduino-audio-tools
|
Wraps the encoded data into Config, Data, and Meta segments so that we can recover the audio configuration and orignial segments if this is relevant. We assume that a full segment is written with each call of write(); The segments are separated with a new line character. More...
#include <ContainerBinary.h>
Public Member Functions | |
BinaryContainerEncoder (AudioEncoder &encoder) | |
BinaryContainerEncoder (AudioEncoder *encoder) | |
AudioInfo | audioInfo () override |
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 | |
bool | begin () override |
virtual bool | begin (AudioInfo info) |
void | end () |
virtual const char * | mime () |
Provides the mime type of the encoded result. | |
operator bool () | |
void | setAudioInfo (AudioInfo info) override |
Defines the sample rate, number of channels and bits per sample. | |
void | setEncoder (AudioEncoder *encoder) |
void | setOutput (Print &outStream) |
size_t | write (const uint8_t *data, size_t len) |
Add data segment. On first write we also add a AudioInfo header. | |
size_t | writeMeta (const uint8_t *data, size_t len) |
Adds meta data segment. | |
Protected Member Functions | |
size_t | output (const uint8_t *data, size_t len) |
void | writeAudio (const uint8_t *data, size_t len) |
void | writeBlocking (Print *out, uint8_t *data, size_t len) |
void | writeHeader () |
Protected Attributes | |
SimpleContainerConfig | cfg |
SimpleContainerDataHeader | dh |
AudioInfo | info |
bool | is_beginning = true |
SimpleContainerMetaDataHeader | meta |
AudioEncoder * | p_codec = nullptr |
Print * | p_out = nullptr |
uint64_t | packet_count = 0 |
int | repeat_header |
Wraps the encoded data into Config, Data, and Meta segments so that we can recover the audio configuration and orignial segments if this is relevant. We assume that a full segment is written with each call of write(); The segments are separated with a new line character.