diff options
Diffstat (limited to 'meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad')
-rw-r--r-- | meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/rcar-gen3/0001-Added-appid-and-title-support.patch | 166 |
1 files changed, 0 insertions, 166 deletions
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 - |