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

◆ cleanup_rejected_processors()

void MayaFlux::Buffers::BufferProcessingChain::cleanup_rejected_processors ( const std::shared_ptr< Buffer > &  buffer)
private

Validates the processing token against the chain's preferred token.

Definition at line 320 of file BufferProcessingChain.cpp.

321{
322 auto& processors = m_buffer_processors[buffer];
323
324 std::erase_if(processors, [this](const std::shared_ptr<BufferProcessor>& processor) {
325 auto processor_token = processor->get_processing_token();
326 return !are_tokens_compatible(m_token_filter_mask, processor_token);
327 });
328
329 m_pending_removal[buffer].clear();
330}
std::unordered_map< std::shared_ptr< Buffer >, std::unordered_set< std::shared_ptr< BufferProcessor > > > m_pending_removal
Map of buffers to processors pending removal.
ProcessingToken m_token_filter_mask
Preferred processing token for this chain.
std::unordered_map< std::shared_ptr< Buffer >, std::vector< std::shared_ptr< BufferProcessor > > > m_buffer_processors
Map of buffers to their processor sequences.
bool are_tokens_compatible(ProcessingToken preferred, ProcessingToken current)
Determines if two processing tokens are compatible for joint execution.

References MayaFlux::Buffers::are_tokens_compatible(), m_buffer_processors, m_pending_removal, and m_token_filter_mask.

Referenced by process(), and process_non_owning().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: