gstreamer/subprojects/gst-plugins-bad/gst-libs/gst
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
..
adaptivedemux plugins: Fix wrong enum usage 2023-03-20 11:40:30 +00:00
analytics analyticsmeta: fix g-ir-scanner warnings 2024-04-10 00:46:42 +00:00
audio gir: Checkout all .gir files and check that they are updated on the CI 2023-04-22 09:32:32 -04:00
basecamerabinsrc meson: Add CameraBin and Va girs 2023-04-25 02:57:55 +00:00
codecparsers h264parser: maintain API changes 2024-04-07 15:25:23 +00:00
codecs gst: Move GstQueueArray as GstVecDeque to core 2024-05-06 18:25:42 +00:00
cuda cuda: Load 1D memcpy method symbols 2024-06-13 18:19:08 +00:00
d3d11 Revert "d3d11device: protect device_lock vs device_new" 2024-05-23 15:16:02 +00:00
d3d12 d3d12videosink: Add support for window handle update 2024-06-17 16:05:00 +00:00
d3dshader d3dshader: Fix gamma and primaries conversion pixel shader 2024-05-04 19:57:33 +09:00
dxva dxvavp8decoder: Fix reference frame setting 2024-02-10 21:18:44 +09:00
insertbin insertbin/doc: add "Since" markers to pass CI 2023-11-17 01:09:49 +01:00
interfaces meson: Namespace the plugins_doc_dep/libraries variables 2022-09-01 21:17:35 +00:00
isoff gst-plugins-bad: define G_LOG_DOMAIN for all libraries 2021-10-19 00:12:25 +00:00
mpegts mpegst: Fix ownership of return value 2024-02-20 11:33:33 +02:00
mse mse: Add logging init for mediasource sample map 2024-02-21 18:11:25 +00:00
opencv build: opencv: disable opencv deps if it's not installed 2023-10-26 20:43:14 +00:00
play play: Mention that gst_play_new() also initialized GStreamer 2024-05-09 09:56:39 +00:00
player play: Mention that gst_play_new() also initialized GStreamer 2024-05-09 09:56:39 +00:00
sctp meson: Namespace the plugins_doc_dep/libraries variables 2022-09-01 21:17:35 +00:00
transcoder gir: Checkout all .gir files and check that they are updated on the CI 2023-04-22 09:32:32 -04:00
uridownloader meson: Namespace the plugins_doc_dep/libraries variables 2022-09-01 21:17:35 +00:00
va msdk: Fix libdrm dependency detection and usage 2024-05-29 15:49:45 +00:00
vulkan vulkan/swapper: expose choose_queue() in docs 2024-06-12 23:37:58 +10:00
wayland wayland: Use wl_display_create_queue_with_name 2024-05-23 13:38:01 +00:00
webrtc nice: resolve result should go to nice helper thread 2024-02-06 09:12:13 +00:00
winrt gst-plugins-bad: define G_LOG_DOMAIN for all libraries 2021-10-19 00:12:25 +00:00
glib-compat-private.h Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
meson.build d3d12: Move core part to gst-libs 2024-04-01 10:37:50 +00:00