我正在尝试在 Windows 10(桌面)上使用 DirectX 11 为 Media Foundation 编写 EVR。到目前为止,我找到的唯一一个解决方案是在这里 不幸的是,我不知道(和其他许多人一样)如何正确使用它。有人可以指出我如何将 MF 与 DirectX 11/12 结合的正确方向吗?
我正在使用激活我的 EVR 的代码:
hr = MFCreateVideoRendererActivate(hwndVideo, &pRendererActivate);
hr = pRendererActivate->SetGUID(MF_ACTIVATE_CUSTOM_VIDEO_PRESENTER_CLSID, CLSID_DX11VideoRenderer);
Run Code Online (Sandbox Code Playgroud)
我来到了 MF 要求 GetDeviceID 并在 kernel.dll 中引发异常的地步。我认为混合器和渲染器设备之间存在不匹配。它们的默认设备是 DX9。在我的示例中,我必须提供 DirectX 11 设备 CLSID。