void DirectShowSampleScheduler::pause() { QMutexLocker locker(&m_mutex); m_state = (m_state & Flushing) | Paused; for (DirectShowTimedSample *sample = m_head; sample; sample = sample->nextSample()) sample->unschedule(m_clock); }
void DirectShowSampleScheduler::run(REFERENCE_TIME startTime) { QMutexLocker locker(&m_mutex); m_state = (m_state & Flushing) | Running; m_startTime = startTime; for (DirectShowTimedSample *sample = m_head; sample; sample = sample->nextSample()) { sample->schedule(m_clock, m_startTime, m_timeoutEvent); } }