Share via


CBaseInputPin::BeginFlush

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

Informs the pin to begin a flush operation.

Syntax

HRESULT BeginFlush(void);

Parameters

None.

Return Value

Returns an HRESULT value.

Remarks

This member function implements the IPin::BeginFlush method.

When this method is called, the pin is entering flush state. You must override this method in your derived class, but you should call this base class first in your implementation, because it sets m_bFlushing so that no more IMemInputPin::Receive calls will succeed.

The overriding member function should then carry out the following steps.

  1. Discard any queued data.
  2. Free any pin blocked by the Receive method.
  3. Pass the IPin::BeginFlush method to any downstream pins.

IPin::BeginFlush is not logically part of the media stream and can be optimized in the sense that if a pin has passed no data downstream before this method is called, there is no need to pass this notification on.

An example of an overriding implementation of this member function can be found in the CTransformInputPin::BeginFlush member function, which uses the CBaseOutputPin::DeliverBeginFlush member function to perform the last step.

Requirements

Windows Embedded CE Windows CE 2.12 and later
Windows Mobile Windows Mobile Version 5.0 and later
Note Microsoft DirectShow applications and DirectShow filters have different include file and Library requirements
For more information, see Setting Up the Build Environment, Version 2.12 requires DXPAK 1.0 or later