CBaseStreamControl.SetSyncSource method

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The SetSyncSource method notifies the base class of the current reference clock.

Syntax

void SetSyncSource(
   IReferenceClock *pRefClock
);

Parameters

pRefClock

Pointer to the IReferenceClock interface of the reference clock.

Return value

This method does not return a value.

Remarks

Call this method from inside the filter's IMediaFilter::SetSyncSource method. The CBaseStreamControl class uses the IReferenceClock interface to ensure that it does not discard samples too quickly.

Examples

STDMETHODIMP CMyFilter::SetSyncSource(IReferenceClock *pClock)
{
    // Note: It's OK if pClock is NULL.

    m_pMyPin->SetSyncSource(pClock);
    return CBaseFilter::SetSyncSource(pClock);
}

Requirements

Requirement Value
Header
Strmctl.h (include Streams.h)
Library
Strmbase.lib (retail builds);
Strmbasd.lib (debug builds)

See also

CBaseStreamControl Class