|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
Thread-safe interface for buffer operations within a processing domain. More...
#include <ProcessingArchitecture.hpp>
Collaboration diagram for MayaFlux::Core::BufferProcessingHandle:Public Member Functions | |
| BufferProcessingHandle (std::shared_ptr< Buffers::BufferManager > manager, Buffers::ProcessingToken token) | |
| Constructs handle for specific buffer manager and token. | |
| BufferProcessingHandle (const BufferProcessingHandle &)=delete | |
| BufferProcessingHandle & | operator= (const BufferProcessingHandle &)=delete |
| BufferProcessingHandle (BufferProcessingHandle &&)=default | |
| BufferProcessingHandle & | operator= (BufferProcessingHandle &&)=default |
| void | process (uint32_t processing_units) |
| Process all channels in token domain. | |
| void | process_channel (uint32_t channel, uint32_t processing_units) |
| Process specific channel. | |
| void | process_channel_with_node_data (uint32_t channel, uint32_t processing_units, const std::vector< double > &node_data) |
| Process channel with node output data integration. | |
| void | process_input (double *input_data, uint32_t num_channels, uint32_t num_frames) |
| @brienf Process Input from backend into buffer manager | |
| std::span< const double > | read_channel_data (uint32_t channel) const |
| Get read-only access to channel data. | |
| std::span< double > | write_channel_data (uint32_t channel) |
| Get write access to channel data with automatic locking. | |
| void | setup_channels (uint32_t num_channels, uint32_t buffer_size) |
| Configure channel layout for token domain. | |
Private Member Functions | |
| void | ensure_valid () const |
| void | acquire_write_lock () |
Private Attributes | |
| std::shared_ptr< Buffers::BufferManager > | m_manager |
| Buffers::ProcessingToken | m_token |
| bool | m_locked |
Thread-safe interface for buffer operations within a processing domain.
Provides scoped, thread-safe access to buffer operations with automatic token validation.
Definition at line 86 of file ProcessingArchitecture.hpp.