Advertisement

[DirectX11]How to capture the rendered scene D3D11?

Started by September 01, 2017 09:54 AM
14 comments, last by SoldierOfLight 7 years, 5 months ago

I just attached a debugger to SkypeApp.exe and sure enough, DComp is loaded... I unfortunately don't have a webcam attached to be able to test out video, but I'd be fairly certain that they'll be using IDXGIFactory2::CreateSwapChainForComposition or IDXGIFactoryMedia::Create[Decode]SwapchainForCompositionSurfaceHandle.

SkypeHost.exe is the process render the data, there is no DComp loaded, and there is no methods of IDXGISwapChainX called either...

BTW, which debugger do you use? I can't find any working debugger to debug the UWP app.

Advertisement

the UWP Skype consists of both SkypeHost and SkypeApp. I'm pretty sure SkypeHost is responsible for the data communication, and SkypeApp is responsible for managing the window. And I use WinDbg to attach to a UWP.

Yes, you are right about that, I am now able to grab two instances of swap chain, one is for presenting local camera video, the other one is for presenting remote video.

The problem is I can't figure out a way to identify which swap chain is for local video, and which one is for remote video, any advise to identify this? 

P.S. the local video is always on the right corner of the skype window during the call.

Thanks in advance.

Not that I know of, unless you want to also hook the DComp APIs and deduce the visual tree so you can determine their relative positions/sizes/Z-order.

This topic is closed to new replies.

Advertisement