MayaFlux 1.0.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 370 of file BufferProcessingChain.cpp.

371{
372 auto& processors = m_buffer_processors[buffer];
373
374 std::erase_if(processors, [this](const std::shared_ptr<BufferProcessor>& processor) {
375 auto processor_token = processor->get_processing_token();
376 return !are_tokens_compatible(m_token_filter_mask, processor_token);
377 });
378
379 m_pending_removal[buffer].clear();
380}
std::shared_ptr< NetworkGeometryBuffer > buffer
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(), buffer, 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: