Skip to content

RDKOSS-808: glimagesink should support Westeros simple_shell protocol#392

Open
emutavchi wants to merge 1 commit into
developfrom
feature/RDKOSS-808
Open

RDKOSS-808: glimagesink should support Westeros simple_shell protocol#392
emutavchi wants to merge 1 commit into
developfrom
feature/RDKOSS-808

Conversation

@emutavchi
Copy link
Copy Markdown
Contributor

And use it to change video window geometry

Change-Id: Ia652ced8d014ba7b245dfb172a6b9d002dbbd649

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Yocto gst-plugins-base 1.18.5 recipe to apply a new downstream patch that adds Westeros SimpleShell integration to the Wayland/EGL GL window path, allowing geometry updates via the SimpleShell protocol.

Changes:

  • Add and apply a new patch to gst-plugins-base enabling wl_simple_shell (Westeros SimpleShell) usage in the Wayland EGL window implementation.
  • Extend the wayland PACKAGECONFIG dependency list to include westeros-simpleshell.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.

File Description
recipes-multimedia/gstreamer/gstreamer1.0_1.18/gstreamer1.0-plugins-base_1.18.5.bb Adds the new Westeros SimpleShell patch to SRC_URI and pulls westeros-simpleshell into Wayland PACKAGECONFIG deps.
recipes-multimedia/gstreamer/gstreamer1.0_1.18/gstreamer1.0-plugins-base/0008-GL-Wayland-Add-Westeros-SimpleShell-support.patch Introduces Meson dependency wiring and Wayland window code changes to listen for SimpleShell surface IDs and apply geometry updates.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@emutavchi emutavchi force-pushed the feature/RDKOSS-808 branch from b49e3ac to 3065bca Compare March 23, 2026 17:21
@emutavchi
Copy link
Copy Markdown
Contributor Author

Here is a sample output showing the geometry change with simple shell

