#include <audio_transfer_buffer.h>
|
size_t | transfer_data_to_sink (TickType_t ticks_to_wait, bool post_shift=true) |
| Writes any available data in the transfer buffer to the sink.
|
|
void | set_sink (const std::weak_ptr< RingBuffer > &ring_buffer) |
| Adds a ring buffer as the transfer buffer's sink.
|
|
void | set_sink (speaker::Speaker *speaker) |
| Adds a speaker as the transfer buffer's sink.
|
|
void | clear_buffered_data () override |
|
bool | has_buffered_data () const override |
|
| ~AudioTransferBuffer () |
| Destructor that deallocates the transfer buffer.
|
|
uint8_t * | get_buffer_start () const |
| Returns a pointer to the start of the transfer buffer where available() bytes of exisiting data can be read.
|
|
uint8_t * | get_buffer_end () const |
| Returns a pointer to the end of the transfer buffer where free() bytes of new data can be written.
|
|
void | decrease_buffer_length (size_t bytes) |
| Updates the internal state of the transfer buffer.
|
|
void | increase_buffer_length (size_t bytes) |
| Updates the internal state of the transfer buffer.
|
|
size_t | available () const |
| Returns the transfer buffer's currently available bytes to read.
|
|
size_t | capacity () const |
| Returns the transfer buffers allocated bytes.
|
|
size_t | free () const |
| Returns the transfer buffer's currrently free bytes available to write.
|
|
bool | reallocate (size_t new_buffer_size) |
|
|
bool | allocate_buffer_ (size_t buffer_size) |
| Allocates the transfer buffer in external memory, if available.
|
|
void | deallocate_buffer_ () |
| Deallocates the buffer and resets the class variables.
|
|
Definition at line 80 of file audio_transfer_buffer.h.
◆ clear_buffered_data()
void esphome::audio::AudioSinkTransferBuffer::clear_buffered_data |
( |
| ) |
|
|
overridevirtual |
◆ create()
Creates a new sink transfer buffer.
- Parameters
-
buffer_size | Size of the transfer buffer in bytes. |
- Returns
- unique_ptr if successfully allocated, nullptr otherwise
Definition at line 12 of file audio_transfer_buffer.cpp.
◆ has_buffered_data()
bool esphome::audio::AudioSinkTransferBuffer::has_buffered_data |
( |
| ) |
const |
|
overridevirtual |
◆ set_sink() [1/2]
void esphome::audio::AudioSinkTransferBuffer::set_sink |
( |
const std::weak_ptr< RingBuffer > & | ring_buffer | ) |
|
|
inline |
Adds a ring buffer as the transfer buffer's sink.
- Parameters
-
ring_buffer | weak_ptr to the allocated ring buffer |
Definition at line 100 of file audio_transfer_buffer.h.
◆ set_sink() [2/2]
void esphome::audio::AudioSinkTransferBuffer::set_sink |
( |
speaker::Speaker * | speaker | ) |
|
|
inline |
Adds a speaker as the transfer buffer's sink.
- Parameters
-
speaker | Pointer to the speaker component |
Definition at line 105 of file audio_transfer_buffer.h.
◆ transfer_data_to_sink()
size_t esphome::audio::AudioSinkTransferBuffer::transfer_data_to_sink |
( |
TickType_t | ticks_to_wait, |
|
|
bool | post_shift = true ) |
Writes any available data in the transfer buffer to the sink.
- Parameters
-
ticks_to_wait | FreeRTOS ticks to block while waiting for the sink to have enough space |
post_shift | If true, all remaining data is moved to the start of the buffer after transferring to the sink. Defaults to true. |
- Returns
- Number of bytes written
Definition at line 135 of file audio_transfer_buffer.cpp.
◆ speaker_
The documentation for this class was generated from the following files: