Share via

IMFDesiredSample interface (evr.h)

[The component described on this page, Enhanced Video Renderer, is a legacy feature. It has been superseded by the Simple Video Renderer (SVR) exposed through the MediaPlayer and IMFMediaEngine components. To play video content you should send data into one of these components and allow them to instantiate the new video renderer. These components have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer or the lower level IMFMediaEngine APIs to play video media in Windows instead of the EVR, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

Enables the presenter for the enhanced video renderer (EVR) to request a specific frame from the video mixer.

The sample objects created by the MFCreateVideoSampleFromSurface function implement this interface. To retrieve a pointer to this interface, call QueryInterface on the sample.


The IMFDesiredSample interface inherits from the IUnknown interface. IMFDesiredSample also has these types of members:


The IMFDesiredSample interface has these methods.


Clears the time stamps previously set by a call to IMFDesiredSample::SetDesiredSampleTimeAndDuration.

Called by the mixer to get the time and duration of the sample requested by the presenter.

Called by the presenter to set the time and duration of the sample that it requests from the mixer.


Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header evr.h

See also

How to Write an EVR Presenter

Media Foundation Interfaces