0:00:00.112369156  6923   0xee46a8 DEBUG               glwindow gstglwindow_wayland_egl.c:210:simpleshell_surface_id:<glwindowwaylandegl0> init simpleshell surface 19 geomerty 640,480+320x240
root@apache-4k:~r# gst-launch-1.0 souphttpsrc location=https://test-videos.co.uk/vids/bigbuckbunny/webm/vp8/720/Big_Buck_Bunny_720_10s_1MB.webm ! decodebin ! glimagesink render-rectangle='<640,480,320,240>'
Setting pipeline to PAUSED ...
0:00:00.094117522  6923   0xf36380 INFO                glwindow gstglwindow.c:278:gst_gl_window_new: creating a window, user choice:(null)
0:00:00.094208770  6923   0xf36380 DEBUG               glwindow gstglwindow_wayland_egl.c:533:gst_gl_window_wayland_egl_new: creating Wayland EGL window
0:00:00.095317412  6923   0xee46a8 TRACE               glwindow gstglwindow_wayland_egl.c:595:registry_handle_global:<glwindowwaylandegl0> registry_handle_global with registry 0xf3100640, name 1, interface wl_shm, version 1
0:00:00.095621322  6923   0xee46a8 TRACE               glwindow gstglwindow_wayland_egl.c:595:registry_handle_global:<glwindowwaylandegl0> registry_handle_global with registry 0xf3100640, name 2, interface wl_compositor, version 3
0:00:00.095793026  6923   0xee46a8 TRACE               glwindow gstglwindow_wayland_egl.c:595:registry_handle_global:<glwindowwaylandegl0> registry_handle_global with registry 0xf3100640, name 3, interface wl_shell, version 1
0:00:00.095930606  6923   0xee46a8 TRACE               glwindow gstglwindow_wayland_egl.c:595:registry_handle_global:<glwindowwaylandegl0> registry_handle_global with registry 0xf3100640, name 4, interface xdg_shell, version 1
0:00:00.096060562  6923   0xee46a8 TRACE               glwindow gstglwindow_wayland_egl.c:595:registry_handle_global:<glwindowwaylandegl0> registry_handle_global with registry 0xf3100640, name 5, interface wl_vpc, version 1
0:00:00.096194225  6923   0xee46a8 TRACE               glwindow gstglwindow_wayland_egl.c:595:registry_handle_global:<glwindowwaylandegl0> registry_handle_global with registry 0xf3100640, name 6, interface wl_output, version 2
0:00:00.096323014  6923   0xee46a8 TRACE               glwindow gstglwindow_wayland_egl.c:595:registry_handle_global:<glwindowwaylandegl0> registry_handle_global with registry 0xf3100640, name 7, interface wl_seat, version 4
0:00:00.096458386  6923   0xee46a8 TRACE               glwindow gstglwindow_wayland_egl.c:595:registry_handle_global:<glwindowwaylandegl0> registry_handle_global with registry 0xf3100640, name 8, interface zwp_linux_explicit_synchronization_v1, version 2
0:00:00.096618299  6923   0xee46a8 TRACE               glwindow gstglwindow_wayland_egl.c:595:registry_handle_global:<glwindowwaylandegl0> registry_handle_global with registry 0xf3100640, name 9, interface wl_sb, version 3
0:00:00.096762088  6923   0xee46a8 TRACE               glwindow gstglwindow_wayland_egl.c:595:registry_handle_global:<glwindowwaylandegl0> registry_handle_global with registry 0xf3100640, name 10, interface zwp_linux_dmabuf_v1, version 3
0:00:00.096914876  6923   0xee46a8 TRACE               glwindow gstglwindow_wayland_egl.c:595:registry_handle_global:<glwindowwaylandegl0> registry_handle_global with registry 0xf3100640, name 11, interface wl_simple_shell, version 1
0:00:00.097055206  6923   0xee46a8 TRACE               glwindow gstglwindow_wayland_egl.c:595:registry_handle_global:<glwindowwaylandegl0> registry_handle_global with registry 0xf3100640, name 12, interface skyq_shell, version 4
0:00:00.097119580  6923   0xee46a8 TRACE               glwindow gstglwindow_wayland_egl.c:595:registry_handle_global:<glwindowwaylandegl0> registry_handle_global with registry 0xf3100640, name 13, interface skyq_input, version 1
0:00:00.097175412  6923   0xee46a8 TRACE               glwindow gstglwindow_wayland_egl.c:595:registry_handle_global:<glwindowwaylandegl0> registry_handle_global with registry 0xf3100640, name 14, interface skyq_as_player, version 3
0:00:00.097445823  6923   0xee46a8 TRACE               glwindow gstglwindow_wayland_egl.c:595:registry_handle_global:<glwindowwaylandegl0> registry_handle_global with registry 0xf3100640, name 15, interface mali_buffer_sharing, version 5
0:00:00.106035797  6923   0xee46a8 WARN               glcontext gstglcontext_egl.c:324:gst_gl_context_egl_dump_config:<glcontextegl0> unknown EGL_COLOR_BUFFER_TYPE value 3300
0:00:00.106108671  6923   0xee46a8 WARN               glcontext gstglcontext_egl.c:324:gst_gl_context_egl_dump_config:<glcontextegl0> unknown EGL_COLOR_BUFFER_TYPE value 3300
0:00:00.106145545  6923   0xee46a8 WARN               glcontext gstglcontext_egl.c:324:gst_gl_context_egl_dump_config:<glcontextegl0> unknown EGL_COLOR_BUFFER_TYPE value 3300
0:00:00.106180711  6923   0xee46a8 WARN               glcontext gstglcontext_egl.c:324:gst_gl_context_egl_dump_config:<glcontextegl0> unknown EGL_COLOR_BUFFER_TYPE value 3300
0:00:00.106214127  6923   0xee46a8 WARN               glcontext gstglcontext_egl.c:324:gst_gl_context_egl_dump_config:<glcontextegl0> unknown EGL_COLOR_BUFFER_TYPE value 3300
0:00:00.106248293  6923   0xee46a8 WARN               glcontext gstglcontext_egl.c:324:gst_gl_context_egl_dump_config:<glcontextegl0> unknown EGL_COLOR_BUFFER_TYPE value 3300
0:00:00.106281375  6923   0xee46a8 WARN               glcontext gstglcontext_egl.c:324:gst_gl_context_egl_dump_config:<glcontextegl0> unknown EGL_COLOR_BUFFER_TYPE value 3300
0:00:00.106314499  6923   0xee46a8 WARN               glcontext gstglcontext_egl.c:324:gst_gl_context_egl_dump_config:<glcontextegl0> unknown EGL_COLOR_BUFFER_TYPE value 3300
0:00:00.106347290  6923   0xee46a8 WARN               glcontext gstglcontext_egl.c:324:gst_gl_context_egl_dump_config:<glcontextegl0> unknown EGL_COLOR_BUFFER_TYPE value 3300
0:00:00.106380290  6923   0xee46a8 WARN               glcontext gstglcontext_egl.c:324:gst_gl_context_egl_dump_config:<glcontextegl0> unknown EGL_COLOR_BUFFER_TYPE value 3300
0:00:00.106413247  6923   0xee46a8 WARN               glcontext gstglcontext_egl.c:324:gst_gl_context_egl_dump_config:<glcontextegl0> unknown EGL_COLOR_BUFFER_TYPE value 3300
0:00:00.106446288  6923   0xee46a8 WARN               glcontext gstglcontext_egl.c:324:gst_gl_context_egl_dump_config:<glcontextegl0> unknown EGL_COLOR_BUFFER_TYPE value 3300
0:00:00.108484701  6923   0xee46a8 DEBUG               glwindow gstglwindow_wayland_egl.c:408:create_wl_shell_surface: Creating surfaces for wl-shell
0:00:00.111246848  6923   0xee46a8 TRACE               glwindow gstglwindow_wayland_egl.c:183:seat_name:<glwindowwaylandegl0> seat 0xf3103b78 has name primary-seat
0:00:00.111369261  6923   0xee46a8 LOG                 glwindow gstglwindow_wayland_egl.c:825:_set_render_rectangle:<glwindowwaylandegl0> setting render rectangle 640,480+320x240
0:00:00.111400636  6923   0xee46a8 DEBUG               glwindow gstglwindow_wayland_egl.c:754:window_resize: resizing window from 320x240 to 320x240
0:00:00.112301782  6923   0xee46a8 DEBUG               glwindow gstglwindow_wayland_egl.c:207:simpleshell_surface_id:<glwindowwaylandegl0> simpleshell surfaceId: 19 has name gstglwindow-13
0:00:00.112369156  6923   0xee46a8 DEBUG               glwindow gstglwindow_wayland_egl.c:210:simpleshell_surface_id:<glwindowwaylandegl0> init simpleshell surface 19 geomerty 640,480+320x240
Pipeline is PREROLLING ...
Got context from element 'sink': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayWayland\)\ gldisplaywayland0";
0:00:00.115138094  6923   0xf36380 WARN               structure gststructure.c:2069:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc0': gst.soup.session=context, session=(GstSoupSession)NULL;
0:00:00.115488628  6923   0xee46a8 DEBUG               glwindow gstglwindow_wayland_egl.c:228:simpleshell_surface_created:<glwindowwaylandegl0> simpleshell created surfaceId: 19 has name gstglwindow-13
Redistribute latency...
Redistribute latency...
Pipeline is PREROLLED ...0 %)
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:10.236311941  6923   0xee4718 WARN      matroskareadcommon matroska-read-common.c:711:gst_matroska_read_common_parse_skip:<matroskademux0:sink> Unknown CueTrackPositions subelement 0xf0 - ignoring
0:00:10.236422105  6923   0xee4718 WARN      matroskareadcommon matroska-read-common.c:711:gst_matroska_read_common_parse_skip:<matroskademux0:sink> Unknown CueTrackPositions subelement 0xf0 - ignoring
0:00:10.236477729  6923   0xee4718 WARN      matroskareadcommon matroska-read-common.c:711:gst_matroska_read_common_parse_skip:<matroskademux0:sink> Unknown CueTrackPositions subelement 0xf0 - ignoring
Got EOS from element "pipeline0".
Execution ended after 0:00:10.001242513
Setting pipeline to NULL ...
0:00:10.581731458  6923   0xf36380 INFO                glwindow gstglwindow.c:593:gst_gl_window_quit: quit sent to gl window loop
Freeing pipeline ...

Copilot AI review requested due to automatic review settings March 23, 2026 17:27
@emutavchi emutavchi force-pushed the feature/RDKOSS-808 branch from 3065bca to 02e5a97 Compare March 23, 2026 17:27
@emutavchi emutavchi changed the title RDKOSS-808: glimagesink should support Westeros simple_shell protocl RDKOSS-808: glimagesink should support Westeros simple_shell protocol Mar 23, 2026
And use it to change video window geometry

Change-Id: Ia652ced8d014ba7b245dfb172a6b9d002dbbd649
@emutavchi emutavchi force-pushed the feature/RDKOSS-808 branch from 02e5a97 to cdca459 Compare March 23, 2026 17:27
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants