MayaFlux 1.0.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 126 of file RootNode.cpp.

127{
129 return;
130
131 for (auto& node : m_Nodes) {
132 node->request_reset_from_channel(m_channel);
133 }
134
135 if (m_pending_ops.has_pending()) {
137 }
138
139 m_is_processing.store(false, std::memory_order_release);
140 m_is_processing.notify_all();
141
142 if (m_request_terminate.load(std::memory_order_acquire)) {
144 }
145}
void process_pending_operations()
Processes any pending node registration/unregistration operations.
Definition RootNode.cpp:164
Memory::PendingQueue< PendingOp, 2048 > m_pending_ops
Operations queued by any thread and applied in arrival order by the processing thread.
Definition RootNode.hpp:207
std::vector< std::shared_ptr< Node > > m_Nodes
Collection of nodes registered with this root node.
Definition RootNode.hpp:166
uint32_t m_channel
The processing channel index for this root node.
Definition RootNode.hpp:236
std::atomic< bool > m_is_processing
Flag indicating if the root node is currently processing nodes.
Definition RootNode.hpp:177
bool m_skip_state_management
Flag indicating whether to skip preprocessing and post processing.
Definition RootNode.hpp:246
std::atomic< bool > m_request_terminate
Flag to request termination of processing.
Definition RootNode.hpp:185

References m_channel, m_is_processing, m_Nodes, m_pending_ops, 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: