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

◆ preprocess()

bool MayaFlux::Nodes::RootNode::preprocess ( )

Checks if the root node can process pending operations.

Returns
True if successful

This method can be used to determine if the root node is in the middle of a processing cycle. If true, queued pending operations will be executed

Definition at line 93 of file RootNode.cpp.

94{
96 return true;
97
98 bool expected = false;
99 if (!m_is_processing.compare_exchange_strong(expected, true,
100 std::memory_order_acquire, std::memory_order_relaxed)) {
101 return false;
102 }
103
104 if (m_pending_count.load(std::memory_order_relaxed) > 0) {
106 }
107
108 return true;
109}
void process_pending_operations()
Processes any pending node registration/unregistration operations.
Definition RootNode.cpp:185
std::atomic< bool > m_is_processing
Flag indicating if the root node is currently processing nodes.
Definition RootNode.hpp:162
bool m_skip_state_management
Flag indicating whether to skip preprocessing and post processing.
Definition RootNode.hpp:221
std::atomic< uint32_t > m_pending_count
Counter tracking the number of pending operations.
Definition RootNode.hpp:191

References m_is_processing, m_pending_count, 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: