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

◆ process_buffer_cycle_tasks()

void MayaFlux::Vruta::TaskScheduler::process_buffer_cycle_tasks ( )

Definition at line 685 of file Scheduler.cpp.

686{
688
691
692 for (auto& task : tasks) {
693 if (task && task->is_active()) {
694 if (task->requires_clock_sync()) {
695 if (m_current_buffer_cycle >= task->next_execution()) {
696 task->try_resume_with_context(m_current_buffer_cycle, DelayContext::BUFFER_BASED);
697 }
698 } else {
699 task->try_resume_with_context(m_current_buffer_cycle, DelayContext::BUFFER_BASED);
700 }
701 }
702 }
703}
std::vector< std::shared_ptr< Routine > > get_tasks_for_token(ProcessingToken token) const
Get all tasks for a specific processing domain.
void drain_pending_tasks()
Drain pending task operations (additions/removals) before processing.
@ SAMPLE_ACCURATE
Coroutine is sample-accurate.
@ BUFFER_BASED
Buffer-cycle delay (audio hardware boundary)

References MayaFlux::Vruta::BUFFER_BASED, drain_pending_tasks(), get_tasks_for_token(), m_current_buffer_cycle, and MayaFlux::Vruta::SAMPLE_ACCURATE.

+ Here is the call graph for this function: