arduino-audio-tools
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ILBCEncoder Class Reference

Encoder for iLBC - Depends on https://github.com/pschatzmann/libopenilbc. More...

#include <CodecILBC.h>

Inheritance diagram for ILBCEncoder:
AudioEncoder AudioWriter AudioInfoSupport

Public Member Functions

 ILBCEncoder (EnumLBCFrameSize frameSize=ms30)
 
 ~ILBCEncoder ()
 
AudioInfo audioInfo () override
 provides the actual input AudioInfo
 
virtual AudioInfo audioInfoOut ()
 
bool begin ()
 
virtual bool begin (AudioInfo info)
 
virtual void end ()
 
virtual uint32_t frameDurationUs ()
 Optional rtsp function: provide the frame duration in microseconds.
 
virtual const charmime ()
 Provides the mime type of the encoded result.
 
 operator bool ()
 
virtual uint16_t samplesPerFrame ()
 Optional rtsp function: provide samples per the frame.
 
void setAudioInfo (AudioInfo from) override
 Defines the sample rate, number of channels and bits per sample.
 
virtual void setOutput (Print &out_stream)
 Default output assignment (encoders may override to store Print reference)
 
virtual size_t write (const uint8_t *data, size_t len)
 

Protected Member Functions

void writeBlocking (Print *out, uint8_t *data, size_t len)
 

Protected Attributes

Vector< floatdecoded_buffer {0}
 
int16_t decoded_buffer_pos = 0
 
Vector< uint8_tencoded_buffer {0}
 
EnumLBCFrameSize frame_size
 
AudioInfo info
 
iLBCEncodep_ilbc = nullptr
 
Printp_print = nullptr
 

Detailed Description

Encoder for iLBC - Depends on https://github.com/pschatzmann/libopenilbc.

Author
Phil Schatzmann

Constructor & Destructor Documentation

◆ ILBCEncoder()

ILBCEncoder ( EnumLBCFrameSize  frameSize = ms30)
inline

◆ ~ILBCEncoder()

~ILBCEncoder ( )
inline

Member Function Documentation

◆ audioInfo()

AudioInfo audioInfo ( )
inlineoverridevirtualinherited

provides the actual input AudioInfo

Implements AudioInfoSupport.

Reimplemented in CodecNOP, BinaryContainerEncoder, and MP3ParserEncoder.

◆ audioInfoOut()

virtual AudioInfo audioInfoOut ( )
inlinevirtualinherited

◆ begin() [1/2]

bool begin ( )
inlinevirtual

Implements AudioWriter.

◆ begin() [2/2]

virtual bool begin ( AudioInfo  info)
inlinevirtualinherited

◆ end()

virtual void end ( )
inlinevirtual

Implements AudioWriter.

◆ frameDurationUs()

virtual uint32_t frameDurationUs ( )
inlinevirtualinherited

Optional rtsp function: provide the frame duration in microseconds.

Reimplemented in ADPCMEncoder, OpusOggEncoder, MP3ParserEncoder, and MetaDataFilterEncoder.

◆ mime()

virtual const char * mime ( )
inlinevirtual

Provides the mime type of the encoded result.

Implements AudioEncoder.

◆ operator bool()

operator bool ( )
inlinevirtual

Implements AudioWriter.

◆ samplesPerFrame()

virtual uint16_t samplesPerFrame ( )
inlinevirtualinherited

Optional rtsp function: provide samples per the frame.

Reimplemented in MP3ParserEncoder, and MetaDataFilterEncoder.

◆ setAudioInfo()

void setAudioInfo ( AudioInfo  from)
inlineoverridevirtualinherited

◆ setOutput()

virtual void setOutput ( Print out_stream)
inlinevirtual

Default output assignment (encoders may override to store Print reference)

Reimplemented from AudioEncoder.

◆ write()

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

Implements AudioWriter.

◆ writeBlocking()

void writeBlocking ( Print out,
uint8_t data,
size_t  len 
)
inlineprotectedinherited

Member Data Documentation

◆ decoded_buffer

Vector<float> decoded_buffer {0}
protected

◆ decoded_buffer_pos

int16_t decoded_buffer_pos = 0
protected

◆ encoded_buffer

Vector<uint8_t> encoded_buffer {0}
protected

◆ frame_size

EnumLBCFrameSize frame_size
protected

◆ info

AudioInfo info
protectedinherited

◆ p_ilbc

iLBCEncode* p_ilbc = nullptr
protected

◆ p_print

Print* p_print = nullptr
protected

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