arduino-audio-tools
|
Provides data from a concatenation of Streams. Please note that the provided Streams can be played only once! You will need to reset them (e.g. moving the file pointer to the beginning) and readd them back if you want to process them a second time. The default timeout on the available() method is set to 0. This might be not good if you use e.g. a URLStream. More...
#include <BaseStream.h>
Public Member Functions | |
void | add (Stream &stream) |
void | add (Stream *stream) |
int | available () override |
virtual int | availableForWrite () override |
bool | begin () |
void | end () |
virtual void | flush () override |
operator bool () | |
Returns true if active and we still have data. | |
size_t | readBytes (uint8_t *data, size_t len) override |
void | setOnBeginCallback (void(*callback)(Stream *stream)) |
void | setOnEndCallback (void(*callback)(Stream *stream)) |
void | setTimeout (uint32_t t) |
size_t | write (const uint8_t *data, size_t size) override |
not supported | |
virtual size_t | write (uint8_t ch) override |
Protected Member Functions | |
int | availableWithTimout () |
bool | moveToNextStreamOnEnd () |
void | refillReadBuffer () |
Protected Attributes | |
uint_fast32_t | _timeout = 0 |
void(* | begin_callback )(Stream *stream) = nullptr |
void(* | end_callback )(Stream *stream) = nullptr |
Vector< Stream * > | input_streams |
bool | is_active = false |
Stream * | p_current_stream = nullptr |
RingBuffer< uint8_t > | tmp_in {0} |
RingBuffer< uint8_t > | tmp_out {0} |
Provides data from a concatenation of Streams. Please note that the provided Streams can be played only once! You will need to reset them (e.g. moving the file pointer to the beginning) and readd them back if you want to process them a second time. The default timeout on the available() method is set to 0. This might be not good if you use e.g. a URLStream.
|
inlineoverridevirtual |
Reimplemented from BaseStream.
Reimplemented from Print.
Reimplemented in UDPStream, A2DPStream, I2SCodecStream, AbstractURLStream, I2SStream, MeasuringStream, ProgressStream, and VolumeStream.
|
inlinevirtual |
Reimplemented from BaseStream.
|
inlinevirtual |
Reimplemented from BaseStream.
Reimplemented from Print.
Reimplemented in ResampleStream, ICYStreamBuffered, BufferedTaskStream, and BufferedStream.
|
inlineprotected |
moves to the next stream if necessary: returns true if we still have a valid stream
Implements BaseStream.
not supported
Implements BaseStream.
Reimplemented in BufferedTaskStream, and BufferedStream.