static HRESULT WINAPI IMediaPosition_fnput_PrerollTime(IMediaPosition* iface,REFTIME refTime) { CFilterGraph_THIS(iface,mediaposition); HRESULT hr = E_NOTIMPL; HRESULT hrFilter; DWORD n; TRACE("(%p)->()\n",This); EnterCriticalSection( &This->m_csFilters ); for ( n = 0; n < This->m_cActiveFilters; n++ ) { if ( This->m_pActiveFilters[n].pPosition != NULL ) { hrFilter = IMediaPosition_put_PrerollTime( This->m_pActiveFilters[n].pPosition, refTime ); if ( hr == E_NOTIMPL ) { hr = hrFilter; } else if ( hrFilter != E_NOTIMPL ) { if ( SUCCEEDED(hr) ) hr = hrFilter; } } } LeaveCriticalSection( &This->m_csFilters ); return hr; }
static HRESULT WINAPI MediaPositionPassThru_put_PrerollTime(IMediaPosition *iface, REFTIME llTime) { PassThruImpl *This = impl_from_IMediaPosition(iface); IMediaPosition *pos; HRESULT hr; TRACE("(%s)\n", wine_dbgstr_longlong(llTime)); hr = get_connected(This, &IID_IMediaPosition, (LPVOID*)&pos); if (SUCCEEDED(hr)) { hr = IMediaPosition_put_PrerollTime(pos, llTime); IMediaPosition_Release(pos); } else return E_NOTIMPL; return hr; }