MayaFlux 0.4.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 571 of file Scheduler.cpp.

572{
574
577
578 for (auto& task : tasks) {
579 if (task && task->is_active()) {
580 if (task->requires_clock_sync()) {
581 if (m_current_buffer_cycle >= task->next_execution()) {
582 task->try_resume_with_context(m_current_buffer_cycle, DelayContext::BUFFER_BASED);
583 }
584 } else {
585 task->try_resume_with_context(m_current_buffer_cycle, DelayContext::BUFFER_BASED);
586 }
587 }
588 }
589}
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: