Share via


CBaseInputPin::BeginFlush (Compact 2013)

3/26/2014

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

Header

dshow.h,
Streams.h

Library

ole32.lib,
Ole32auth.lib,
Strmbase.lib,
Strmiids.lib,
uuid.lib

See Also

Reference

CBaseInputPin Class