MayaFlux 0.1.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 263 of file BufferProcessingChain.cpp.

264{
265 auto& processors = m_buffer_processors[buffer];
266
267 processors.erase(
268 std::remove_if(processors.begin(), processors.end(),
269 [this](const std::shared_ptr<BufferProcessor>& processor) {
270 auto processor_token = processor->get_processing_token();
271 return !are_tokens_compatible(m_token_filter_mask, processor_token);
272 }),
273 processors.end());
274
275 m_pending_removal[buffer].clear();
276}
std::unordered_map< std::shared_ptr< Buffer >, std::unordered_set< std::shared_ptr< BufferProcessor > > > m_pending_removal
Map of buffers to processors pending removal.
std::unordered_map< std::shared_ptr< Buffer >, std::vector< std::shared_ptr< BufferProcessor > > > m_buffer_processors
Map of buffers to their processor sequences.

References m_buffer_processors, and m_pending_removal.

Referenced by process(), and process_non_owning().

+ Here is the caller graph for this function: