forked from mirrors/gstreamer-rs
4c0f03d5fd
`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/1344> |
||
---|---|---|
.. | ||
src | ||
build.rs | ||
Cargo.toml |