gstreamer/subprojects
Matthias Fuchs 7c49ce1c21 qmlglsrc: sync on the streaming thread
After rendering a QML scene the qmlglsrc element copies the contents of
the scene to a GStreamer buffer. This happens on the Qt render thread.
Then it attaches a sync point to the destination buffer. This sync point
must be awaited by other threads which use the buffer later on. The
current implementation relies on the downstream elements to wait for the
sync point. However, there are situation where this does not work. The
GstBaseTransform e.g. copies the buffer metadata (which overwrites the
sync point without waiting for it) *before* waiting for the sync point.

This commit waits for the sync point inside the qmlglsrc element before
sending it downstream. The wait command is issued on the streaming
thread with the pipeline OpenGL context, i.e. it will synchronize with
the GStreamer OpenGL thread.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5515>
2023-10-20 00:36:26 +00:00
..
gst-devtools Back to development 2023-09-20 19:41:00 +01:00
gst-docs Back to development 2023-09-20 19:41:00 +01:00
gst-editing-services Back to development 2023-09-20 19:41:00 +01:00
gst-examples Back to development 2023-09-20 19:41:00 +01:00
gst-integration-testsuites interaudiosink: Ensure adapters don't store buffers with audio meta 2023-09-28 15:14:38 +02:00
gst-libav Back to development 2023-09-20 19:41:00 +01:00
gst-omx Back to development 2023-09-20 19:41:00 +01:00
gst-plugins-bad tsmux: Fix error handling in pad_stream 2023-10-19 23:22:33 +01:00
gst-plugins-base glfilter: Only add parent meta if inbuf != outbuf 2023-10-10 10:13:15 +01:00
gst-plugins-good qmlglsrc: sync on the streaming thread 2023-10-20 00:36:26 +00:00
gst-plugins-ugly Back to development 2023-09-20 19:41:00 +01:00
gst-python Back to development 2023-09-20 19:41:00 +01:00
gst-rtsp-server rtspclientsink: Don't leak previous server_ip 2023-10-17 20:19:00 +01:00
gstreamer Back to development 2023-09-20 19:41:00 +01:00
gstreamer-sharp Back to development 2023-09-20 19:41:00 +01:00
gstreamer-vaapi Back to development 2023-09-20 19:41:00 +01:00
macos-bison-binary macos-bison: Update to 3.8.2 and add an ARM64 build 2023-09-07 21:36:15 +00:00
packagefiles meson: Ensure that soup plugin is built on Windows 2023-07-24 16:36:56 +01:00
win-flex-bison-binaries meson: Use run_command check: true for windows binary subprojects 2022-10-19 04:05:05 +00:00
win-nasm meson: Use run_command check: true for windows binary subprojects 2022-10-19 04:05:05 +00:00
avtp.wrap subprojects/avtp: Update to latest avtp 0.2.0 2022-03-18 22:49:16 +00:00
bindinator.wrap Pin all wrap files to closest tag or commit sha1 2021-10-14 22:34:49 +00:00
cairo.wrap subprojects: cairo: bump to 1.17.6 2022-09-17 22:41:40 +00:00
dav1d.wrap meson: add missing source_filename in the dav1d wrap 2023-04-10 15:12:54 +00:00
dssim.wrap Pin all wrap files to closest tag or commit sha1 2021-10-14 22:34:49 +00:00
dv.wrap
expat.wrap meson: Update some more wraps 2022-12-10 15:13:09 +00:00
fdk-aac.wrap subprojects: fdk-aac: add fallback_url 2021-10-28 23:29:27 +00:00
FFmpeg.wrap wraps:ffmpeg: Move to 4.4 2021-10-15 02:32:40 +00:00
fontconfig.wrap subprojects: fontconfig: bump to 2.14.0 2022-09-17 22:41:40 +00:00
freetype2.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
fribidi.wrap subprojects: fribidi: bump to 1.0.12 2022-09-17 22:41:40 +00:00
gl-headers.wrap
glib-networking.wrap subprojects: update glib-networking to 2.74.0 and switch to file wrap 2022-11-18 00:51:48 +00:00
glib.wrap subprojects: update glib to 2.74.1 2022-11-18 00:50:56 +00:00
graphene.wrap Pin all wrap files to closest tag or commit sha1 2021-10-14 22:34:49 +00:00
gst-plugins-rs.wrap Back to development 2023-09-20 19:41:00 +01:00
gtk-sharp.wrap Pin all wrap files to closest tag or commit sha1 2021-10-14 22:34:49 +00:00
harfbuzz.wrap subprojects: harfbuzz: bump to 5.2.0 2022-09-17 22:41:40 +00:00
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 Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
libffi.wrap subprojects: libffi: pin to meson-3.2.9999.4 tag 2022-12-31 13:49:17 +00:00
libjpeg-turbo.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
libmicrodns.wrap subprojects: libmicrodns: bump to 0.2.0 + meson fixes 2022-09-17 22:41:40 +00:00
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 subprojects/libpng: Update to latest wrap file 2022-01-28 02:01:39 +05:30
libpsl.wrap meson: Ensure that soup plugin is built on Windows 2023-07-24 16:36:56 +01:00
libsoup.wrap subprojects: switch libsoup to a file wrap 2022-11-18 00:56:25 +00:00
libwpe.wrap
libxml2.wrap libxml2: update to 2.10.3-4 2023-07-24 15:36:34 +01:00
ogg.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
openh264.wrap Update all wraps from WrapDB 2022-09-23 11:08:06 -04:00
opus.wrap Pin all wrap files to closest tag or commit sha1 2021-10-14 22:34:49 +00:00
orc.wrap subprojects: bump orc to 0.4.34 2023-06-15 10:14:55 +01:00
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 Update proxy-libintl wrap to 0.4 2022-04-22 15:36:40 +00:00
pycairo.wrap
pygobject.wrap meson: Allow sysdeps to be forced as fallback subprojects 2023-02-08 13:42:59 +00:00
sqlite3.wrap meson: Update some more wraps 2022-12-10 15:13:09 +00:00
vorbis.wrap meson: Update some wraps, remove unused wraps 2022-07-16 06:16:17 +00:00
webrtc-audio-processing.wrap Pin all wrap files to closest tag or commit sha1 2021-10-14 22:34:49 +00:00
wpebackend-fdo.wrap
x264.wrap
zlib.wrap meson: Update some more wraps 2022-12-10 15:13:09 +00:00