EC_COMPLETE
[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
All data from a particular stream has been rendered.
Parameters
-
lParam1
-
(HRESULT) Status of the stream on completion. If no errors occurred during playback, the value is S_OK.
-
lParam2
-
(IUnknown*) Zero, or a pointer to the renderer's IBaseFilter interface.
Default Action
By default, the filter graph manager does not forward this event to the application. However, after all the streams in the graph report EC_COMPLETE, the filter graph manager posts a separate EC_COMPLETE event to the application.
If the default action is disabled for this event, the application receives all of the EC_COMPLETE events from the renderers.
Remarks
A renderer filter sends this event when it receives an end-of-stream notice. (End-of-stream is signaled through the IPin::EndOfStream method.) The filter sends exactly one EC_COMPLETE event for each stream. The filter must process any pending samples before it sends the event. Stopping a renderer resets any end-of-stream state that was cached.
If the renderer is paused, it does not send EC_COMPLETE until the IMediaFilter::Run method is called. Furthermore, it continues to send EC_COMPLETE events for each transition from pause to run, until the filter is either stopped or flushed.
Filters set the lParam2 parameter to an IBaseFilter pointer. If the default action is enabled, the filter graph manager sets this parameter to zero.
Requirements
Requirement | Value |
---|---|
Header |
|