|
arduino-audio-tools
|
MemoryStream which is written and read using the internal RAM. For each write the data is allocated on the heap. More...
#include <BaseStream.h>
Public Member Functions | |
| DynamicMemoryStream ()=default | |
| DynamicMemoryStream (bool isLoop, int defaultBufferSize=DEFAULT_BUFFER_SIZE, int maxRecords=0) | |
| void | assign (DynamicMemoryStream &ref) |
| virtual int | available () override |
| virtual int | availableForWrite () override |
| virtual bool | begin () override |
| Intializes the processing. | |
| void | clear () |
| virtual void | end () override |
| virtual void | flush () override |
| size_t | getPos () |
| Returns the current read position. | |
| List< DataNode * > & | list () |
| operator bool () | |
| template<typename T > | |
| void | postProcessSmoothTransition (int channels, float factor=0.01, int remove=0) |
| Post processing after the recording. We add a smooth transition at the beginning and at the end. | |
| virtual size_t | readBytes (uint8_t *data, size_t len) override |
| void | rewind () |
| Sets the read position to the beginning. | |
| void | setConsumeOnRead (bool consume) |
| Enable or disable consuming reads (remove records as they are read) | |
| virtual void | setLoop (bool loop) |
| Automatically rewinds to the beginning when reaching the end. | |
| void | setMaxRecords (int max_records) |
| void | setWriteBufferSize (int size) |
| size_t | size () |
| 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 () |
| Refill small read buffer (e.g. 8 bytes) to avoid single byte reads when calling read() | |
Protected Attributes | |
| int | _timeout = 10 |
| bool | alloc_failed = false |
| List< DataNode * > | audio_list |
| bool | consume_on_read = false |
| int | default_buffer_size =DEFAULT_BUFFER_SIZE |
| bool | is_loop = false |
| List< DataNode * >::Iterator | it = audio_list.end() |
| int | max_records = 0 |
| size_t | read_pos = 0 |
| RingBuffer< uint8_t > | temp_audio {0} |
| RingBuffer< uint8_t > | tmp_in {0} |
| RingBuffer< uint8_t > | tmp_out {0} |
| size_t | total_available = 0 |
| int | write_buffer_size = MAX_SINGLE_CHARS |
MemoryStream which is written and read using the internal RAM. For each write the data is allocated on the heap.
|
default |
|
inline |
|
inline |
|
inlineoverridevirtual |
Reimplemented from BaseStream.
|
inlineoverridevirtual |
Reimplemented from BaseStream.
|
inlineoverridevirtual |
Intializes the processing.
Reimplemented from BaseStream.
|
inline |
|
inlineoverridevirtual |
Reimplemented from BaseStream.
|
inlineoverridevirtualinherited |
Reimplemented from Print.
Reimplemented in PureDataStream, URLStreamBufferedT< T >, URLStreamBufferedT< ICYStream >, ReformatBaseStream, AudioStreamWrapper, ResampleStream, EncodedAudioStream, URLStream, BufferedTaskStream, I2SStream, MemoryStream, RingBufferStream, GeneratedSoundStream< T >, GeneratedSoundStream< int16_t >, and BufferedStream.
|
inline |
Returns the current read position.
|
inlineinherited |
|
inline |
Post processing after the recording. We add a smooth transition at the beginning and at the end.
| T |
| factor |
|
inlineoverridevirtual |
Implements BaseStream.
|
inlineprotectedinherited |
Refill small read buffer (e.g. 8 bytes) to avoid single byte reads when calling read()
|
inline |
Sets the read position to the beginning.
|
inline |
Enable or disable consuming reads (remove records as they are read)
|
inlinevirtual |
Automatically rewinds to the beginning when reaching the end.
|
inline |
|
inlineinherited |
|
inline |
|
inlineoverridevirtual |
Implements BaseStream.
|
inlineoverridevirtualinherited |
Reimplemented in MemoryStream, AudioStreamWrapper, BufferedTaskStream, RingBufferStream, BufferedStream, and URLStream.
|
protectedinherited |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protectedinherited |
|
protectedinherited |
|
protected |
|
protectedinherited |