arduino-audio-tools
Loading...
Searching...
No Matches
G7xxDecoder Class Reference

g723_24, g721, g723_40 Decoder based on https://github.com/pschatzmann/codec-g7xx More...

#include <CodecG7xx.h>

Inheritance diagram for G7xxDecoder:
AudioDecoder AudioWriter AudioInfoSource AudioWriter AudioInfoSource AudioInfoSupport AudioInfoSupport AudioInfoSupport AudioInfoSupport G711Decoder G721Decoder G723_24Decoder G723_40Decoder G711_ALAWDecoder G711_ULAWDecoder

Public Member Functions

 G7xxDecoder (G7xxCODEC_e codec)
virtual void addNotifyAudioChange (AudioInfoSupport &bi)
 Adds target to be notified about audio changes.
virtual void addNotifyAudioChange (AudioInfoSupport &bi)
 Adds target to be notified about audio changes.
AudioInfo audioInfo () override
 provides the actual input AudioInfo
AudioInfo audioInfo () override
 provides the actual input AudioInfo
virtual AudioInfo audioInfoOut ()
virtual AudioInfo audioInfoOut ()
virtual bool begin (AudioInfo info) override
bool begin () override
virtual void clearNotifyAudioChange ()
 Deletes all change notify subscriptions.
virtual void clearNotifyAudioChange ()
 Deletes all change notify subscriptions.
void end () override
Print * getOutput ()
Print * getOutput ()
bool isNotifyActive ()
 Checks if the automatic AudioInfo update is active.
bool isNotifyActive ()
 Checks if the automatic AudioInfo update is active.
virtual bool isResultPCM ()
 Returns true to indicate that the decoding result is PCM data.
virtual bool isResultPCM ()
 Returns true to indicate that the decoding result is PCM data.
const char * mime () override
 Provides the mime type of the data that is expected by this decoder.
 operator bool ()
virtual bool removeNotifyAudioChange (AudioInfoSupport &bi)
 Removes a target in order not to be notified about audio changes.
virtual bool removeNotifyAudioChange (AudioInfoSupport &bi)
 Removes a target in order not to be notified about audio changes.
void setAudioInfo (AudioInfo from) override
 for most decoders this is not needed
void setAudioInfo (AudioInfo info) override
virtual bool setCodecConfig (const uint8_t *data, size_t len)
 Some decoders need e.g. a magic cookie to provide the relevant info for decoding.
virtual bool setCodecConfig (const uint8_t *data, size_t len)
 Some decoders need e.g. a magic cookie to provide the relevant info for decoding.
void setNotifyActive (bool flag)
 Deactivate/Reactivate automatic AudioInfo updates: (default is active).
void setNotifyActive (bool flag)
 Deactivate/Reactivate automatic AudioInfo updates: (default is active).
virtual void setOutput (AudioOutput &out_stream)
 Defines where the decoded result is written to.
virtual void setOutput (AudioStream &out_stream)
 Defines where the decoded result is written to.
void setOutput (Print &out_stream) override
 Defines where the decoded result is written to.
size_t write (const uint8_t *data, size_t len) override

Public Attributes

int id
 custom id to be used by application

Protected Member Functions

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

Protected Attributes

unsigned char code
int dec_bits
int(* dec_routine )(int code, int out_coding, struct g72x_state *state_ptr)
int in_bits = 0
unsigned int in_buffer = 0
AudioInfo info
int input_pos = 0
bool is_active = false
bool is_notify_active = true
int n
Vector< AudioInfoSupport * > notify_vector
int out_size
const char * p_mime = nullptr
Print * p_print = nullptr
int16_t sample
struct g72x_state state

Detailed Description

g723_24, g721, g723_40 Decoder based on https://github.com/pschatzmann/codec-g7xx

Author
Phil Schatzmann

Constructor & Destructor Documentation

◆ G7xxDecoder()

G7xxDecoder ( G7xxCODEC_e codec)
inline

Member Function Documentation

◆ addNotifyAudioChange() [1/2]

virtual void addNotifyAudioChange ( AudioInfoSupport & bi)
inlinevirtualinherited

Adds target to be notified about audio changes.

Reimplemented in CodecNOP, CodecNOP, EncodedAudioOutput, and EncodedAudioStream.

◆ addNotifyAudioChange() [2/2]

virtual void addNotifyAudioChange ( AudioInfoSupport & bi)
inlinevirtualinherited

Adds target to be notified about audio changes.

Reimplemented in CodecNOP, CodecNOP, EncodedAudioOutput, and EncodedAudioStream.

◆ audioInfo() [1/2]

◆ audioInfo() [2/2]

◆ audioInfoOut() [1/2]

◆ audioInfoOut() [2/2]

◆ begin() [1/2]

virtual bool begin ( AudioInfo info)
inlineoverridevirtualinherited

Reimplemented from AudioWriter.

◆ begin() [2/2]

bool begin ( )
inlineoverridevirtual

Reimplemented from AudioDecoder.

◆ clearNotifyAudioChange() [1/2]

virtual void clearNotifyAudioChange ( )
inlinevirtualinherited

◆ clearNotifyAudioChange() [2/2]

virtual void clearNotifyAudioChange ( )
inlinevirtualinherited

◆ end()

void end ( )
inlineoverridevirtual

Reimplemented from AudioDecoder.

◆ getOutput() [1/2]

Print * getOutput ( )
inlineinherited

◆ getOutput() [2/2]

Print * getOutput ( )
inlineinherited

◆ isNotifyActive() [1/2]

bool isNotifyActive ( )
inlineinherited

Checks if the automatic AudioInfo update is active.

◆ isNotifyActive() [2/2]

bool isNotifyActive ( )
inlineinherited

Checks if the automatic AudioInfo update is active.

◆ isResultPCM() [1/2]

virtual bool isResultPCM ( )
inlinevirtualinherited

Returns true to indicate that the decoding result is PCM data.

Reimplemented in ContainerM4A, CopyDecoder, and DecoderNetworkFormat.

◆ isResultPCM() [2/2]

virtual bool isResultPCM ( )
inlinevirtualinherited

Returns true to indicate that the decoding result is PCM data.

Reimplemented in ContainerM4A, CopyDecoder, and DecoderNetworkFormat.

◆ mime()

const char * mime ( )
inlineoverridevirtual

Provides the mime type of the data that is expected by this decoder.

Implements AudioDecoder.

◆ notifyAudioChange() [1/2]

void notifyAudioChange ( AudioInfo info)
inlineprotectedinherited

◆ notifyAudioChange() [2/2]

void notifyAudioChange ( AudioInfo info)
inlineprotectedinherited

◆ operator bool()

operator bool ( )
inlinevirtual

Implements AudioWriter.

◆ removeNotifyAudioChange() [1/2]

virtual bool removeNotifyAudioChange ( AudioInfoSupport & bi)
inlinevirtualinherited

Removes a target in order not to be notified about audio changes.

◆ removeNotifyAudioChange() [2/2]

virtual bool removeNotifyAudioChange ( AudioInfoSupport & bi)
inlinevirtualinherited

Removes a target in order not to be notified about audio changes.

◆ setAudioInfo() [1/2]

void setAudioInfo ( AudioInfo from)
inlineoverridevirtualinherited

for most decoders this is not needed

Implements AudioWriter.

Reimplemented in CodecNOP, and CodecNOP.

◆ setAudioInfo() [2/2]

void setAudioInfo ( AudioInfo info)
inlineoverride

◆ setCodecConfig() [1/2]

virtual bool setCodecConfig ( const uint8_t * data,
size_t len )
inlinevirtualinherited

Some decoders need e.g. a magic cookie to provide the relevant info for decoding.

Reimplemented in DecoderALAC, and MultiDecoder.

◆ setCodecConfig() [2/2]

virtual bool setCodecConfig ( const uint8_t * data,
size_t len )
inlinevirtualinherited

Some decoders need e.g. a magic cookie to provide the relevant info for decoding.

Reimplemented in DecoderALAC, and MultiDecoder.

◆ setNotifyActive() [1/2]

void setNotifyActive ( bool flag)
inlineinherited

Deactivate/Reactivate automatic AudioInfo updates: (default is active).

◆ setNotifyActive() [2/2]

void setNotifyActive ( bool flag)
inlineinherited

Deactivate/Reactivate automatic AudioInfo updates: (default is active).

◆ setOutput() [1/3]

virtual void setOutput ( AudioOutput & out_stream)
inlinevirtualinherited

Defines where the decoded result is written to.

◆ setOutput() [2/3]

virtual void setOutput ( AudioStream & out_stream)
inlinevirtualinherited

Defines where the decoded result is written to.

◆ setOutput() [3/3]

void setOutput ( Print & out_stream)
inlineoverridevirtual

Defines where the decoded result is written to.

Reimplemented from AudioDecoder.

◆ write()

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

Implements AudioWriter.

◆ writeBlocking() [1/2]

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

◆ writeBlocking() [2/2]

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

Member Data Documentation

◆ code

unsigned char code
protected

◆ dec_bits

int dec_bits
protected

◆ dec_routine

int(* dec_routine) (int code, int out_coding, struct g72x_state *state_ptr)
protected

◆ id

int id
inherited

custom id to be used by application

◆ in_bits

int in_bits = 0
protected

◆ in_buffer

unsigned int in_buffer = 0
protected

◆ info

AudioInfo info
protectedinherited

◆ input_pos

int input_pos = 0
protected

◆ is_active

bool is_active = false
protected

◆ is_notify_active

bool is_notify_active = true
protectedinherited

◆ n

int n
protected

◆ notify_vector

Vector< AudioInfoSupport * > notify_vector
protectedinherited

◆ out_size

int out_size
protected

◆ p_mime

const char* p_mime = nullptr
protected

◆ p_print

Print* p_print = nullptr
protected

◆ sample

int16_t sample
protected

◆ state

struct g72x_state state
protected

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