Waylandsink: disabling keyboard focus
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
> 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