arduino-audio-tools
Classes | Namespaces | Enumerations | Functions
ContainerBinary.h File Reference

A lean and efficient container format which provides Header records with audio info, Audio records with the audio and Meta which can contain any additional information. This can be used together with a codec which does not transmit the audio information or has variable frame lengths. We expect that a single write() is providing full frames. More...

#include <string.h>
#include "AudioTools/AudioCodecs/AudioCodecsBase.h"
#include "AudioTools/CoreAudio/AudioBasic/StrView.h"

Go to the source code of this file.

Classes

class  BinaryContainerDecoder
 Decodes the provided data from the DAT and CFG segments. More...
 
class  BinaryContainerEncoder
 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...
 
struct  CommonHeader
 
struct  SimpleContainerConfig
 
struct  SimpleContainerDataHeader
 
struct  SimpleContainerMetaDataHeader
 

Namespaces

 audio_tools
 Generic Implementation of sound input and output for desktop environments using portaudio.
 

Enumerations

enum  BinaryContainerEncoderError { InvalidHeader , InvalidChecksum , DataMissing }
 Error types.
 
enum class  ContainerType : uint8_t { Header = 1 , Audio = 2 , Meta = 3 , Undefined = 0 }
 

Functions

static uint8_t checkSum (const uint8_t *data, size_t len)
 Calculates the checksum.
 

Detailed Description

A lean and efficient container format which provides Header records with audio info, Audio records with the audio and Meta which can contain any additional information. This can be used together with a codec which does not transmit the audio information or has variable frame lengths. We expect that a single write() is providing full frames.

Author
Phil Schatzmann
Version
0.1
Date
2022-05-04