summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-agl-bsp/conf/include/agl_rcar.inc8
-rw-r--r--meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/rcar-gen3/0001-Added-appid-and-title-support.patch166
2 files changed, 7 insertions, 167 deletions
diff --git a/meta-agl-bsp/conf/include/agl_rcar.inc b/meta-agl-bsp/conf/include/agl_rcar.inc
index e1169c21e..829929d62 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 and our own fixup 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-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx"
+BBMASK += "meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-"
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
-