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

Base class for all Streams. It relies on write(const uint8_t *buffer, size_t size) and readBytes(uint8_t *buffer, size_t length). More...

#include <BaseStream.h>

Inheritance diagram for BaseStream:
Stream Print FileLoopT< File > QueueStream< uint8_t > AudioStream CatStream DynamicMemoryStream ESPNowStream FileLoopT< FileType > HammingFEC< bytecount, block_t > HttpRequest NullStream ObjectStream QueueStream< T > ReedSolomonFEC< bytecount, additional_bytes > StdioStream UDPStream

Public Member Functions

 BaseStream ()=default
 
 BaseStream (BaseStream &)=default
 
virtual ~BaseStream ()=default
 
virtual int available () override
 
virtual int availableForWrite () override
 
virtual bool begin ()
 
virtual void end ()
 
virtual void flush () override
 
 operator bool ()
 
BaseStreamoperator= (BaseStream &)=default
 
virtual size_t readBytes (uint8_t *data, size_t len)=0
 
void setWriteBufferSize (int size)
 
virtual size_t write (const uint8_t *data, size_t len) override=0
 
virtual size_t write (uint8_t ch) override
 

Protected Member Functions

void refillReadBuffer ()
 Refill small read buffer (e.g. 8 bytes) to avoid single byte reads when calling read()
 

Protected Attributes

int _timeout = 10
 
RingBuffer< uint8_ttmp_in {0}
 
RingBuffer< uint8_ttmp_out {0}
 
int write_buffer_size = MAX_SINGLE_CHARS
 

Detailed Description

Base class for all Streams. It relies on write(const uint8_t *buffer, size_t size) and readBytes(uint8_t *buffer, size_t length).

Author
Phil Schatzmann

Constructor & Destructor Documentation

◆ BaseStream() [1/2]

BaseStream ( )
default

◆ ~BaseStream()

virtual ~BaseStream ( )
virtualdefault

◆ BaseStream() [2/2]

BaseStream ( BaseStream )
default

Member Function Documentation

◆ available()

virtual int available ( )
inlineoverridevirtual

◆ availableForWrite()

virtual int availableForWrite ( )
inlineoverridevirtual

◆ begin()

virtual bool begin ( )
inlinevirtual

◆ end()

virtual void end ( )
inlinevirtual

◆ flush()

virtual void flush ( )
inlineoverridevirtual

◆ operator bool()

operator bool ( )
inlineinherited

◆ operator=()

BaseStream & operator= ( BaseStream )
default

◆ readBytes()

virtual size_t readBytes ( uint8_t data,
size_t  len 
)
pure virtual

Reimplemented from Stream.

Implemented in LMSEchoCancellationStream< T >, MDFEchoCancellationStream< Allocator >, MozziStream, PureDataStream, AudioLoRa, URLStreamBufferedT< T >, URLStreamBufferedT< ICYStream >, AudioStreamWrapper, LoRaStream, EncodedAudioStream, FaustStream< DSP >, AudioFFTBase, AudioKitStream, AudioMP34DT05, I2SCodecStream, MiniAudioStream, PortAudioStream, StdioStream, TfLiteAudioStream, A2DPStream, AdaptiveResamplingStream, ESPNowStream, HammingFEC< bytecount, block_t >, HLSStreamT< URLStream >, ICYStreamT< T >, URLStream, BufferedTaskStream, URLStreamESP32, ReedSolomonFEC< bytecount, additional_bytes >, UDPStream, VBANStream, AnalogAudioArduino, AnalogAudioStream, AudioEffectStreamT< T >, Equalizer3Bands, Equalizer3BandsPerChannel, I2SStream, ReformatBaseStream, TimedStream, MemoryStream, RingBufferStream, GeneratedSoundStream< T >, GeneratedSoundStream< int16_t >, BufferedStream, ConverterStream< T >, MeasuringStream, ProgressStream, Throttle, InputMixer< T >, InputMerge< T >, CallbackStream, FilteredStream< T, TF >, FilteredStream< int16_t, int16_t >, VolumeMeter, AudioInputMonitor, ChannelFormatConverterStreamT< T >, ChannelFormatConverterStream, NumberFormatConverterStreamT< TFrom, TTo >, NumberFormatConverterStream, AudioStream, CatStream, NullStream, QueueStream< T >, QueueStream< uint8_t >, DynamicMemoryStream, FadeStream, FrequencyDetectorAutoCorrelation, FrequencyDetectorZeroCrossing, GoertzelStream, Pipeline, VolumeStream, FileLoopT< FileType >, FileLoopT< File >, AudioBLEClient, AudioBLEClient, AudioBLEServer, AudioBLEServer, EqualizerNBands< SampleT, AccT, NUM_TAPS, NUM_BANDS >, WM8960Stream, AnalogDriverESP32V1::IO16Bit, AnalogDriverESP32V2::IO16Bit, and HttpRequest.

