Seungha Yang
095ee27bb5
d3d11videosink: Fix deadlock when parent window is busy
...
Deadlock sequence:
* From a streaming thread, d3d11videosink sends synchronous message
to the parent window, so that internal (child) window can be
constructed on the parent window's thread
* App thread (parent window thread) is waiting for pipeline's
state change (to GST_STATE_NULL) but streaming thread is
blocked and waiting for app thread
To avoid the deadlock, GstD3D11WindowWin32 should send message
to the parent window asynchronously.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3573 >
2022-12-16 14:26:08 +00:00
Seungha Yang
a0526b4ac2
d3d11videosink: Protect window with lock at every place
...
Access to the object should be thread safe to support runtime
property update
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3573 >
2022-12-16 14:26:08 +00:00
Seungha Yang
5996fad734
d3d11: Use correct ref/unref methods
...
Those objects are GstObject subclasses
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3496 >
2022-12-01 00:02:19 +00:00
Seungha Yang
60060685d8
d3d11videosink: Fix for force-aspect-ratio setting when rendering on shared texture
...
Set specified force-aspect-ratio value on window object
in case of shared texture rendering as well
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1304
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2701 >
2022-07-01 18:14:56 +00:00
Seungha Yang
052983014e
d3d11videosink: Add support for crop meta
...
... when upstream element is d3d11.
Note that, if upstream element is not d3d11, crop meta is almost
pointless since d3d11videosink will upload video frame to GPU memory
in any case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/933 >
2021-09-27 16:29:09 +00:00
Seungha Yang
0fa5a06ed9
d3d11videosink: Perform propose_allocation() even when we have no configured window
...
In order to support d3d11 device update, d3d11videosink will configure
window on the first buffer. So, there might not be configured
window when propose_allocation() is required.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/933 >
2021-09-27 16:29:09 +00:00
Thibault Saunier
019971a3c7
Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir
2021-09-24 16:14:36 -03:00