MayaFlux 0.5.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 558 of file SoundStreamContainer.cpp.

559{
560 ProcessingState old_state = m_processing_state.exchange(new_state);
561
562 if (old_state != new_state) {
563 notify_state_change(new_state);
564
565 if (new_state == ProcessingState::READY) {
566 Memory::SeqlockWriteGuard g(m_reader_lock);
567 m_consumed_dimensions.clear();
568 }
569 }
570}
std::atomic< ProcessingState > m_processing_state
std::unordered_set< uint32_t > m_consumed_dimensions
void notify_state_change(ProcessingState new_state)
ProcessingState
Represents the current processing lifecycle state of a container.
@ READY
Container has data loaded and is ready for processing.

References m_consumed_dimensions, m_processing_state, m_reader_lock, 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: