ESPHome 2026.3.0-dev
Loading...
Searching...
No Matches
esphome::audio::AudioReadableBuffer Class Referenceabstract

Abstract interface for reading audio data from a buffer. More...

#include <audio_transfer_buffer.h>

Inheritance diagram for esphome::audio::AudioReadableBuffer:
esphome::audio::AudioSourceTransferBuffer esphome::audio::ConstAudioSourceBuffer

Public Member Functions

virtual ~AudioReadableBuffer ()=default
 
virtual const uint8_t * data () const =0
 Returns a pointer to the start of readable data.
 
virtual size_t available () const =0
 Returns the number of bytes available to read.
 
virtual size_t free () const
 Returns the number of free bytes available to write. Defaults to 0 for read-only buffers.
 
virtual void consume (size_t bytes)=0
 Advances past consumed data.
 
virtual bool has_buffered_data () const =0
 Tests if there is any buffered data.
 
virtual size_t fill (TickType_t ticks_to_wait, bool pre_shift)
 Refills the buffer from its source.
 
size_t fill (TickType_t ticks_to_wait)
 

Detailed Description

Abstract interface for reading audio data from a buffer.

Provides a common read interface for both mutable transfer buffers and read-only const buffers.

Definition at line 134 of file audio_transfer_buffer.h.

Constructor & Destructor Documentation

◆ ~AudioReadableBuffer()

virtual esphome::audio::AudioReadableBuffer::~AudioReadableBuffer ( )
virtualdefault

Member Function Documentation

◆ available()

virtual size_t esphome::audio::AudioReadableBuffer::available ( ) const
pure virtual

Returns the number of bytes available to read.

Implemented in esphome::audio::AudioSourceTransferBuffer, and esphome::audio::ConstAudioSourceBuffer.

◆ consume()

virtual void esphome::audio::AudioReadableBuffer::consume ( size_t bytes)
pure virtual

Advances past consumed data.

Parameters
bytesNumber of bytes consumed

Implemented in esphome::audio::AudioSourceTransferBuffer, and esphome::audio::ConstAudioSourceBuffer.

◆ data()

virtual const uint8_t * esphome::audio::AudioReadableBuffer::data ( ) const
pure virtual

Returns a pointer to the start of readable data.

Implemented in esphome::audio::AudioSourceTransferBuffer, and esphome::audio::ConstAudioSourceBuffer.

◆ fill() [1/2]

size_t esphome::audio::AudioReadableBuffer::fill ( TickType_t ticks_to_wait)
inline

Definition at line 159 of file audio_transfer_buffer.h.

◆ fill() [2/2]

virtual size_t esphome::audio::AudioReadableBuffer::fill ( TickType_t ticks_to_wait,
bool pre_shift )
inlinevirtual

Refills the buffer from its source.

No-op by default for read-only buffers.

Parameters
ticks_to_waitFreeRTOS ticks to block while waiting for data
pre_shiftIf true, shifts existing data to the start of the buffer before reading
Returns
Number of bytes read

Reimplemented in esphome::audio::AudioSourceTransferBuffer.

Definition at line 158 of file audio_transfer_buffer.h.

◆ free()

virtual size_t esphome::audio::AudioReadableBuffer::free ( ) const
inlinevirtual

Returns the number of free bytes available to write. Defaults to 0 for read-only buffers.

Reimplemented in esphome::audio::AudioSourceTransferBuffer.

Definition at line 145 of file audio_transfer_buffer.h.

◆ has_buffered_data()

virtual bool esphome::audio::AudioReadableBuffer::has_buffered_data ( ) const
pure virtual

Tests if there is any buffered data.

Implemented in esphome::audio::AudioSourceTransferBuffer, and esphome::audio::ConstAudioSourceBuffer.


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