IPin::BeginFlush method (strmif.h)
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();
Return value
Returns an HRESULT value. Possible values include the following.
Return code | Description |
---|---|
|
Success. |
|
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.
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
Minimum supported client | Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | strmif.h (include Dshow.h) |
Library | Strmiids.lib |