Skip to content

Commit

Permalink
webos: gstreamer1.0-plugins-bad: update patch to apply on 1.22.6 version
Browse files Browse the repository at this point in the history
:Release Notes:
Upgraded in:
https://git.openembedded.org/openembedded-core/commit/?id=ff2fc789e08c42903f5e528d4836dd482227291c
backported to mickledore in:
https://git.openembedded.org/openembedded-core/commit/?h=mickledore&id=f481d973d7f942f8a9492cd71985bd1d428ac59a

:Detailed Notes:
Fixes:
http://gecko.lge.com:8000/Errors/Details/710585

ERROR: Applying patch '0004-waylandsink-remove-unsupported-subcompositor.patch' on target directory 'TOPDIR/BUILD/work/raspberrypi4_64-webos-linux/gstreamer1.0-plugins-bad/1.22.6/gst-plugins-bad-1.22.6'
CmdError('quilt --quiltrc TOPDIR/BUILD/work/raspberrypi4_64-webos-linux/gstreamer1.0-plugins-bad/1.22.6/recipe-sysroot-native/etc/quiltrc push', 0, 'stdout: Applying patch 0004-waylandsink-remove-unsupported-subcompositor.patch
patching file ext/wayland/gstwaylandsink.c
patching file ext/wayland/gstwaylandsink.h
patching file gst-libs/gst/wayland/gstwldisplay.c
patching file gst-libs/gst/wayland/gstwlwindow.c
Hunk #2 succeeded at 67 (offset 3 lines).
Hunk webosose#3 succeeded at 170 (offset 3 lines).
Hunk webosose#4 succeeded at 190 (offset 3 lines).
Hunk webosose#5 succeeded at 200 (offset 3 lines).
Hunk webosose#6 succeeded at 210 (offset 3 lines).
Hunk webosose#7 succeeded at 219 (offset 3 lines).
Hunk webosose#8 succeeded at 274 (offset 3 lines).
Hunk webosose#9 succeeded at 286 (offset 3 lines).
Hunk webosose#10 succeeded at 306 (offset 3 lines).
Hunk webosose#11 succeeded at 321 (offset 3 lines).
Hunk webosose#12 succeeded at 351 (offset 3 lines).
Hunk webosose#13 succeeded at 390 (offset 3 lines).
Hunk webosose#14 succeeded at 405 (offset 3 lines).
Hunk webosose#15 succeeded at 441 (offset 6 lines).
Hunk webosose#16 succeeded at 464 (offset 6 lines).
Hunk webosose#17 succeeded at 487 with fuzz 1 (offset 7 lines).
Hunk webosose#18 FAILED at 503.
Hunk webosose#19 succeeded at 625 (offset 7 lines).
Hunk webosose#20 succeeded at 678 (offset 7 lines).
1 out of 20 hunks FAILED -- rejects in file gst-libs/gst/wayland/gstwlwindow.c

:Testing Performed:
Only build tested.

:QA Notes:
No change to image.

:Issues Addressed:
[WRQ-691] Create GPVB with Yocto 4.3 Nanbield
[WRQ-693] Create GPVB with Yocto 4.2 Mickledore

Change-Id: I444ab46e8b664357f9aac468b3dc35b510664d57
  • Loading branch information
shr-project committed Mar 1, 2024
1 parent 50d6629 commit ddae2b8
Showing 1 changed file with 27 additions and 28 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 43036b2d34a7fbee1d586ae0f4c511024a5381a3 Mon Sep 17 00:00:00 2001
From afa4e5a9ac51c59d0c8dfbd69b48babb6594dd48 Mon Sep 17 00:00:00 2001
From: Pankaj Maharana <[email protected]>
Date: Thu, 3 Oct 2019 17:05:37 +0530
Subject: [PATCH] waylandsink: remove unsupported subcompositor
Expand All @@ -7,10 +7,9 @@ MJ: a lot of conflicts from:
https://github.com/GStreamer/gstreamer/commit/062638a639f21e52230c8724fb57b89c14180b35 waylandsink: Rename occurrences of GstWaylandSink to 'self'
https://github.com/GStreamer/gstreamer/commit/8c3e33d4941e6e6796ab96bc966805c5b8b5f757 gstwayland: Move reusable parts of the waylandsink into a library

Upstream-Status: Pending
Signed-off-by: Martin Jansa <[email protected]>
---
Upstream-Status: Pending

.../ext/wayland/gstwaylandsink.c | 151 +++++++++++-
.../ext/wayland/gstwaylandsink.h | 4 +
.../gst-libs/gst/wayland/gstwldisplay.c | 17 +-
Expand Down Expand Up @@ -438,7 +437,7 @@ index 1f83cb24b7..4ed3618179 100644
gst_wl_display_get_xdg_wm_base (GstWlDisplay * self)
{
diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/wayland/gstwlwindow.c b/subprojects/gst-plugins-bad/gst-libs/gst/wayland/gstwlwindow.c
index 6004993f58..77cec7ff8e 100644
index 0023d4ea5a..41f6629c9f 100644
--- a/subprojects/gst-plugins-bad/gst-libs/gst/wayland/gstwlwindow.c
+++ b/subprojects/gst-plugins-bad/gst-libs/gst/wayland/gstwlwindow.c
@@ -40,13 +40,9 @@ typedef struct _GstWlWindowPrivate
Expand All @@ -456,7 +455,7 @@ index 6004993f58..77cec7ff8e 100644
struct wp_viewport *video_viewport;
struct xdg_surface *xdg_surface;
struct xdg_toplevel *xdg_toplevel;
@@ -68,6 +64,10 @@ typedef struct _GstWlWindowPrivate
@@ -71,6 +67,10 @@ typedef struct _GstWlWindowPrivate
/* when this is not set both the area_surface and the video_surface are not
* visible and certain steps should be skipped */
gboolean is_area_surface_mapped;
Expand All @@ -467,15 +466,15 @@ index 6004993f58..77cec7ff8e 100644
} GstWlWindowPrivate;

G_DEFINE_TYPE_WITH_CODE (GstWlWindow, gst_wl_window, G_TYPE_OBJECT,
@@ -167,6 +167,7 @@ gst_wl_window_init (GstWlWindow * self)
@@ -170,6 +170,7 @@ gst_wl_window_init (GstWlWindow * self)
GstWlWindowPrivate *priv = gst_wl_window_get_instance_private (self);

priv->configured = TRUE;
+ priv->internal_surface = FALSE;
g_cond_init (&priv->configure_cond);
g_mutex_init (&priv->configure_mutex);
}
@@ -186,17 +187,9 @@ gst_wl_window_finalize (GObject * gobject)
@@ -189,17 +190,9 @@ gst_wl_window_finalize (GObject * gobject)
wp_viewport_destroy (priv->video_viewport);

wl_proxy_wrapper_destroy (priv->video_surface_wrapper);
Expand All @@ -484,18 +483,18 @@ index 6004993f58..77cec7ff8e 100644
-
- if (priv->area_subsurface)
- wl_subsurface_destroy (priv->area_subsurface);
-
- if (priv->area_viewport)
- wp_viewport_destroy (priv->area_viewport);
-
- wl_proxy_wrapper_destroy (priv->area_surface_wrapper);
- wl_surface_destroy (priv->area_surface);
+ if (priv->internal_surface)
+ wl_surface_destroy (priv->video_surface);

g_clear_object (&priv->display);

@@ -204,7 +197,8 @@ gst_wl_window_finalize (GObject * gobject)
@@ -207,7 +200,8 @@ gst_wl_window_finalize (GObject * gobject)
}

