mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-02 01:41:07 +00:00
One race condition is the fact that the window object can be destroyed while running some routine in the UI thread (such as resizing). To avoid that situation we make UI thread hold a reference on the window object while it's running. Other probpematic case is when the window handle is reused: if we stop and start the pipeline very fast, so the sink creates a new window object that is going to use the same window handle as the previous one. And finally the case when the pipeline is stopped immediatelly right after starting, this one is also handled in this commit. NOTE: a unit test that reproduces this cases have been added in the previous commit. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4417> |
||
---|---|---|
.. | ||
gstd3d11av1dec.cpp | ||
gstd3d11av1dec.h | ||
gstd3d11basefilter.cpp | ||
gstd3d11basefilter.h | ||
gstd3d11compositor.cpp | ||
gstd3d11compositor.h | ||
gstd3d11convert.cpp | ||
gstd3d11convert.h | ||
gstd3d11decoder.cpp | ||
gstd3d11decoder.h | ||
gstd3d11deinterlace.cpp | ||
gstd3d11deinterlace.h | ||
gstd3d11download.cpp | ||
gstd3d11download.h | ||
gstd3d11dxgicapture.cpp | ||
gstd3d11dxgicapture.h | ||
gstd3d11h264dec.cpp | ||
gstd3d11h264dec.h | ||
gstd3d11h265dec.cpp | ||
gstd3d11h265dec.h | ||
gstd3d11mpeg2dec.cpp | ||
gstd3d11mpeg2dec.h | ||
gstd3d11overlaycompositor.cpp | ||
gstd3d11overlaycompositor.h | ||
gstd3d11pluginutils.cpp | ||
gstd3d11pluginutils.h | ||
gstd3d11screencapture.cpp | ||
gstd3d11screencapture.h | ||
gstd3d11screencapturedevice.cpp | ||
gstd3d11screencapturedevice.h | ||
gstd3d11screencapturesrc.cpp | ||
gstd3d11screencapturesrc.h | ||
gstd3d11testsrc.cpp | ||
gstd3d11testsrc.h | ||
gstd3d11upload.cpp | ||
gstd3d11upload.h | ||
gstd3d11videosink.cpp | ||
gstd3d11videosink.h | ||
gstd3d11vp8dec.cpp | ||
gstd3d11vp8dec.h | ||
gstd3d11vp9dec.cpp | ||
gstd3d11vp9dec.h | ||
gstd3d11window.cpp | ||
gstd3d11window.h | ||
gstd3d11window_corewindow.cpp | ||
gstd3d11window_corewindow.h | ||
gstd3d11window_dummy.cpp | ||
gstd3d11window_dummy.h | ||
gstd3d11window_swapchainpanel.cpp | ||
gstd3d11window_swapchainpanel.h | ||
gstd3d11window_win32.cpp | ||
gstd3d11window_win32.h | ||
gstd3d11winrtcapture.cpp | ||
gstd3d11winrtcapture.h | ||
meson.build | ||
plugin.cpp |