MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ add_child_buffer_direct()

template<typename BufferType >
void MayaFlux::Buffers::RootBuffer< BufferType >::add_child_buffer_direct ( const std::shared_ptr< BufferType > &  buffer)
inlineprotected

Definition at line 226 of file RootBuffer.hpp.

227 {
228 std::string rejection_reason;
229 if (!is_buffer_acceptable(buffer, &rejection_reason)) {
230 error<std::runtime_error>(Journal::Component::Buffers, Journal::Context::BufferManagement, std::source_location::current(), "Cannot add child buffer: {}", rejection_reason);
231 }
232
233 m_child_buffers.push_back(buffer);
234
235 if (!buffer->get_processing_chain() && this->get_processing_chain()) {
236 buffer->set_processing_chain(this->get_processing_chain());
237 }
238 }
bool is_buffer_acceptable(const std::shared_ptr< BufferType > &buffer, std::string *rejection_reason=nullptr) const
Validates if a buffer is acceptable based on current token enforcement strategy.
std::vector< std::shared_ptr< BufferType > > m_child_buffers
Vector of tributary buffers that contribute to this root buffer.
@ BufferManagement
Buffer Management (Buffers::BufferManager, creating buffers)
@ Buffers
Buffers, Managers, processors and processing chains.