IPin::BeginFlush
This method informs the pin to begin a flush operation.
HRESULT BeginFlush(void);
Parameters
None.
Return Values
Returns an HRESULT value that depends on the implementation. HRESULT can be one of the following standard constants, or other values not listed.
Value | Description |
---|---|
E_FAIL | Failure. |
E_POINTER | Null pointer argument. |
E_INVALIDARG | Invalid argument. |
E_NOTIMPL | Method is not supported. |
S_OK or NOERROR | Success. |
Remarks
When this method is called, the pin is entering flush state. In this case, carry out the following steps.
Set a flushing flag to prevent any more IMemInputPin::Receive methods from succeeding.
Discard any queued data.
Free the pin if it was blocked by the Receive method, if possible.
Pass the IPin::BeginFlush method to any downstream pins.
The BeginFlush notification is passed downstream until it reaches the renderer, which must free any sample it holds. This unblocks other pins (usually in the IMemAllocator::GetBuffer or IMemInputPin::Receive methods).
After BeginFlush is called, all samples passed by the Receive method to the pin, or on another transport, are rejected with S_FALSE until the IPin::EndFlush method is called.
This method is implemented in the base classes by CBaseInputPin::BeginFlush.
Requirements
DirectShow applications and DirectShow filters have different include file and link library requirements. See Setting Up the Build Environment for more information.
OS Versions: Windows CE 2.12 and later. Version 2.12 requires DXPAK 1.0 or later.
See Also
Last updated on Wednesday, April 13, 2005
© 2005 Microsoft Corporation. All rights reserved.