Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
| Microsoft DirectShow 9.0 |
CSourceSeeking::ChangeRate
The ChangeRate method is called when the playback rate changes.
Syntax
virtual HRESULT ChangeRate(void) PURE;
Return Value
Returns an HRESULT value.
Remarks
The CSourceSeeking::SetRate method calls this method, which the derived class must implement. The SetRate method updates the CSourceSeeking::m_dRateSeeking member variable, but does not validate the new value. A rate of zero should always be rejected. Rates less than zero indicate negative playback. Most filters do not support negative rates.
The following example shows a possible implementation:
HRESULT CMyStream::ChangeRate( )
{
{ // Scope for critical section lock.
CAutoLock cAutoLockSeeking(CSourceSeeking::m_pLock);
if( m_dRateSeeking <= 0 ) {
m_dRateSeeking = 1.0; // Reset to a reasonable value.
return E_FAIL;
}
}
UpdateFromSeek();
return S_OK;
}
Requirements
** Header:** Declared in Ctlutil.h; include Streams.h.
** Library:** Use Strmbase.lib (retail builds) or Strmbasd.lib (debug builds).
See Also