static GstWlWindow *
Expand All @@ -505,7 +504,7 @@ index 6004993f58..77cec7ff8e 100644
{
GstWlWindow *self;
GstWlWindowPrivate *priv;
@@ -213,6 +207,8 @@ gst_wl_window_new_internal (GstWlDisplay * display, GMutex * render_lock)
@@ -216,6 +210,8 @@ gst_wl_window_new_internal (GstWlDisplay * display, GMutex * render_lock)
struct wl_region *region;
struct wp_viewporter *viewporter;

Expand All @@ -514,7 +513,7 @@ index 6004993f58..77cec7ff8e 100644
self = g_object_new (GST_TYPE_WL_WINDOW, NULL);
priv = gst_wl_window_get_instance_private (self);
priv->display = g_object_ref (display);
@@ -220,36 +216,34 @@ gst_wl_window_new_internal (GstWlDisplay * display, GMutex * render_lock)
@@ -223,36 +219,34 @@ gst_wl_window_new_internal (GstWlDisplay * display, GMutex * render_lock)
g_cond_init (&priv->configure_cond);

compositor = gst_wl_display_get_compositor (display);
Expand Down Expand Up @@ -562,7 +561,7 @@ index 6004993f58..77cec7ff8e 100644

return self;
}
@@ -277,7 +271,7 @@ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info,
@@ -280,7 +274,7 @@ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info,
struct xdg_wm_base *xdg_wm_base;
struct zwp_fullscreen_shell_v1 *fullscreen_shell;

