CBaseInputPin.BeginFlush 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 CBaseInputPin method begins a flush operation. This method implements the IPin::BeginFlush method.

Syntax

HRESULT BeginFlush();

Parameters

This method has no parameters.

Return value

Returns S_OK.

Remarks

This method sets the CBaseInputPin::m_bFlushing flag to TRUE, which causes the CBaseInputPin::Receive method to reject any more samples.

The derived class must override this method and perform the following steps:

  1. Call the IPin::BeginFlush method on downstream input pins. If the pin has not yet delivered any media samples downstream, you can skip this step. If your output pins derive from the CBaseOutputPin class, you can call the CBaseOutputPin::DeliverBeginFlush method.
  2. Call the base class method.
  3. Begin discarding queued data.
  4. Return from any blocked calls to the Receive method.

Requirements

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

See also

CBaseInputPin Class