IPin::BeginFlush
Microsoft DirectShow 9.0 |
IPin::BeginFlush
The BeginFlush method begins a flush operation.
Applications should not call this method. This method is called by other filters, to flush data from the graph.
Syntax
HRESULT BeginFlush(void);
Return Value
Returns an HRESULT value. Possible values include the following.
Value | Description |
S_OK | Success. |
E_UNEXPECTED | The pin is an output pin. |
Remarks
Call this method only on input pins. Output pins return E_UNEXPECTED.
In a flush operation, a filter discards whatever data it was processing. It rejects new data until the flush is completed. The flush is completed when the upstream pin calls the IPin::EndFlush method. Flushing enables the filter graph to be more responsive when events alter the normal data flow. For example, flushing occurs during a seek.
When BeginFlush is called, the filter performs the following steps:
- Passes the IPin::BeginFlush call downstream.
- Sets an internal flag that causes all data-streaming methods to fail, such as IMemInputPin::Receive.
- Returns from any blocked calls to the Receive method.
When the BeginFlush notification reaches a renderer filter, the renderer frees any samples that it holds.
After BeginFlush is called, the pin rejects all samples from upstream, with a return value of S_FALSE, until the IPin::EndFlush method is called.
Requirements
Header: Declared in Strmif.h; include Dshow.h.
Library: Use Strmiids.lib.
See Also