HRESULT qcap_driver_pause(Capture *capBox, FILTER_STATE *state) { TRACE("%p -> (%p)\n", capBox, state); if (*state == State_Paused) return S_OK; if (*state == State_Stopped) qcap_driver_run(capBox, state); EnterCriticalSection(&capBox->CritSect); *state = State_Paused; SuspendThread(capBox->thread); LeaveCriticalSection(&capBox->CritSect); return S_OK; }
static HRESULT WINAPI VfwCapture_Run(IBaseFilter * iface, REFERENCE_TIME tStart) { VfwCapture *This = impl_from_IBaseFilter(iface); TRACE("(%s)\n", wine_dbgstr_longlong(tStart)); return qcap_driver_run(This->driver_info, &This->filter.state); }