mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2024-12-23 00:26:31 +00:00
5fdd56747f
`GstGLDisplayWayland` calls GstGLDisplayEGL::from_gl_display()` under the hood (which calls `GstGLDisplayEGL::from_native()`, which calls `eglGetPlatformDisplay()`) to retrieve the underlying `EGLDisplay` handle, which thus far seems to be the same value as `glutin`. However, newer `glutin 0.31` passes attributes to this function resulting in a different handle, causing all kinds of trouble further down the line when sharing resources between `glutin` and `gstreamer-rs` that both operate on a distinct `EGLDisplay`. Furthermore `GstGLDisplayEGL` thinks that it uniquely owns the handle returned by `eglGetPlatformDisplay()` and _does not_ set `.foreign_display = TRUE` (which `GstGLDisplayEGL::with_egl_display()` would), causing it to call `eglTerminate()` as soon as the `GstGLDisplay` is destroyed, leaving `glutin` dysfunctional. To solve all of this, simply remove this wrongly-behaving class from the example as it is not suitable for sharing an `EGLDisplay` with `glutin`. It might however be interesting to create a different example that showcases how to use raw window handles instead of EGL/GLX handles, however only Wayland and any platform on EGL like Android, via `GstGLDisplayEGL::from_native()`, support this. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1336> |
||
---|---|---|
.. | ||
windows-docker | ||
env.sh | ||
gir-checks.py | ||
images_template.yml | ||
install-dav1d.sh | ||
install-gst.sh | ||
install-rust.sh | ||
run-cargo-test.sh | ||
run-clippy.sh | ||
run-sys-cargo-test.sh | ||
run_windows_tests.ps1 |