diff --git a/meson.build b/meson.build index 230ac765..164e1bce 100644 --- a/meson.build +++ b/meson.build @@ -10,7 +10,7 @@ project('clapper', 'c', glib_req = '>= 2.76.0' gst_req = '>= 1.24.0' -gtk4_req = '>= 4.10.0' +gtk4_req = '>= 4.16.0' adw_req = '>= 1.4.0' clapper_version = meson.project_version().split('-')[0] diff --git a/src/lib/clapper-gtk/clapper-gtk-video.c b/src/lib/clapper-gtk/clapper-gtk-video.c index ba011c32..07111b53 100644 --- a/src/lib/clapper-gtk/clapper-gtk-video.c +++ b/src/lib/clapper-gtk/clapper-gtk-video.c @@ -1036,6 +1036,19 @@ _video_sink_changed_cb (ClapperPlayer *player, gst_object_unref (vsink); } +#ifndef G_OS_WIN32 + if (widget) { + GtkWidget *offload = gtk_graphics_offload_new (widget); + + gtk_graphics_offload_set_black_background (GTK_GRAPHICS_OFFLOAD (offload), TRUE); + + GST_DEBUG_OBJECT (self, "Sink widget is placed within graphics offload"); + + g_object_unref (widget); + widget = g_object_ref_sink (offload); + } +#endif + if (!widget) { GST_DEBUG_OBJECT (self, "No widget from video sink, using placeholder"); widget = g_object_ref_sink (clapper_gtk_video_placeholder_new ());