MediaStreamSource: Add way to use IMFGetService from downstream Pins
Currently, it is not possible to implement hardware acceleration in MediaStreamSource. For that, we would need to get a d3d device manager from the downstream Pin.
If we could call GetService, e.g. on the MediaStreamSourceSampleRequestedEventArgs or in a new "Connected" event, then it would be possible to implement d3d based hardware acceleration in MSS. This would be very useful e.g. for the FFmpegInterop project.
The interface is available from MediaStreamSource (the underlying DXGI manager may originally come from the video rendering sink or it can come from elsewhere)
We’ll work on updating the documentation as we agree it is unclear.
Roman R. commented
From Windows SDK: "This interface [IMFDXGIDeviceManagerSource] is implemented by the Windows.Media.Core.MediaStreamSource runtime class."
So you are saying that MediaStreamSource itself implements IMFDXGIDeviceManagerSource? Or where do I get that interface from? I agree that this needs to be documented.