mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 16:50:47 +00:00
d03e959f54
If the run_async() method is expected to be called from streaming thread and not from application thread, use INFINITE as timeout value so that d3d11window can wait UI dispatcher thread in any case. There is no way to get a robust timeout value from library side. So the fixed timeout value might not be optimal and therefore we should avoid it as much as possible. Rule whether a timeout value can be INFINITE or not is, * If the waiting can be cancelled by GstBaseSink:unlock(), use INFINITE. GstD3D11Window:on_resize() is one case for example. * Otherwise, use timeout value Some details are, GstBaseSink:start() and GstBaseSink:stop() will be called when NULL to READY or READY to NULL state change, so there will be no chance for GstBaseSink:unlock() and GstBaseSink:unlock_stop() to be called around them. So there is no other way then timeout way. GstD3D11Window:consturcted() and GstD3D11Window:unprepare() are the case. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1461> |
||
---|---|---|
.. | ||
androidmedia | ||
applemedia | ||
bluez | ||
d3d11 | ||
d3dvideosink | ||
decklink | ||
directsound | ||
dshowdecwrapper | ||
dshowsrcwrapper | ||
dshowvideosink | ||
dvb | ||
fbdev | ||
ipcpipeline | ||
kms | ||
magicleap | ||
mediafoundation | ||
msdk | ||
nvcodec | ||
opensles | ||
shm | ||
tinyalsa | ||
uvch264 | ||
v4l2codecs | ||
va | ||
wasapi | ||
wasapi2 | ||
winks | ||
winscreencap | ||
meson.build |