gstreamer/subprojects/gst-plugins-bad/tests/examples/d3d11
Seungha Yang e0a9a73adf d3d11screencapturesrc: Fix crash when d3d11 device is different from owned one
GstD3D11ScreenCapture object is pipeline-independent global object
and the object can be shared by multiple src elements,
in order to overcome a limitation of DXGI Desktop Duplication API.
Note that the API allows only single capture session in a process for
a monitor.

Therefore GstD3D11ScreenCapture object must be able to handle a case
where a src element holds different GstD3D11Device object. Which can
happen when GstD3D11Device context is not shared by pipelines.

What's changed:
* Allocates capture texture with D3D11_RESOURCE_MISC_SHARED for the
  texture to be able to copied into other device's texture
* Holds additional shader objects per src element and use it when drawing
  mouse

Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1197
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2366>
2022-05-05 18:18:57 +00:00
..
d3d11device.cpp d3d11: Fix example build error 2022-03-25 19:40:53 +00:00
d3d11device.h examples: d3d11: Add a desktop capture example 2021-10-11 15:21:26 +00:00
d3d11screencapturesrc.cpp d3d11screencapturesrc: Fix crash when d3d11 device is different from owned one 2022-05-05 18:18:57 +00:00
d3d11videosink-kb.c examples: d3d11: Add a desktop capture example 2021-10-11 15:21:26 +00:00
d3d11videosink-kb.h examples: d3d11: Add a desktop capture example 2021-10-11 15:21:26 +00:00
d3d11videosink-shared-texture-d3d9ex.cpp examples: d3d11: Add a desktop capture example 2021-10-11 15:21:26 +00:00
d3d11videosink-shared-texture.cpp examples: d3d11: Add a desktop capture example 2021-10-11 15:21:26 +00:00
d3d11videosink.c examples: d3d11: Add a desktop capture example 2021-10-11 15:21:26 +00:00
meson.build d3d11: Rename screen capture element 2021-10-14 15:15:56 +00:00