MayaFlux 0.3.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 163 of file RootNode.cpp.

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

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: