#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: