MayaFlux 0.5.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 563 of file Scheduler.cpp.

564{
566
569
570 for (auto& task : tasks) {
571 if (task && task->is_active()) {
572 if (task->requires_clock_sync()) {
573 if (m_current_buffer_cycle >= task->next_execution()) {
574 task->try_resume_with_context(m_current_buffer_cycle, DelayContext::BUFFER_BASED);
575 }
576 } else {
577 task->try_resume_with_context(m_current_buffer_cycle, DelayContext::BUFFER_BASED);
578 }
579 }
580 }
581}
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: