arduino-audio-tools
Loading...
Searching...
No Matches
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 (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 ()
 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 ()
 stops the processing
 
virtual void flush () override
 
 operator bool ()
 Returns true if active.
 
virtual size_t readBytes (uint8_t *data, size_t len) override
 
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_ttmp_in {0}
 
RingBuffer< uint8_ttmp_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 ( )
inlinevirtual

Activates the output.

Reimplemented from BaseStream.

◆ end()

template<class T >
virtual void end ( )
inlinevirtual

stops the processing

Reimplemented from BaseStream.

◆ flush()

virtual void flush ( )
inlineoverridevirtualinherited

Reimplemented from Print.

Reimplemented in ResampleStream, ICYStreamBuffered, 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: