The EVR supports custom presenter and mixer implementations. The documentation about implementing IMFVideoDeviceID in a custom presenter states: "If you replace both components [mixer and presenter], you could define a new device GUID." In accordance with the documentation about D3D11-based decoder MFTs I return IID_ID3D11Device for both.
Now when plugging in both custom implementations the EVR media sink fails to activate. The presenter is queried only for an IDirect3DDeviceManager9 instance (not IMFDXGIDeviceManager). Then later, when the topology loader connects the nodes, before setting the input type on the mixer, it tries to use this device manager to get an IDirectXVideoAccelerationService instance.
Are there any knobs I can turn to get the desired behavior without having to replace the whole EVR media sink?