IMFVideoRenderer::InitializeRenderer method (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.]
Sets a new mixer or presenter for the enhanced video renderer (EVR).
Syntax
HRESULT InitializeRenderer(
[in] IMFTransform *pVideoMixer,
[in] IMFVideoPresenter *pVideoPresenter
);
Parameters
[in] pVideoMixer
Pointer to the IMFTransform interface of the mixer to use. This parameter can be NULL. If this parameter is NULL, the EVR uses its default mixer.
[in] pVideoPresenter
Pointer to the IMFVideoPresenter interface of the presenter to use. This parameter can be NULL. If this parameter is NULL, the EVR uses its default presenter.
Return value
The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.
Return code | Description |
---|---|
|
The method succeeded. |
|
Either the mixer or the presenter is invalid. |
|
The mixer and presenter cannot be replaced in the current state. (EVR media sink.) |
|
The video renderer has been shut down. |
|
One or more input pins are connected. (DirectShow EVR filter.) |
Remarks
Call this method directly after creating the EVR, before you do any of the following:
- Call IMFGetService::GetService on the EVR.
- Call IEVRFilterConfig::SetNumberOfStreams on the EVR.
- Connect any pins on the EVR filter, or set any media types on EVR media sink.
The device identifiers for the mixer and the presenter must match. The IMFVideoDeviceID::GetDeviceID method returns the device identifier. If they do not match, the method returns E_INVALIDARG.
If the video renderer is in the protected media path (PMP), the mixer and presenter objects must be certified safe components and pass any trust authority verification that is being enforced. Otherwise, this method will fail.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2008 [desktop apps only] |
Target Platform | Windows |
Header | evr.h |
Library | Strmiids.lib |