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

◆ postprocess()

void MayaFlux::Nodes::RootNode::postprocess ( )

Performs post-processing after all nodes have been processed.

This method unregisters channel usage on the node, cleans up state and resets processing flags.

Definition at line 162 of file RootNode.cpp.

163{
165 return;
166
167 for (auto& node : m_Nodes) {
168 node->request_reset_from_channel(m_channel);
169 }
170
171 if (m_pending_count.load(std::memory_order_relaxed) > 0) {
173 }
174
175 m_is_processing.store(false, std::memory_order_release);
176 m_is_processing.notify_all();
177
178 if (m_request_terminate.load(std::memory_order_acquire)) {
180 }
181}
void process_pending_operations()
Processes any pending node registration/unregistration operations.
Definition RootNode.cpp:200
std::vector< std::shared_ptr< Node > > m_Nodes
Collection of nodes registered with this root node.
Definition RootNode.hpp:165
uint32_t m_channel
The processing channel index for this root node.
Definition RootNode.hpp:235
std::atomic< bool > m_is_processing
Flag indicating if the root node is currently processing nodes.
Definition RootNode.hpp:176
bool m_skip_state_management
Flag indicating whether to skip preprocessing and post processing.
Definition RootNode.hpp:245
std::atomic< uint32_t > m_pending_count
Counter tracking the number of pending operations.
Definition RootNode.hpp:215
std::atomic< bool > m_request_terminate
Flag to request termination of processing.
Definition RootNode.hpp:184

References m_channel, m_is_processing, m_Nodes, m_pending_count, m_request_terminate, m_skip_state_management, and process_pending_operations().

Referenced by process_frame(), and process_sample().

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