Waylandsink: disabling keyboard focus

Nicolas Dufresne nicolas at ndufresne.ca
Wed Mar 23 12:50:55 UTC 2022

Le mercredi 23 mars 2022 à 09:09 +0000, Terry Barnaby via gstreamer-devel a
écrit :
> I am creating a video processing application that will run on an NXP 
> IMX8MP embedded platform using GStreamer with Qt on a Wayland display. 
> This is using the NXP imx hardknott imx-5.10.52-2.1.0 release.
> I have this mostly working but I am having a few lockup problems 
> probably due to Waylandsink vs Qt and perhaps threads. As a workaround 
> for now I have been trying to configure a gstreamer pipeline to use its 
> own created Waylandsink Wayland surface and just position it over the 
> area of the application. However the Waylandsink takes over 
> keyboard/mouse focus from the program. Is there any way of preventing 
> this on the waylandsink ?
> As to my main problem when I set the Waylandsink's surface to be that of 
> an existing QWidgets surface in a gstBusCallback() function it all works 
> eventually (and the program has keyboard focus) but there is a large 
> delay before the video plays after a gst_element_set_state(ogstPipeline, 
> GST_STATE_PLAYING);. It appears the program hangs in 
> wl_display_read_events() awaiting a Mutex. Moving the mouse (or sending 
> mouse events via /dev/uinput) unlocks it. I attach some bits of my test 
> code that shows this. Any pointers as to what may be happening and how 
> to fix this ?

This issue is familiar, but I don't remember exactly. Perhaps try a newer
version of Weston and/or GStreamer ? You haven't shared which version you are
using, and which patches are applied on top.


More information about the gstreamer-devel mailing list