gstreamer/subprojects/gst-plugins-base/gst-libs/gst/gl
Matthew Waters ddf7c1ec63 gldisplay/egl: Add API for overriding foreign-ness of the EGLDisplay
Scenario is using wayland with this pipeline: videotestsrc ! glupload ! qml6glsink.

First pipeline and qml construction works just fine.  However if all GStreamer
and QML scenegraph resources are removed, GStreamer will call eglTerminate() and
sever the connection to the display server for Qt.  When Qt attempts to do any
further GL operations like construct a new QML scene, it can crash in any number
of places as libEGL will start returning NULL or other unexpected values.

What we really need is to ensure that if an external API (e.g. Qt) will
eventually call eglTerminate(), there is no need for GStreamer to call
eglTerminate().  This is what the foreign display flags allows setting.

There is also another possible scenario where one may like to make GStreamer
assume ownership of an EGLDisplay and thus eventually call `eglTerminate()`.  As
such, it is now also possible to mark an GstGLDisplayEGL as non-foreign.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8504>
2025-02-21 12:03:31 +00:00
..
android
cocoa cocoa: fix rendering artefacts in retina displays 2024-11-05 13:40:23 +00:00
dispmanx
eagl gl/eagl: ignore OpenGLES deprecation on ios 2023-07-27 13:05:37 +00:00
egl gldisplay/egl: Add API for overriding foreign-ness of the EGLDisplay 2025-02-21 12:03:31 +00:00
gbm gl: raise WARNING instead of ERROR when no connector is connected 2024-12-12 10:43:26 +01:00
glprototypes qmlgloverlay: make depth buffer optional 2024-11-01 02:37:57 +00:00
utils
viv-fb viv-fb: fix build warning of [-Wunused-variable] 2024-01-15 07:24:47 +00:00
wayland gst-launch: accept option to set program name 2024-01-12 17:11:11 +00:00
wgl glcontext_wgl: fix missing unref 2023-04-11 20:05:17 +00:00
win32 vulkan: gl: change symbols to static 2023-03-23 00:56:04 +00:00
winrt meson: Do hard build error for some MSVC warnings 2022-02-16 17:03:29 +00:00
x11 gl/x11: fix memory leak when retrieiving a foreign context's info 2024-02-22 10:24:24 +00:00
gl-prelude.h gl: Add GST_GL_DEPRECATED 2022-02-21 21:26:43 +00:00
gl.h gl/mixer: make fbo instance field private and provide accessor function 2023-05-18 19:34:14 +00:00
gl_mkenum.py
gstgl_enums.h
gstgl_fwd.h
gstglapi.c
gstglapi.h
gstglbasefilter.c gl: basefilter: Ensure we have a context before running allocation query 2024-01-13 10:36:51 +00:00
gstglbasefilter.h
gstglbasememory.c gl: Add/fix various annotations 2022-10-18 08:56:58 +00:00
gstglbasememory.h gl: Add/fix various annotations 2022-10-18 08:56:58 +00:00
gstglbasemixer.c gl: update docs for mixer move 2023-05-18 19:34:15 +00:00
gstglbasemixer.h gl: update docs for mixer move 2023-05-18 19:34:15 +00:00
gstglbasesrc.c glbasesrc: Reverse order of error/debug messages 2023-04-11 12:28:27 +01:00
gstglbasesrc.h
gstglbuffer.c gl: Mark GL memory GType functions as deprecated 2022-02-21 21:26:43 +00:00
gstglbuffer.h gl: Mark GL memory GType functions as deprecated 2022-02-21 21:26:43 +00:00
gstglbufferpool.c glbufferpool: protect release_buffer from multiple concurrent access 2024-04-02 23:50:41 +00:00
gstglbufferpool.h gl/bufferpool: add configuration to extend buffer lifetime before reuse 2023-08-31 01:24:38 +00:00
gstglcolorconvert.c gl: colorconvert: Add support for I422_10XX and I422_12XX 2024-11-19 12:39:01 +00:00
gstglcolorconvert.h gl: colorconvert: Add support for I422_10XX and I422_12XX 2024-11-19 12:39:01 +00:00
gstglconfig.h.meson
gstglcontext.c glcontext: add trace log when scheduling function in GL thread 2025-01-06 06:56:50 +00:00
gstglcontext.h
gstglcontext_private.h gl/context: disable timer queries for ARM Mali-G52 2022-05-12 00:22:21 +00:00
gstglcontextconfig.c docs/glcontextconfig: rename title to not be GstGLContext 2022-10-19 13:01:06 +00:00
gstglcontextconfig.h
gstglcontextquirks.c gl/context: disable timer queries for ARM Mali-G52 2022-05-12 00:22:21 +00:00
gstgldebug.c
gstgldebug.h
gstgldisplay.c all: Fix closure annotations 2024-10-25 08:58:29 +00:00
gstgldisplay.h gl: add support for surfaceless display in GstGL 2023-10-20 12:46:48 +00:00
gstglfeature.c
gstglfeature.h
gstglfeature_private.h
gstglfilter.c glfiter: Protect GstGLContext access 2023-10-18 11:22:31 +00:00
gstglfilter.h
gstglformat.c gl: colorconvert: Add support for I422_10XX and I422_12XX 2024-11-19 12:39:01 +00:00
gstglformat.h gl: expose calculating swizzle indices to/from RGBA/YUVA 2023-07-28 03:29:09 +00:00
gstglframebuffer.c glframebuffer: Improve error tracing 2024-08-02 13:03:51 +00:00
gstglframebuffer.h
gstglfuncs.h qmlgloverlay: make depth buffer optional 2024-11-01 02:37:57 +00:00
gstglmemory.c glcolorconvert: add support for converting to/from v210 2024-05-23 04:42:06 +00:00
gstglmemory.h gl: colorconvert: Add support for I422_10XX and I422_12XX 2024-11-19 12:39:01 +00:00
gstglmemorypbo.c gl: Mark GL memory GType functions as deprecated 2022-02-21 21:26:43 +00:00
gstglmemorypbo.h gl: Mark GL memory GType functions as deprecated 2022-02-21 21:26:43 +00:00
gstglmixer.c glmixer: Add GL_SYNC_META option to bufferpool 2024-04-29 19:15:39 +00:00
gstglmixer.h gl: update docs for mixer move 2023-05-18 19:34:15 +00:00
gstgloverlaycompositor.c gloverlaycompositor: Add GL sync point when uploading overlays 2023-11-07 00:32:39 +01:00
gstgloverlaycompositor.h
gstglpixelformat.c
gstglquery.c
gstglquery.h
gstglrenderbuffer.c gl: Mark GL memory GType functions as deprecated 2022-02-21 21:26:43 +00:00
gstglrenderbuffer.h gl: Mark GL memory GType functions as deprecated 2022-02-21 21:26:43 +00:00
gstglshader.c Fix various warnings from gobject-introspection 2022-10-25 09:45:25 +03:00
gstglshader.h
gstglshaderstrings.c gl: Add #ifndef GST_REMOVE_DEPRECATED for existing deprecated API 2022-02-21 21:26:43 +00:00
gstglshaderstrings.h gl: Replace existing G_DEPRECATED_FOR usage with GST_GL_DEPRECATED_FOR 2022-02-21 21:26:43 +00:00
gstglsl.c gl: Add/fix various annotations 2022-10-18 08:56:58 +00:00
gstglsl.h
gstglsl_private.h
gstglslstage.c
gstglslstage.h
gstglsyncmeta.c
gstglsyncmeta.h
gstglupload.c gl: upload: use empty caps if transform_caps returns NULL 2025-02-20 09:43:28 +00:00
gstglupload.h gl: upload: Implement the fixate_caps virtual function 2023-10-18 19:56:30 +00:00
gstglutils.c gldownload: enumerate emulated video formats 2024-11-28 15:25:28 -05:00
gstglutils.h gldownload: enumerate emulated video formats 2024-11-28 15:25:28 -05:00
gstglutils_private.h
gstglviewconvert.c gl: Add/fix various annotations 2022-10-18 08:56:58 +00:00
gstglviewconvert.h
gstglwindow.c all: Fix closure annotations 2024-10-25 08:58:29 +00:00
gstglwindow.h
gstglwindow_private.h
meson.build docs: generate hotdoc configs for libraries with our helper script 2025-01-17 20:36:06 +01:00