diff --git a/meson.build b/meson.build index b1e8f04a..c9a6f8d1 100644 --- a/meson.build +++ b/meson.build @@ -252,17 +252,15 @@ if get_option('gtk4').allowed() gtk4_features = [] gl_winsys = gst_gl_dep.get_variable('gl_winsys').split() gl_platforms = gst_gl_dep.get_variable('gl_platforms').split() - if host_system == 'linux' - if 'wayland' in gl_winsys - gtk4_features += 'wayland' + if 'wayland' in gl_winsys + gtk4_features += 'wayland' + endif + if 'x11' in gl_winsys + if 'egl' in gl_platforms + gtk4_features += 'x11egl' endif - if 'x11' in gl_winsys - if 'egl' in gl_platforms - gtk4_features += 'x11egl' - endif - if 'glx' in gl_platforms - gtk4_features += 'x11glx' - endif + if 'glx' in gl_platforms + gtk4_features += 'x11glx' endif endif plugins += {'gtk4': { diff --git a/video/gtk4/src/sink/imp.rs b/video/gtk4/src/sink/imp.rs index a9789d76..a8b21e3a 100644 --- a/video/gtk4/src/sink/imp.rs +++ b/video/gtk4/src/sink/imp.rs @@ -595,11 +595,11 @@ impl PaintableSink { }; match gdk_context.type_().name() { - #[cfg(all(target_os = "linux", feature = "x11egl"))] + #[cfg(feature = "x11egl")] "GdkX11GLContextEGL" => (), - #[cfg(all(target_os = "linux", feature = "x11glx"))] + #[cfg(feature = "x11glx")] "GdkX11GLContextGLX" => (), - #[cfg(all(target_os = "linux", feature = "wayland"))] + #[cfg(feature = "wayland")] "GdkWaylandGLContext" => (), #[cfg(target_os = "macos")] "GdkMacosGLContext" => (), @@ -621,11 +621,11 @@ impl PaintableSink { gdk_context.make_current(); let res = match gdk_context.type_().name() { - #[cfg(all(target_os = "linux", feature = "x11egl"))] + #[cfg(feature = "x11egl")] "GdkX11GLContextEGL" => self.initialize_x11egl(gdk_display), - #[cfg(all(target_os = "linux", feature = "x11glx"))] + #[cfg(feature = "x11glx")] "GdkX11GLContextGLX" => self.initialize_x11glx(gdk_display), - #[cfg(all(target_os = "linux", feature = "wayland"))] + #[cfg(feature = "wayland")] "GdkWaylandGLContext" => self.initialize_waylandegl(gdk_display), #[cfg(target_os = "macos")] "GdkMacosGLContext" => self.initialize_macosgl(gdk_display), @@ -675,7 +675,7 @@ impl PaintableSink { }; } - #[cfg(all(target_os = "linux", feature = "x11egl"))] + #[cfg(feature = "x11egl")] fn initialize_x11egl( &self, display: gdk::Display, @@ -725,7 +725,7 @@ impl PaintableSink { } } - #[cfg(all(target_os = "linux", feature = "x11glx"))] + #[cfg(feature = "x11glx")] fn initialize_x11glx( &self, display: gdk::Display, @@ -774,7 +774,7 @@ impl PaintableSink { } } - #[cfg(all(target_os = "linux", feature = "wayland"))] + #[cfg(feature = "wayland")] fn initialize_waylandegl( &self, display: gdk::Display,