arduino-audio-tools
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
OSCContainerEncoder Class Reference

Wraps the encoded data into OSC info and data segments so that the receiver can recover the audio configuration and orignial segments. More...

#include <ContainerOSC.h>

Inheritance diagram for OSCContainerEncoder:
AudioEncoder AudioWriter AudioInfoSupport

Classes

class  OSCOutput
 Output Encoded Audio via OSC. More...
 

Public Member Functions

 OSCContainerEncoder (AudioEncoder &encoder)
 
AudioInfo audioInfo () override
 provides the actual input AudioInfo
 
virtual AudioInfo audioInfoOut ()
 
bool begin () override
 
virtual bool begin (AudioInfo info)
 
void end ()
 
uint64_t getSequenceNumber ()
 Returns the sequence number of the next packet.
 
virtual const char * mime ()
 Provides the mime type of the encoded result.
 
 operator bool ()
 
size_t resendEncodedData (uint8_t *data, size_t len, uint64_t seq)
 Resend the encoded data.
 
void setAudioInfo (AudioInfo info) override
 Defines the sample rate, number of channels and bits per sample.
 
void setEncodedWriteCallback (void(*write_callback)(uint8_t *data, size_t len, uint64_t seq, void *ref))
 Get informed about the encoded packages.
 
void setEncoder (AudioEncoder *encoder)
 
void setInfoActive (bool flag)
 Activate/deactivate the sending of the audio info.
 
void setOutput (Print &outStream)
 
void setReference (void *ref)
 Define a reference object to be provided by the callback.
 
void setRepeatInfoEvery (int packet_count)
 Automatically resend audio info ever nth write.
 
size_t write (const uint8_t *data, size_t len)
 Add data segment. On first write we also add a AudioInfo header.
 

Protected Member Functions

void writeAudioInfo (AudioInfo info, const char *mime)
 OUtput AudioInfo via OSC.
 
void writeBlocking (Print *out, uint8_t *data, size_t len)
 

Protected Attributes

AudioInfo info
 
bool is_active = false
 
bool is_send_info_active = true
 
audio_tools::OSCContainerEncoder::OSCOutput osc_out
 
AudioEncoderp_codec = nullptr
 
Printp_out = nullptr
 
uint64_t packet_count = 0
 
int repeat_info = 0
 

Detailed Description

Wraps the encoded data into OSC info and data segments so that the receiver can recover the audio configuration and orignial segments.

Author
Phil Schatzmann

Member Function Documentation

◆ audioInfo()

AudioInfo audioInfo ( )
inlineoverridevirtualinherited

provides the actual input AudioInfo

Implements AudioInfoSupport.

Reimplemented in CodecNOP, and BinaryContainerEncoder.

◆ audioInfoOut()

virtual AudioInfo audioInfoOut ( )
inlinevirtualinherited

◆ begin() [1/2]

bool begin ( )
inlineoverridevirtual

Implements AudioWriter.

◆ begin() [2/2]

virtual bool begin ( AudioInfo  info)
inlinevirtualinherited

Reimplemented in AACEncoderFDK.

◆ end()

void end ( )
inlinevirtual

Implements AudioWriter.

◆ mime()

virtual const char * mime ( )
inlinevirtual

Provides the mime type of the encoded result.

Implements AudioEncoder.

◆ operator bool()

operator bool ( )
inlinevirtual

Implements AudioWriter.

◆ setAudioInfo()

void setAudioInfo ( AudioInfo  from)
inlineoverridevirtual

Defines the sample rate, number of channels and bits per sample.

Reimplemented from AudioEncoder.

◆ setOutput()

void setOutput ( Print outStream)
inlinevirtual

Implements AudioWriter.

◆ write()

size_t write ( const uint8_t *  data,
size_t  len 
)
inlinevirtual

Add data segment. On first write we also add a AudioInfo header.

Implements AudioWriter.


The documentation for this class was generated from the following file: