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

Converter which converts between bits_per_sample and 16 bits. The templated NumberFormatConverterStreamT class is used based on the information provided by the bits_per_sample in the configuration. More...

#include <AudioStreamsConverter.h>

Inheritance diagram for NumberFormatConverterStream:
ReformatBaseStream AudioStream Stream AudioInfoSupport AudioInfoSource Print

Public Member Functions

 NumberFormatConverterStream (Print &print)
 
 NumberFormatConverterStream (Stream &stream)
 
virtual AudioInfo audioInfo () override
 
virtual int available () override
 
virtual int availableForWrite () override
 
virtual bool begin ()
 
bool begin (AudioInfo info, int to_bit_per_samples)
 
bool begin (int from_bit_per_samples, int to_bit_per_samples)
 
virtual void end ()
 
virtual void flush () override
 
virtual PrintgetPrint ()
 
virtual StreamgetStream ()
 
 operator bool ()
 
size_t readBytes (uint8_t *data, size_t size) override
 
virtual size_t readSilence (uint8_t *buffer, size_t length)
 Source to generate silence: just sets the buffer to 0.
 
void setAudioInfo (AudioInfo info) override
 
void setBuffered (bool flag)
 
virtual void setNotifyAudioChange (AudioInfoSupport &bi) override
 
virtual void setStream (Print &print)
 
virtual void setStream (Stream &stream)
 
void setupReader ()
 
virtual bool validate (AudioInfo &info)
 
virtual size_t write (const uint8_t *data, size_t size) override
 
virtual size_t write (uint8_t ch) override
 
virtual void writeSilence (size_t len)
 Writes len bytes of silence (=0).
 

Protected Member Functions

template<typename TFrom , typename TTo >
NumberFormatConverterStreamT< TFrom, TTo > * getConverter ()
 
virtual int not_supported (int out, const char *msg="")
 
void refillReadBuffer ()
 
void setupStream ()
 

Protected Attributes

int _timeout = 10
 
void * converter = nullptr
 
float factor
 
int from_bit_per_samples = 0
 
AudioInfo info
 
AudioInfoSupportp_notify =nullptr
 
Printp_print = nullptr
 
Streamp_stream = nullptr
 
TransformationReader< ReformatBaseStreamreader
 
RingBuffer< uint8_t > tmp_in {0}
 
RingBuffer< uint8_t > tmp_out {0}
 
int to_bit_per_samples = 0
 

Detailed Description

Converter which converts between bits_per_sample and 16 bits. The templated NumberFormatConverterStreamT class is used based on the information provided by the bits_per_sample in the configuration.

Author
Phil Schatzmann

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