static HRESULT WINAPI DSoundRender_GetState(IBaseFilter * iface, DWORD dwMilliSecsTimeout, FILTER_STATE *pState) { HRESULT hr; DSoundRenderImpl *This = (DSoundRenderImpl *)iface; TRACE("(%p/%p)->(%d, %p)\n", This, iface, dwMilliSecsTimeout, pState); if (WaitForSingleObject(This->state_change, dwMilliSecsTimeout) == WAIT_TIMEOUT) hr = VFW_S_STATE_INTERMEDIATE; else hr = S_OK; BaseFilterImpl_GetState(iface, dwMilliSecsTimeout, pState); return hr; }
HRESULT WINAPI BaseRendererImpl_GetState(IBaseFilter * iface, DWORD dwMilliSecsTimeout, FILTER_STATE *pState) { HRESULT hr; BaseRenderer *This = impl_from_IBaseFilter(iface); TRACE("(%p)->(%d, %p)\n", This, dwMilliSecsTimeout, pState); if (WaitForSingleObject(This->evComplete, dwMilliSecsTimeout) == WAIT_TIMEOUT) hr = VFW_S_STATE_INTERMEDIATE; else hr = S_OK; BaseFilterImpl_GetState(iface, dwMilliSecsTimeout, pState); return hr; }
static HRESULT WINAPI MediaStreamFilterImpl_GetState(IMediaStreamFilter *iface, DWORD ms_timeout, FILTER_STATE *state) { IMediaStreamFilterImpl *This = impl_from_IMediaStreamFilter(iface); return BaseFilterImpl_GetState(&This->filter.IBaseFilter_iface, ms_timeout, state); }