Skip to content

waylandsink: Emit "map" signal boarder surface is ready

Colin Kinloch requested to merge ColinKinloch/gstreamer:wlsink_map_signal into main

Under certain circumstances the wayland subsurfaces of gtkwaylandsink will not get mapped until an event is processed.

This is mainly happening on an embedded board but I have been able to reproduce this by running a nested weston session and severely restricting gstreamers processing speed:

WAYLAND_DISPLAY=wayland-1 cpulimit -i --limit=3 gst-play-1.0 test.mkv --videosink=gtkwaylandsink

Currently gtkwaylandsink queues a redraw of its gtk widget during get_caps.

This branch adds a "map" signal that gets emitted after the waylandsink black boarder surface has been committed with an attached buffer. This signal triggers a redraw of the gtk managed parent surface.

Merge request reports