|
arduino-audio-tools
|
Shared functionality of all buffers. More...
#include <Buffers.h>
Public Member Functions | |
| BaseBuffer ()=default | |
| BaseBuffer (const BaseBuffer &)=default | |
| virtual | ~BaseBuffer ()=default |
| virtual T * | address ()=0 |
| returns the address of the start of the physical read buffer | |
| virtual int | available ()=0 |
| provides the number of entries that are available to read | |
| virtual int | availableForWrite ()=0 |
| provides the number of entries that are available to write | |
| virtual int | bufferCountEmpty () |
| Provides the number of entries that are available to write: -1 does not apply. | |
| virtual int | bufferCountFilled () |
| Provides the number of entries that are available to read: -1 does not apply. | |
| void | clear () |
| same as reset | |
| virtual int | clearArray (int len) |
| Removes the next len entries. | |
| virtual void | flush () |
| bool | isEmpty () |
| virtual bool | isFull () |
| checks if the buffer is full | |
| virtual float | levelPercent () |
| Returns the level of the buffer in %. | |
| BaseBuffer & | operator= (const BaseBuffer &)=default |
| virtual bool | peek (T &result)=0 |
| peeks the actual entry from the buffer | |
| virtual bool | read (T &result)=0 |
| reads a single value | |
| virtual int | readArray (T data[], int len) |
| reads multiple values | |
| virtual void | reset ()=0 |
| clears the buffer | |
| virtual bool | resize (size_t bytes) |
| Resizes the buffer if supported: returns false if not supported. | |
| virtual size_t | size ()=0 |
| virtual bool | write (T data)=0 |
| write add an entry to the buffer | |
| virtual int | writeArray (const T data[], int len) |
| Fills the buffer data. | |
| virtual int | writeArrayOverwrite (const T data[], int len) |
| Fills the buffer data and overwrites the oldest data if the buffer is full. | |
Shared functionality of all buffers.
|
default |
|
virtualdefault |
|
default |
returns the address of the start of the physical read buffer
Implemented in VariableSpeedRingBufferSimple< T >, VariableSpeedRingBuffer180< T >, VariableSpeedRingBuffer< T >, VariableSpeedRingBuffer< int16_t >, NBuffer< T >, NBuffer< Frame >, NBuffer< T >, NBuffer< uint8_t >, NBufferFile< File, T >, M4AFileSampleSizeBuffer, AdaptiveResamplingBuffer, RedisBuffer< T >, RingBufferSPSC< T >, RingBufferSPSC< uint8_t >, BufferRP2040T< T >, BufferRTOS< T >, BufferRTOS< uint8_t >, SynchronizedBuffer< T >, BufferZephyr< T >, SingleBuffer< T >, SingleBuffer< float >, SingleBuffer< int16_t >, SingleBuffer< int32_t >, SingleBuffer< stsz_sample_size_t >, SingleBuffer< T >, SingleBuffer< uint32_t >, SingleBuffer< uint8_t >, RingBuffer< T >, RingBuffer< int16_t >, RingBuffer< Sample >, RingBuffer< T >, RingBuffer< uint16_t >, RingBuffer< uint8_t >, RingBufferFile< File, T >, and DynamicMultiBuffer< T, BufferType >.
provides the number of entries that are available to read
Implemented in M4AFileSampleSizeBuffer, VariableSpeedRingBufferSimple< T >, VariableSpeedRingBuffer180< T >, VariableSpeedRingBuffer< T >, VariableSpeedRingBuffer< int16_t >, NBuffer< T >, NBuffer< Frame >, NBuffer< T >, NBuffer< uint8_t >, AdaptiveResamplingBuffer, RedisBuffer< T >, RingBufferSPSC< T >, RingBufferSPSC< uint8_t >, BufferRP2040T< T >, BufferRTOS< T >, BufferRTOS< uint8_t >, SynchronizedBuffer< T >, BufferZephyr< T >, SingleBuffer< T >, SingleBuffer< float >, SingleBuffer< int16_t >, SingleBuffer< int32_t >, SingleBuffer< stsz_sample_size_t >, SingleBuffer< T >, SingleBuffer< uint32_t >, SingleBuffer< uint8_t >, RingBuffer< T >, RingBuffer< int16_t >, RingBuffer< Sample >, RingBuffer< T >, RingBuffer< uint16_t >, RingBuffer< uint8_t >, RingBufferFile< File, T >, NBufferFile< File, T >, and DynamicMultiBuffer< T, BufferType >.
provides the number of entries that are available to write
Implemented in VariableSpeedRingBufferSimple< T >, VariableSpeedRingBuffer180< T >, VariableSpeedRingBuffer< T >, VariableSpeedRingBuffer< int16_t >, NBuffer< T >, NBuffer< Frame >, NBuffer< T >, NBuffer< uint8_t >, M4AFileSampleSizeBuffer, AdaptiveResamplingBuffer, RedisBuffer< T >, RingBufferSPSC< T >, RingBufferSPSC< uint8_t >, BufferRP2040T< T >, BufferRTOS< T >, BufferRTOS< uint8_t >, SynchronizedBuffer< T >, BufferZephyr< T >, SingleBuffer< T >, SingleBuffer< float >, SingleBuffer< int16_t >, SingleBuffer< int32_t >, SingleBuffer< stsz_sample_size_t >, SingleBuffer< T >, SingleBuffer< uint32_t >, SingleBuffer< uint8_t >, RingBuffer< T >, RingBuffer< int16_t >, RingBuffer< Sample >, RingBuffer< T >, RingBuffer< uint16_t >, RingBuffer< uint8_t >, RingBufferFile< File, T >, NBufferFile< File, T >, and DynamicMultiBuffer< T, BufferType >.
Provides the number of entries that are available to write: -1 does not apply.
Reimplemented in SynchronizedNBufferRTOST< T >, SynchronizedNBufferZephyrT< T >, NBuffer< T >, NBuffer< Frame >, NBuffer< T >, and NBuffer< uint8_t >.
Provides the number of entries that are available to read: -1 does not apply.
Reimplemented in SynchronizedNBufferRTOST< T >, SynchronizedNBufferZephyrT< T >, NBuffer< T >, NBuffer< Frame >, NBuffer< T >, and NBuffer< uint8_t >.
Removes the next len entries.
Reimplemented in SingleBuffer< T >, SingleBuffer< float >, SingleBuffer< int16_t >, SingleBuffer< int32_t >, SingleBuffer< stsz_sample_size_t >, SingleBuffer< T >, SingleBuffer< uint32_t >, and SingleBuffer< uint8_t >.
Submit any partially-filled write buffer so the reader can access it. Only meaningful for NBuffer-style block pools; no-op for ring buffers.
Reimplemented in NBuffer< T >, NBuffer< Frame >, NBuffer< T >, and NBuffer< uint8_t >.
checks if the buffer is full
Reimplemented in VariableSpeedRingBufferSimple< T >, VariableSpeedRingBuffer180< T >, VariableSpeedRingBuffer< T >, VariableSpeedRingBuffer< int16_t >, NBuffer< T >, NBuffer< Frame >, NBuffer< T >, NBuffer< uint8_t >, BufferRP2040T< T >, BufferRTOS< T >, BufferRTOS< uint8_t >, SynchronizedBuffer< T >, BufferZephyr< T >, SingleBuffer< T >, SingleBuffer< float >, SingleBuffer< int16_t >, SingleBuffer< int32_t >, SingleBuffer< stsz_sample_size_t >, SingleBuffer< T >, SingleBuffer< uint32_t >, SingleBuffer< uint8_t >, RingBuffer< T >, RingBuffer< int16_t >, RingBuffer< Sample >, RingBuffer< T >, RingBuffer< uint16_t >, RingBuffer< uint8_t >, RingBufferFile< File, T >, and DynamicMultiBuffer< T, BufferType >.
Returns the level of the buffer in %.
Reimplemented in AdaptiveResamplingBuffer.
|
default |
peeks the actual entry from the buffer
Implemented in M4AFileSampleSizeBuffer, NBufferFile< File, T >, VariableSpeedRingBufferSimple< T >, VariableSpeedRingBuffer180< T >, VariableSpeedRingBuffer< T >, RedisBuffer< T >, RingBufferSPSC< T >, BufferRP2040T< T >, BufferRTOS< T >, SynchronizedBuffer< T >, BufferZephyr< T >, SingleBuffer< T >, SingleBuffer< T >, RingBuffer< T >, RingBuffer< T >, RingBufferFile< File, T >, NBuffer< T >, NBuffer< T >, DynamicMultiBuffer< T, BufferType >, and AdaptiveResamplingBuffer.
reads a single value
Implemented in M4AFileSampleSizeBuffer, BufferRP2040T< T >, VariableSpeedRingBufferSimple< T >, VariableSpeedRingBuffer180< T >, VariableSpeedRingBuffer< T >, RedisBuffer< T >, RingBufferSPSC< T >, BufferRTOS< T >, SynchronizedBuffer< T >, BufferZephyr< T >, SingleBuffer< T >, SingleBuffer< T >, RingBuffer< T >, RingBuffer< T >, RingBufferFile< File, T >, NBuffer< T >, NBuffer< T >, NBufferFile< File, T >, DynamicMultiBuffer< T, BufferType >, and AdaptiveResamplingBuffer.
reads multiple values
Reimplemented in RingBufferFile< File, T >, BufferRTOS< T >, SynchronizedBuffer< T >, RedisBuffer< T >, RingBufferSPSC< T >, BufferRP2040T< T >, BufferZephyr< T >, NBuffer< T >, NBuffer< T >, NBufferFile< File, T >, DynamicMultiBuffer< T, BufferType >, and AdaptiveResamplingBuffer.
clears the buffer
Implemented in M4AFileSampleSizeBuffer, VariableSpeedRingBufferSimple< T >, VariableSpeedRingBuffer180< T >, VariableSpeedRingBuffer< T >, VariableSpeedRingBuffer< int16_t >, NBuffer< T >, NBuffer< Frame >, NBuffer< T >, NBuffer< uint8_t >, NBufferFile< File, T >, AdaptiveResamplingBuffer, RedisBuffer< T >, RingBufferSPSC< T >, RingBufferSPSC< uint8_t >, BufferRP2040T< T >, BufferRTOS< T >, BufferRTOS< uint8_t >, SynchronizedBuffer< T >, BufferZephyr< T >, SingleBuffer< T >, SingleBuffer< float >, SingleBuffer< int16_t >, SingleBuffer< int32_t >, SingleBuffer< stsz_sample_size_t >, SingleBuffer< T >, SingleBuffer< uint32_t >, SingleBuffer< uint8_t >, RingBuffer< T >, RingBuffer< int16_t >, RingBuffer< Sample >, RingBuffer< T >, RingBuffer< uint16_t >, RingBuffer< uint8_t >, RingBufferFile< File, T >, and DynamicMultiBuffer< T, BufferType >.
Resizes the buffer if supported: returns false if not supported.
Reimplemented in NBuffer< T >, NBuffer< Frame >, NBuffer< T >, NBuffer< uint8_t >, RingBufferSPSC< T >, RingBufferSPSC< uint8_t >, RingBuffer< T >, RingBuffer< int16_t >, RingBuffer< Sample >, RingBuffer< T >, RingBuffer< uint16_t >, RingBuffer< uint8_t >, DynamicMultiBuffer< T, BufferType >, BufferRP2040T< T >, BufferRTOS< T >, BufferRTOS< uint8_t >, BufferZephyr< T >, VariableSpeedRingBufferSimple< T >, VariableSpeedRingBuffer180< T >, VariableSpeedRingBuffer< T >, VariableSpeedRingBuffer< int16_t >, SingleBuffer< T >, SingleBuffer< float >, SingleBuffer< int16_t >, SingleBuffer< int32_t >, SingleBuffer< stsz_sample_size_t >, SingleBuffer< T >, SingleBuffer< uint32_t >, SingleBuffer< uint8_t >, RingBufferFile< File, T >, and RedisBuffer< T >.
Implemented in BufferRP2040T< T >, BufferRTOS< T >, BufferRTOS< uint8_t >, SynchronizedNBufferRTOST< T >, SynchronizedBuffer< T >, SynchronizedNBufferZephyrT< T >, VariableSpeedRingBufferSimple< T >, VariableSpeedRingBuffer180< T >, VariableSpeedRingBuffer< T >, VariableSpeedRingBuffer< int16_t >, NBuffer< T >, NBuffer< Frame >, NBuffer< T >, NBuffer< uint8_t >, M4AFileSampleSizeBuffer, AdaptiveResamplingBuffer, RedisBuffer< T >, RingBufferSPSC< T >, RingBufferSPSC< uint8_t >, BufferZephyr< T >, SingleBuffer< T >, SingleBuffer< float >, SingleBuffer< int16_t >, SingleBuffer< int32_t >, SingleBuffer< stsz_sample_size_t >, SingleBuffer< T >, SingleBuffer< uint32_t >, SingleBuffer< uint8_t >, RingBuffer< T >, RingBuffer< int16_t >, RingBuffer< Sample >, RingBuffer< T >, RingBuffer< uint16_t >, RingBuffer< uint8_t >, RingBufferFile< File, T >, NBufferFile< File, T >, and DynamicMultiBuffer< T, BufferType >.
write add an entry to the buffer
Implemented in M4AFileSampleSizeBuffer, NBuffer< T >, NBuffer< T >, RedisBuffer< T >, RingBufferSPSC< T >, BufferRP2040T< T >, BufferRTOS< T >, SynchronizedBuffer< T >, BufferZephyr< T >, RingBuffer< T >, RingBuffer< T >, RingBufferFile< File, T >, DynamicMultiBuffer< T, BufferType >, VariableSpeedRingBufferSimple< T >, VariableSpeedRingBuffer180< T >, VariableSpeedRingBuffer< T >, SingleBuffer< T >, SingleBuffer< T >, NBufferFile< File, T >, and AdaptiveResamplingBuffer.
Fills the buffer data.
Reimplemented in BufferRTOS< T >, SynchronizedBuffer< T >, RedisBuffer< T >, RingBufferSPSC< T >, BufferRP2040T< T >, BufferZephyr< T >, SingleBuffer< T >, SingleBuffer< T >, RingBufferFile< File, T >, NBufferFile< File, T >, DynamicMultiBuffer< T, BufferType >, and AdaptiveResamplingBuffer.
Fills the buffer data and overwrites the oldest data if the buffer is full.