gstreamer/sys
Nicolas Dufresne ca61a76987 v4l2: Fix threading issues in orphaning mechanism
The pool orphaning function was colling internal _stop() virtual function
implementation. This is not thread safe, as a private lock inside the buffer
pool is supposed to be held. Fix this by keeping delayed _stop() and orphaning
the GstV4L2Allocator instead (REQBUFS(0)).

Then, protect the orphaned boolean with the object lock for the case a buffer
is being released after we have orphaned the buffer. That would otherwise
cause a QBUF to happen while the queue is no longer owned by the buffer pool.
This boolean is otherwise used and set from the streaming lock, or after
threads have been stopped (final cleanup).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/648>
2020-06-28 15:12:07 +00:00
..
directsound Remove autotools build system 2019-10-14 11:04:18 +01:00
oss Remove autotools build system 2019-10-14 11:04:18 +01:00
oss4 Remove autotools build system 2019-10-14 11:04:18 +01:00
osxaudio osxaudio: Remove deprecated GTimeVal 2019-12-18 19:48:34 +00:00
osxvideo meson: Pass native: false to add_languages() 2020-05-13 19:25:33 +05:30
v4l2 v4l2: Fix threading issues in orphaning mechanism 2020-06-28 15:12:07 +00:00
waveform Remove autotools build system 2019-10-14 11:04:18 +01:00
ximage good: use of g_value_dup_string 2019-12-20 09:30:26 +00:00
meson.build meson: Add build files for osxaudio, osxvideo, waveform 2018-08-17 20:05:25 +05:30