arduino-audio-tools
All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QueueStream< T > Class Template Reference

Stream class which stores the data in a temporary queue buffer. The queue can be consumed e.g. by a callback function by calling readBytes();. More...

#include <BaseStream.h>

Inheritance diagram for QueueStream< T >:
BaseStream Stream Print

Public Member Functions

 QueueStream ()=default
 Empty Constructor: call setBuffer() to set the buffer.
 
 QueueStream (BaseBuffer< T > &buffer)
 Create stream from any BaseBuffer subclass.
 
 QueueStream (int bufferSize, int bufferCount, bool autoRemoveOldestDataIfFull=false)
 Default constructor.
 
int available () override
 
int availableForWrite () override
 
virtual bool begin () override
 Activates the output.
 
virtual bool begin (size_t activeWhenPercentFilled)
 Activate only when filled buffer reached %.
 
void clear ()
 Clears the data in the buffer.
 
virtual void end () override
 stops the processing
 
virtual void flush () override
 
int levelPercent ()
 Returns the fill level in percent.
 
 operator bool ()
 Returns true if active.
 
virtual size_t readBytes (uint8_t *data, size_t len) override
 
void setBuffer (BaseBuffer< T > &buffer)
 
virtual size_t write (const uint8_t *data, size_t len) override
 
virtual size_t write (uint8_t ch) override
 

Protected Member Functions

void refillReadBuffer ()
 

Protected Attributes

int _timeout = 10
 
bool active = false
 
size_t active_limit = 0
 
BaseBuffer< T > * callback_buffer_ptr
 
bool owns_buffer = false
 
bool remove_oldest_data = false
 
RingBuffer< uint8_t > tmp_in {0}
 
RingBuffer< uint8_t > tmp_out {0}
 
size_t total_written = 0
 

Detailed Description

template<class T>
class audio_tools::QueueStream< T >

Stream class which stores the data in a temporary queue buffer. The queue can be consumed e.g. by a callback function by calling readBytes();.

Author
Phil Schatzmann

Member Function Documentation

◆ available()

template<class T >
int available ( )
inlineoverridevirtual

Reimplemented from BaseStream.

◆ availableForWrite()

template<class T >
int availableForWrite ( )
inlineoverridevirtual

Reimplemented from BaseStream.

◆ begin()

template<class T >
virtual bool begin ( )
inlineoverridevirtual

Activates the output.

Reimplemented from BaseStream.

◆ end()

template<class T >
virtual void end ( )
inlineoverridevirtual

stops the processing

Reimplemented from BaseStream.

◆ flush()

virtual void flush ( )
inlineoverridevirtualinherited

Reimplemented from Print.

Reimplemented in ResampleStream, BufferedTaskStream, and BufferedStream.

◆ readBytes()

template<class T >
virtual size_t readBytes ( uint8_t *  data,
size_t  len 
)
inlineoverridevirtual

Implements BaseStream.

◆ write() [1/2]

template<class T >
virtual size_t write ( const uint8_t *  data,
size_t  len 
)
inlineoverridevirtual

Implements BaseStream.

◆ write() [2/2]

virtual size_t write ( uint8_t  ch)
inlineoverridevirtualinherited

Reimplemented in BufferedTaskStream, and BufferedStream.


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