gstreamer/subprojects/gst-plugins-good/sys
Jonas Rebmann 225d6b7e11 v4l2videodec: fix freeze race condition
This fixes a possible deadlock between gst_v4l2_video_dec_change_state
and gst_v4l2_video_dec_loop on the buffer pool.

When stopping capture, the flushing state of the v4l2 capture buffer
pool gets reverted in the processing loop after it was set via
gst_v4l2_object_unlock (self->v4l2capture) (in
gst_v4l2_video_dec_change_state). As a result, gst_v4l2_video_dec_loop
does not return and consequently, gst_pad_stop_task gets stuck waiting
for the GST_PAD_STREAM_LOCK. To circumvent this, skip acquiring the
buffer pool if stopping capture.

Suggested-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7958>
2024-11-27 17:42:11 +00:00
..
directsound meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
oss oss: add a GstDeviceProvider plugin 2023-06-27 09:34:33 +03:00
oss4 gst-plugins-good: re-indent with GNU indent 2.2.12 2023-03-17 03:18:54 +00:00
osxaudio osxaudio: Avoid dangling pointer on shutdown 2024-09-04 10:37:37 +00:00
osxvideo macos: Set activation policy in osxvideosink and glimagesink 2023-05-12 01:14:44 +02:00
rpicamsrc meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
v4l2 v4l2videodec: fix freeze race condition 2024-11-27 17:42:11 +00:00
waveform meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
ximage ximagesrc: fix xnavigation linking issue 2023-11-03 17:36:58 +00:00
meson.build Move files from gst-plugins-good into the "subprojects/gst-plugins-good/" subdir 2021-09-24 16:13:50 -03:00