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

◆ remove_processor()

void MayaFlux::Kakshya::DataProcessingChain::remove_processor ( std::shared_ptr< DataProcessor processor,
std::shared_ptr< SignalSourceContainer container 
)

Removes a processor from a container's chain.

Parameters
processorThe data processor to remove
containerThe signal container to remove the processor from

Supports dynamic reconfiguration and resource management.

Definition at line 28 of file DataProcessingChain.cpp.

29{
30 auto it = m_container_processors.find(container);
31 if (it != m_container_processors.end()) {
32 auto& processors = it->second;
33 auto proc_it = std::find(processors.begin(), processors.end(), processor);
34
35 if (proc_it != processors.end()) {
36 processor->on_detach(container);
37 processors.erase(proc_it);
38
39 if (processors.empty()) {
40 m_container_processors.erase(it);
41 }
42 }
43 }
44}
std::unordered_map< std::shared_ptr< SignalSourceContainer >, std::vector< std::shared_ptr< DataProcessor > > > m_container_processors
Maps containers to their associated processors in sequence order.

References m_container_processors.