arduino-audio-tools
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
GSMEncoder Class Reference

Encoder for GSM - Depends on https://github.com/pschatzmann/arduino-libgsm. Inspired by gsmenc.c. More...

#include <CodecGSM.h>

Inheritance diagram for GSMEncoder:
AudioEncoder AudioWriter AudioInfoSupport

Public Member Functions

 GSMEncoder (bool scaling=true)
 
AudioInfo audioInfo ()
 provides the actual input AudioInfo
 
virtual AudioInfo audioInfoOut ()
 provides the actual output AudioInfo: this is usually the same as audioInfo() unless we use a transforming stream
 
bool begin ()
 
virtual bool begin (AudioInfo info)
 
virtual void end ()
 
virtual const char * mime ()
 Provides the mime type of the encoded result.
 
 operator bool ()
 
void setAudioInfo (AudioInfo from) override
 Defines the sample rate, number of channels and bits per sample.
 
virtual void setOutput (Print &out_stream)
 
virtual size_t write (const void *in_ptr, size_t in_size)
 

Protected Member Functions

void processByte (uint8_t byte)
 
void scaleValues (Vector< uint8_t > &vector)
 
void toBigEndian (Vector< uint8_t > &vector)
 
void writeBlocking (Print *out, uint8_t *data, size_t len)
 

Protected Attributes

int buffer_pos = 0
 
AudioInfo info
 
Vector< uint8_t > input_buffer
 
bool is_active = false
 
Printp_print = nullptr
 
Vector< uint8_t > result_buffer
 
bool scaling_active
 
gsm v_gsm
 

Detailed Description

Encoder for GSM - Depends on https://github.com/pschatzmann/arduino-libgsm. Inspired by gsmenc.c.

Author
Phil Schatzmann

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