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

◆ update_processing_state()

void MayaFlux::Kakshya::SoundStreamContainer::update_processing_state ( ProcessingState  new_state)
overridevirtual

Update the processing state of the container.

Parameters
new_stateNew ProcessingState to set

May trigger registered state change callbacks for event-driven workflows.

Implements MayaFlux::Kakshya::SignalSourceContainer.

Definition at line 609 of file SoundStreamContainer.cpp.

610{
611 ProcessingState old_state = m_processing_state.exchange(new_state);
612
613 if (old_state != new_state) {
614 notify_state_change(new_state);
615
616 if (new_state == ProcessingState::READY) {
617 std::lock_guard<std::mutex> lock(m_reader_mutex);
618 m_consumed_dimensions.clear();
619 }
620 }
621}
std::atomic< ProcessingState > m_processing_state
std::unordered_set< uint32_t > m_consumed_dimensions
void notify_state_change(ProcessingState new_state)
void lock() override
Acquire a lock for thread-safe access.
ProcessingState
Represents the current processing lifecycle state of a container.
@ READY
Container has data loaded and is ready for processing.

References lock(), m_consumed_dimensions, m_processing_state, m_reader_mutex, notify_state_change(), and MayaFlux::Kakshya::READY.

Referenced by clear(), mark_ready_for_processing(), process_default(), MayaFlux::Kakshya::DynamicSoundStream::set_all_data(), and MayaFlux::Kakshya::SoundFileContainer::setup().

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