◆ refillReadBuffer()

void refillReadBuffer ( )
inlineprotected

Refill small read buffer (e.g. 8 bytes) to avoid single byte reads when calling read()

◆ setWriteBufferSize()

void setWriteBufferSize ( int  size)
inline

◆ write() [1/2]

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

Reimplemented from Print.

Implemented in URLStream, LMSEchoCancellationStream< T >, MDFEchoCancellationStream< Allocator >, AudioBLEServer, ESP3288AudioOutput, I2SCodecStream, MozziStream, PureDataStream, SPDIFOutput, AudioLoRa, I2SStream, AudioStreamWrapper, ConverterStream< T >, FileLoopT< FileType >, FileLoopT< File >, LoRaStream, EncodedAudioStream, FaustStream< DSP >, AudioFFTBase, AudioKitStream, MiniAudioStream, PortAudioStream, StdioStream, TfLiteAudioStream, VS1053Stream, A2DPStream, AdaptiveResamplingStream, ESPNowStream, HammingFEC< bytecount, block_t >, HttpRequest, BufferedTaskStream, URLStreamESP32, ReedSolomonFEC< bytecount, additional_bytes >, UDPStream, VBANStream, AnalogAudioArduino, AnalogAudioStream, AudioEffectStreamT< T >, Equalizer3Bands, Equalizer3BandsPerChannel, AdapterAudioOutputToAudioStream, TimedStream, MemoryStream, RingBufferStream, BufferedStream, MeasuringStream, ProgressStream, Throttle, CallbackStream, FilteredStream< T, TF >, FilteredStream< int16_t, int16_t >, VolumeMeter, AudioInputMonitor, ChannelFormatConverterStreamT< T >, ChannelFormatConverterStream, NumberFormatConverterStreamT< TFrom, TTo >, NumberFormatConverterStream, FormatConverterStream, AudioStream, NullStream, QueueStream< T >, QueueStream< uint8_t >, DynamicMemoryStream, FadeStream, FrequencyDetectorAutoCorrelation, FrequencyDetectorZeroCrossing, GoertzelStream, Pipeline, Pipeline::ModifyingStreamAdapter, ResampleStream, ResampleStreamT< TInterpolator >, VolumeStream, AudioBLEClient, AudioBLEClient, AudioBLEServer, EqualizerNBands< SampleT, AccT, NUM_TAPS, NUM_BANDS >, TfLiteAudioStreamBase, WM8960Stream, CatStream, AnalogDriverESP32V1::IO16Bit, and AnalogDriverESP32V2::IO16Bit.

◆ write() [2/2]

virtual size_t write ( uint8_t  ch)
inlineoverridevirtual

Member Data Documentation

◆ _timeout

int _timeout = 10
protectedinherited

◆ tmp_in

RingBuffer<uint8_t> tmp_in {0}
protected

◆ tmp_out

RingBuffer<uint8_t> tmp_out {0}
protected

◆ write_buffer_size

int write_buffer_size = MAX_SINGLE_CHARS
protected

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