Expand All @@ -571,7 +570,7 @@ index 6004993f58..77cec7ff8e 100644
priv = gst_wl_window_get_instance_private (self);

xdg_wm_base = gst_wl_display_get_xdg_wm_base (display);
@@ -289,7 +283,7 @@ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info,
@@ -292,7 +286,7 @@ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info,

/* First create the XDG surface */
priv->xdg_surface = xdg_wm_base_get_xdg_surface (xdg_wm_base,
Expand All @@ -580,7 +579,7 @@ index 6004993f58..77cec7ff8e 100644
if (!priv->xdg_surface) {
GST_ERROR ("Unable to get xdg_surface");
goto error;
@@ -309,7 +303,7 @@ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info,
@@ -312,7 +306,7 @@ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info,

/* Finally, commit the xdg_surface state as toplevel */
priv->configured = FALSE;
Expand All @@ -589,7 +588,7 @@ index 6004993f58..77cec7ff8e 100644
wl_display_flush (gst_wl_display_get_display (display));

g_mutex_lock (&priv->configure_mutex);
@@ -324,7 +318,7 @@ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info,
@@ -327,7 +321,7 @@ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info,
g_mutex_unlock (&priv->configure_mutex);
} else if (fullscreen_shell) {
zwp_fullscreen_shell_v1_present_surface (fullscreen_shell,
Expand All @@ -598,7 +597,7 @@ index 6004993f58..77cec7ff8e 100644
} else {
GST_ERROR ("Unable to use either xdg_wm_base or zwp_fullscreen_shell.");
goto error;
@@ -354,20 +348,17 @@ gst_wl_window_new_in_surface (GstWlDisplay * display,
@@ -357,20 +351,17 @@ gst_wl_window_new_in_surface (GstWlDisplay * display,
GstWlWindowPrivate *priv;
struct wl_region *region;

Expand Down Expand Up @@ -626,7 +625,7 @@ index 6004993f58..77cec7ff8e 100644

wl_surface_commit (parent);

@@ -396,17 +387,6 @@ gst_wl_window_get_wl_surface (GstWlWindow * self)
@@ -399,17 +390,6 @@ gst_wl_window_get_wl_surface (GstWlWindow * self)
return priv->video_surface_wrapper;
}

Expand All @@ -644,15 +643,15 @@ index 6004993f58..77cec7ff8e 100644
gboolean
gst_wl_window_is_toplevel (GstWlWindow * self)
{
@@ -422,6 +402,7 @@ static void
@@ -425,6 +405,7 @@ static void
gst_wl_window_resize_video_surface (GstWlWindow * self, gboolean commit)
{
GstWlWindowPrivate *priv = gst_wl_window_get_instance_private (self);
+ struct wl_region *region;
GstVideoRectangle src = { 0, };
GstVideoRectangle dst = { 0, };
GstVideoRectangle res;
@@ -454,12 +435,18 @@ gst_wl_window_resize_video_surface (GstWlWindow * self, gboolean commit)
@@ -460,12 +441,18 @@ gst_wl_window_resize_video_surface (GstWlWindow * self, gboolean commit)
gst_video_center_rect (&src, &dst, &res, FALSE);
}

Expand All @@ -673,7 +672,7 @@ index 6004993f58..77cec7ff8e 100644

priv->video_rectangle = res;
}
@@ -471,12 +458,7 @@ gst_wl_window_set_opaque (GstWlWindow * self, const GstVideoInfo * info)
@@ -477,12 +464,7 @@ gst_wl_window_set_opaque (GstWlWindow * self, const GstVideoInfo * info)
struct wl_compositor *compositor;
struct wl_region *region;

Expand All @@ -686,8 +685,8 @@ index 6004993f58..77cec7ff8e 100644

if (!GST_VIDEO_INFO_HAS_ALPHA (info)) {
/* Set video opaque */
@@ -498,20 +480,22 @@ gst_wl_window_render (GstWlWindow * self, GstWlBuffer * buffer,
gst_util_uint64_scale_int_round (info->width, info->par_n, info->par_d);
@@ -505,20 +487,22 @@ gst_wl_window_render (GstWlWindow * self, GstWlBuffer * buffer,
priv->video_width = info->width;
priv->video_height = info->height;

- wl_subsurface_set_sync (priv->video_subsurface);
Expand All @@ -714,7 +713,7 @@ index 6004993f58..77cec7ff8e 100644
priv->is_area_surface_mapped = TRUE;
g_signal_emit (self, signals[MAP], 0);
}
@@ -519,106 +503,12 @@ gst_wl_window_render (GstWlWindow * self, GstWlBuffer * buffer,
@@ -526,106 +510,12 @@ gst_wl_window_render (GstWlWindow * self, GstWlBuffer * buffer,
/* clear both video and parent surfaces */
wl_surface_attach (priv->video_surface_wrapper, NULL, 0, 0);
wl_surface_commit (priv->video_surface_wrapper);
Expand Down Expand Up @@ -807,21 +806,21 @@ index 6004993f58..77cec7ff8e 100644
- if (!priv->configured)
- return;
-
- if (priv->video_width != 0) {
- if (priv->scaled_width != 0) {
- wl_subsurface_set_sync (priv->video_subsurface);
- gst_wl_window_resize_video_surface (self, TRUE);
- }
-
- wl_surface_commit (priv->area_surface_wrapper);
-
- if (priv->video_width != 0)
- if (priv->scaled_width != 0)
- wl_subsurface_set_desync (priv->video_subsurface);
-}
-
void
gst_wl_window_set_render_rectangle (GstWlWindow * self, gint x, gint y,
gint w, gint h)
@@ -634,7 +524,16 @@ gst_wl_window_set_render_rectangle (GstWlWindow * self, gint x, gint y,
@@ -641,7 +531,16 @@ gst_wl_window_set_render_rectangle (GstWlWindow * self, gint x, gint y,
priv->render_rectangle.w = w;
priv->render_rectangle.h = h;

Expand All @@ -839,7 +838,7 @@ index 6004993f58..77cec7ff8e 100644
}

const GstVideoRectangle *
@@ -678,5 +577,5 @@ gst_wl_window_set_rotate_method (GstWlWindow * self,
@@ -685,5 +584,5 @@ gst_wl_window_set_rotate_method (GstWlWindow * self,

priv->buffer_transform = output_transform_from_orientation_method (method);

Expand Down

0 comments on commit ddae2b8

Please sign in to comment.