diff options
5 files changed, 12 insertions, 170 deletions
diff --git a/meta-agl-bsp/conf/include/agl_rcar.inc b/meta-agl-bsp/conf/include/agl_rcar.inc index e1169c21e..01314f8c9 100644 --- a/meta-agl-bsp/conf/include/agl_rcar.inc +++ b/meta-agl-bsp/conf/include/agl_rcar.inc @@ -18,7 +18,6 @@ PREFERRED_PROVIDER_libgbm:rcar-gen3 = "libgbm" PREFERRED_PROVIDER_virtual/libgbm:rcar-gen3 = "libgbm" PREFERRED_RPROVIDER_libgbm-dev:rcar-gen3 = "libgbm" - PREFERRED_RPROVIDER_libomxil:rcar-gen3 = "omx-user-module" PREFERRED_PROVIDER_virtual/libomxil:rcar-gen3 = "omx-user-module" VIRTUAL-RUNTIME_libomxil:rcar-gen3 = "omx-user-module" @@ -53,3 +52,10 @@ MACHINE_EXTRA_RRECOMMENDS:append:rcar-gen3 = " \ kernel-module-vspm-if \ omx-user-module \ " + +# Mask out BSP layer gstreamer* 1.22.x bbappends for now, as the BSP +# effectively is building 1.20.x plugins and packaging them as 1.22, +# which breaks building various things. The whole directory is not +# commented out because we still want the vspfilter plugin. +BBMASK += "meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx" +BBMASK += "meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.%.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.%.bbappend deleted file mode 100644 index d91281c18..000000000 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.%.bbappend +++ /dev/null @@ -1 +0,0 @@ -do_unpack[network] = "1" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.%.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.%.bbappend index d91281c18..eee123cf4 100644 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.%.bbappend +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.%.bbappend @@ -1 +1,5 @@ -do_unpack[network] = "1" +# Enable here for now due to meta-rcar-gen3 bbappends being masked +# out, can be removed once gstreamer 1.22.x is properly supported +# there. +EXTRA_OECONF += "--enable-kms" +PACKAGECONFIG:append = " kms" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.%.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.%.bbappend deleted file mode 100644 index d91281c18..000000000 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.%.bbappend +++ /dev/null @@ -1 +0,0 @@ -do_unpack[network] = "1" diff --git a/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/rcar-gen3/0001-Added-appid-and-title-support.patch b/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/rcar-gen3/0001-Added-appid-and-title-support.patch deleted file mode 100644 index 72b924337..000000000 --- a/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/rcar-gen3/0001-Added-appid-and-title-support.patch +++ /dev/null @@ -1,166 +0,0 @@ -From df64f7e34d01a03957d78317ef9a1cf6d6b95055 Mon Sep 17 00:00:00 2001 -From: Marius Vlad <marius.vlad@collabora.com> -Date: Wed, 9 Aug 2023 14:34:19 +0300 -Subject: [PATCH] Added appid and title support - -Bug-AGL: SPEC-4870 -Signed-off-by: Marius Vlad <marius.vlad@collabora.com> ---- - ext/wayland/gstwaylandsink.c | 43 ++++++++++++++++++++++++++++++++++-- - ext/wayland/gstwaylandsink.h | 2 ++ - ext/wayland/wlwindow.c | 10 ++++++++- - ext/wayland/wlwindow.h | 2 +- - 4 files changed, 53 insertions(+), 4 deletions(-) - -diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c -index 4918154..f743cf2 100644 ---- a/ext/wayland/gstwaylandsink.c -+++ b/ext/wayland/gstwaylandsink.c -@@ -66,7 +66,9 @@ enum - PROP_DISPLAY, - PROP_FULLSCREEN, - PROP_USE_SUBSURFACE, -- PROP_SUPPRESS_INTERLACE -+ PROP_SUPPRESS_INTERLACE, -+ PROP_APP_ID, -+ PROP_TITLE - }; - - #define DEFAULT_USE_SUBSURFACE TRUE -@@ -229,6 +231,16 @@ gst_wayland_sink_class_init (GstWaylandSinkClass * klass) - DEFAULT_SUPPRESS_INTERLACE, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - -+ g_object_class_install_property (gobject_class, PROP_APP_ID, -+ g_param_spec_string ("appid", "Top-level application id", "Wayland " -+ "appid, as xdg_shell::set_app_id", -+ NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); -+ -+ g_object_class_install_property (gobject_class, PROP_TITLE, -+ g_param_spec_string ("title", "Top-level title", "Wayland " -+ "title, xdg_shell::set_title", -+ NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); -+ - gst_type_mark_as_plugin_api (GST_TYPE_WAYLAND_VIDEO, 0); - } - -@@ -266,6 +278,16 @@ gst_wayland_sink_get_property (GObject * object, - g_value_set_string (value, sink->display_name); - GST_OBJECT_UNLOCK (sink); - break; -+ case PROP_APP_ID: -+ GST_OBJECT_LOCK (sink); -+ g_value_set_string (value, sink->app_id); -+ GST_OBJECT_UNLOCK (sink); -+ break; -+ case PROP_TITLE: -+ GST_OBJECT_LOCK (sink); -+ g_value_set_string (value, sink->title); -+ GST_OBJECT_UNLOCK (sink); -+ break; - case PROP_FULLSCREEN: - GST_OBJECT_LOCK (sink); - g_value_set_boolean (value, sink->fullscreen); -@@ -298,6 +320,16 @@ gst_wayland_sink_set_property (GObject * object, - sink->display_name = g_value_dup_string (value); - GST_OBJECT_UNLOCK (sink); - break; -+ case PROP_APP_ID: -+ GST_OBJECT_LOCK (sink); -+ sink->app_id = g_value_dup_string (value); -+ GST_OBJECT_UNLOCK (sink); -+ break; -+ case PROP_TITLE: -+ GST_OBJECT_LOCK (sink); -+ sink->title = g_value_dup_string (value); -+ GST_OBJECT_UNLOCK (sink); -+ break; - case PROP_FULLSCREEN: - GST_OBJECT_LOCK (sink); - gst_wayland_sink_set_fullscreen (sink, g_value_get_boolean (value)); -@@ -331,12 +363,18 @@ gst_wayland_sink_finalize (GObject * object) - gst_buffer_unref (sink->last_buffer); - if (sink->display) - g_object_unref (sink->display); -+ if (sink->title) -+ g_object_unref (sink->title); -+ if (sink->app_id) -+ g_object_unref (sink->app_id); - if (sink->window) - g_object_unref (sink->window); - if (sink->pool) - gst_object_unref (sink->pool); - - g_free (sink->display_name); -+ g_free (sink->title); -+ g_free (sink->app_id); - - g_mutex_clear (&sink->display_lock); - g_mutex_clear (&sink->render_lock); -@@ -768,7 +806,8 @@ gst_wayland_sink_show_frame (GstVideoSink * vsink, GstBuffer * buffer) - if (!sink->window) { - /* if we were not provided a window, create one ourselves */ - sink->window = gst_wl_window_new_toplevel (sink->display, -- &sink->video_info, sink->fullscreen, &sink->render_lock); -+ &sink->video_info, sink->fullscreen, sink->app_id, sink->title, -+ &sink->render_lock); - g_signal_connect_object (sink->window, "closed", - G_CALLBACK (on_window_closed), sink, 0); - } -diff --git a/ext/wayland/gstwaylandsink.h b/ext/wayland/gstwaylandsink.h -index 46ea538..e6c94ae 100644 ---- a/ext/wayland/gstwaylandsink.h -+++ b/ext/wayland/gstwaylandsink.h -@@ -64,6 +64,8 @@ struct _GstWaylandSink - gboolean fullscreen; - - gchar *display_name; -+ gchar *app_id; -+ gchar *title; - - gboolean redraw_pending; - GMutex render_lock; -diff --git a/ext/wayland/wlwindow.c b/ext/wayland/wlwindow.c -index 3aace87..16faec8 100644 ---- a/ext/wayland/wlwindow.c -+++ b/ext/wayland/wlwindow.c -@@ -255,7 +255,7 @@ gst_wl_window_ensure_fullscreen (GstWlWindow * window, gboolean fullscreen) - - GstWlWindow * - gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info, -- gboolean fullscreen, GMutex * render_lock) -+ gboolean fullscreen, gchar *app_id, gchar *title, GMutex * render_lock) - { - GstWlWindow *window; - -@@ -288,6 +288,14 @@ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info, - - /* Finally, commit the xdg_surface state as toplevel */ - window->configured = FALSE; -+ if (app_id) -+ xdg_toplevel_set_app_id (window->xdg_toplevel, app_id); -+ else -+ xdg_toplevel_set_app_id (window->xdg_toplevel, "ext.wayland.waylandsink"); -+ if (title) -+ xdg_toplevel_set_title (window->xdg_toplevel, title); -+ else -+ xdg_toplevel_set_title (window->xdg_toplevel, "ext.wayland.waylandsink"); - wl_surface_commit (window->area_surface); - wl_display_flush (display->display); - -diff --git a/ext/wayland/wlwindow.h b/ext/wayland/wlwindow.h -index 034a5a5..6b525c8 100644 ---- a/ext/wayland/wlwindow.h -+++ b/ext/wayland/wlwindow.h -@@ -84,7 +84,7 @@ GType gst_wl_window_get_type (void); - void gst_wl_window_ensure_fullscreen (GstWlWindow * window, - gboolean fullscreen); - GstWlWindow *gst_wl_window_new_toplevel (GstWlDisplay * display, -- const GstVideoInfo * info, gboolean fullscreen, GMutex * render_lock); -+ const GstVideoInfo * info, gboolean fullscreen, gchar * app_id, gchar *title, GMutex * render_lock); - GstWlWindow *gst_wl_window_new_in_surface (GstWlDisplay * display, - struct wl_surface * parent, GMutex * render_lock); - --- -2.35.1 - |