gstreamer/subprojects
Michael Gruner 53c145a158 gstelement: protect async state changes against spurious wake ups
When a pipeline is pre-rolling, it waits for all sink elements to report
they have received a buffer before completing the transition to paused.
This async wait is done using a state condition variable. The way this
waits are currently implemented do not protect against spurious conditional
wake ups, which may happen due to external factors in the kernel.

This change implements the wait within a loop that iterates over the protected
variable to reinitiates the wait if the wakeup was spurious. More details in
the [GCond docs](https://docs.gtk.org/glib/struct.Cond.html).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4086>
2023-04-04 07:24:57 +00:00
..
gst-devtools validate: scenario: Add a vmethod to free GstValidateActionParameter-s 2023-03-27 01:25:43 +00:00
gst-docs docs: gstreamer1.0-doc plugin removed 2023-03-17 23:35:11 +00:00
gst-editing-services ges: re-indent with GNU indent 2.2.12 2023-03-17 03:18:54 +00:00
gst-examples examples: webrtc/janus/rust: add mandatory ws HTTP request headers 2023-03-22 09:48:28 +00:00
gst-integration-testsuites testsuites: rename mse validate tests 2023-03-17 10:48:10 +01:00
gst-libav gst-libav: Update codec mapping for FFVHuff video 2023-03-23 14:30:59 +00:00
gst-omx gst-omx: re-indent with GNU indent 2.2.12 2023-03-17 03:18:54 +00:00
gst-plugins-bad d3d11screencapturesrc: Add "window-capture-mode" property 2023-04-03 15:06:47 +00:00
gst-plugins-base tools: Count argc after parsing GOption on Windows 2023-03-31 18:11:52 +00:00
gst-plugins-good v4l2object: Add support for YVU420M format 2023-03-31 13:42:05 +00:00
gst-plugins-ugly plugins: Fix various trivial clang compiler warnings 2023-03-18 16:16:55 +02:00
gst-python python: Use arch-specific install dir 2023-03-01 12:40:07 +00:00
gst-rtsp-server gst-rtsp-server: re-indent with GNU indent 2.2.12 2023-03-17 03:18:54 +00:00
gstreamer gstelement: protect async state changes against spurious wake ups 2023-04-04 07:24:57 +00:00
gstreamer-sharp Back to development 2023-01-23 23:04:53 +00:00
gstreamer-vaapi gstreamer-vaapi: re-indent with GNU indent 2.2.12 2023-03-17 03:18:54 +00:00
macos-bison-binary macos-bison-binary: Remove warning when running on arm64 2022-12-16 23:58:07 +00:00
packagefiles/pango-1.50.12 meson: Add a patch that fixes pangocairo usage in gst-plugins-rs 2022-12-17 07:37:03 +05:30
win-flex-bison-binaries
win-nasm
avtp.wrap
bindinator.wrap
cairo.wrap
dav1d.wrap meson: add missing source_filename in the dav1d wrap 2023-04-03 14:29:36 +00:00
dssim.wrap
dv.wrap
expat.wrap meson: Update some more wraps 2022-12-10 15:13:09 +00:00
fdk-aac.wrap
FFmpeg.wrap
fontconfig.wrap
freetype2.wrap
fribidi.wrap
gl-headers.wrap
glib-networking.wrap
glib.wrap
graphene.wrap
gst-plugins-rs.wrap gst-plugins-rs: Track main branch again 2023-01-24 19:08:50 +00:00
gtk-sharp.wrap
gtk.wrap meson: Use gtk tarball for the subproject wrap 2023-02-01 06:29:11 +00:00
harfbuzz.wrap
json-glib.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
lame.wrap meson: Update lame to -7 which contains the def file fix 2022-12-19 01:43:08 +05:30
libdrm.wrap
libffi.wrap subprojects: libffi: pin to meson-3.2.9999.4 tag 2022-12-31 13:49:17 +00:00
libjpeg-turbo.wrap
libmicrodns.wrap
libnice.wrap webrtc: Change requirement to libnice 0.1.20 2023-01-07 16:03:23 +00:00
libopenjp2.wrap meson: Update some more wraps 2022-12-10 15:13:09 +00:00
libpng.wrap
libpsl.wrap
libsoup.wrap
libsrtp2.wrap subprojects: Update libsrtp2 wrap to v2.5.0 2023-02-01 10:34:35 +00:00
libwpe.wrap subprojects: Update libwpe and wpebackend-fdo for fallback support 2020-10-12 12:29:01 +00:00
libxml2.wrap libxml2.wrap: update to latest version 2023-01-25 11:38:52 +00:00
ogg.wrap
openh264.wrap
opus.wrap
orc.wrap
pango.wrap meson: Add a patch that fixes pangocairo usage in gst-plugins-rs 2022-12-17 07:37:03 +05:30
pixman.wrap meson: Update some more wraps 2022-12-10 15:13:09 +00:00
proxy-libintl.wrap
pycairo.wrap
pygobject.wrap meson: Allow sysdeps to be forced as fallback subprojects 2023-02-06 09:26:02 +00:00
sqlite3.wrap meson: Update some more wraps 2022-12-10 15:13:09 +00:00
vorbis.wrap
webrtc-audio-processing.wrap
wpebackend-fdo.wrap
x264.wrap
zlib.wrap meson: Update some more wraps 2022-12-10 15:13:09 +00:00