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

EncoderL16s - Condenses 16 bit PCM data stream to 8 bits data. Most microcontrollers can not process 8 bit audio data directly. 8 bit data however is very memory efficient and helps if you need to store audio on constrained resources. This encoder translates 16bit data into 8bit data. More...

#include <CodecL16.h>

Inheritance diagram for EncoderL16:
AudioEncoder AudioWriter AudioInfoSupport

Public Member Functions

 EncoderL16 ()
 
 EncoderL16 (Print &out)
 
AudioInfo audioInfo () override
 provides the actual input AudioInfo
 
virtual AudioInfo audioInfoOut ()
 
virtual bool begin () override
 starts the processing using the actual RAWAudioInfo
 
virtual bool begin (AudioInfo info)
 
bool begin (Print &out)
 starts the processing
 
void end () override
 stops the processing
 
virtual uint32_t frameDurationUs ()
 Optional rtsp function: provide the frame duration in microseconds.
 
bool isOpen ()
 
const charmime () override
 Provides "audio/pcm".
 
 operator bool () override
 
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.
 
void setOutput (Print &out_stream) override
 Defines the output Stream.
 
virtual size_t write (const uint8_t *data, size_t len) override
 Writes PCM data to be encoded as RAW.
 

Protected Member Functions

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

Protected Attributes

AudioInfo info
 
bool is_open
 
Printp_print = nullptr
 

Detailed Description

EncoderL16s - Condenses 16 bit PCM data stream to 8 bits data. Most microcontrollers can not process 8 bit audio data directly. 8 bit data however is very memory efficient and helps if you need to store audio on constrained resources. This encoder translates 16bit data into 8bit data.

Author
Phil Schatzmann

Constructor & Destructor Documentation

◆ EncoderL16() [1/2]

EncoderL16 ( )
inline

◆ EncoderL16() [2/2]

EncoderL16 ( Print out)
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/3]

virtual bool begin ( )
inlineoverridevirtual

starts the processing using the actual RAWAudioInfo

Implements AudioWriter.

◆ begin() [2/3]

virtual bool begin ( AudioInfo  info)
inlinevirtualinherited

◆ begin() [3/3]

bool begin ( Print out)
inline

starts the processing

◆ end()

void end ( )
inlineoverridevirtual

stops the processing

Implements AudioWriter.

◆ frameDurationUs()

virtual uint32_t frameDurationUs ( )
inlinevirtualinherited

Optional rtsp function: provide the frame duration in microseconds.

Reimplemented in ADPCMEncoder, OpusOggEncoder, MP3ParserEncoder, and MetaDataFilterEncoder.

◆ isOpen()

bool isOpen ( )
inline

◆ mime()

const char * mime ( )
inlineoverridevirtual

Provides "audio/pcm".

Implements AudioEncoder.

◆ operator bool()

operator bool ( )
inlineoverridevirtual

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()

void setOutput ( Print out_stream)
inlineoverridevirtual

Defines the output Stream.

Reimplemented from AudioEncoder.

◆ write()

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

Writes PCM data to be encoded as RAW.

Implements AudioWriter.

◆ writeBlocking()

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

Member Data Documentation

◆ info

AudioInfo info
protectedinherited

◆ is_open

bool is_open
protected

◆ p_print

Print* p_print = nullptr
protected

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