gstreamer/subprojects/gst-plugins-bad/tests/examples
Seungha Yang 37e1847464 d3d12videosink: Add support for window handle update
A large refactoring commit for adding features and improve performance

* Reuse internal converter and overlay compositor:
  Converter can be reused as long as input and display formats are not
  changed. Also overlay compositor reconstruction is required only if
  display format is changed

* Don't wait for full GPU flush on resize or close:
  D3D12 swapchain requires GPU idle in order to resize backbuffer.
  Thus CPU side waiting is required for swapchain related commands
  to be finished. However, don't need to wait for full GPU flushing.

* Support multiple sink on a single external window
  Keep installed subclass window procedure even if there's no associated
  our internal HWND. This will make window procedure hooking less racy.
  Then parent HWND's message will be transferred to our internal HWNDs
  if needed.

* Adding support for window handle update
  Application can change target HWND even when videosink is playing or
  paused state. So, users can call gst_video_overlay_set_window_handle()
  against d3d12videosink anytime. The videosink will be able to update
  internal state and setup resource upon requested.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7013>
2024-06-17 16:05:00 +00:00
..
audiomixmatrix
avsamplesink
camerabin2
codecparsers
codecs
cuda examples: cuda: Add CUDA memory synchronization example 2024-06-06 11:27:26 +00:00
d3d11 examples: d3d11: Add inter-device synchronization example 2024-03-19 10:55:19 +00:00
d3d12 d3d12videosink: Add support for window handle update 2024-06-17 16:05:00 +00:00
directfb
gtk
ipcpipeline
mediafoundation
mpegts
msdk
mxf
nvcodec
opencv
qsv
qt6d3d11
uvch264
va examples: va: add option for enabling alive stream 2024-05-16 14:54:40 +02:00
waylandsink
webrtc examples: set perfect-timestamp=true on opusenc 2024-04-02 22:08:31 +00:00
wpe
key-handler.c
key-handler.h
meson.build examples: cuda: Add CUDA memory synchronization example 2024-06-06 11:27:26 +00:00
playout.c