Wayland gtk windowing (glimagesink)

Nicolas Dufresne nicolas at ndufresne.ca
Tue Apr 30 14:25:00 UTC 2024


Le lundi 29 avril 2024 à 10:12 +0800, Max Weng via gstreamer-devel a écrit :
> try use waylandsink? 
> 
> this work for me "rtspsrc name=rtspsrc location={url} protocols=tcp latency=10
> max-rtcp-rtp-time-diff=10 ! errorignore ! rtph265depay name=depay ! h265parse
> ! avdec_h265 name=avdec ! videoconvert ! video/x-raw, format=RGBA !
> waylandsink name=sink"

gtkwaylandsink will give you a widget to place into your GTK3 app.

Nicolas

> 
> On Mon, 29 Apr 2024 at 06:18, Gregoire Gentil via gstreamer-devel
> <gstreamer-devel at lists.freedesktop.org> wrote:
> > Hello,
> > 
> > I had an application with a gtk+-3.0 window and a pipeline "... ! 
> > imagesink". The video is rendered inside the gtk window.
> > 
> > I was doing:
> > static void realize_cb(GtkWidget *widget, CustomData *data) {
> > GdkWindow *window = gtk_widget_get_window(widget);
> > data->window_handle = GDK_WINDOW_XID(window);
> > 
> > and then:
> > 
> > static GstBusSyncReply bus_sync_handler(GstBus * bus, GstMessage * 
> > message, CustomData *data) {
> > gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(data->video_sink), 
> > data->window_handle);
> > 
> > Everything was working fine. I want now to support wayland system.
> > 
> > Pipeline becomes: "... ! glimagesink".
> > 
> > in the realize_cb function, I have now:
> > GdkWindow *window = gtk_widget_get_window(widget);
> > data->window_handle = (guintptr)gdk_wayland_window_get_wl_surface(window);
> > 
> > 
> > At run-time, I'm getting hundreds of:
> > "GStreamer-GL-CRITICAL **: 14:06:48.263: Failed to flush Wayland connection"
> > 
> > What am I doing wrong? Many thanks in advance for any hint,
> > 
> > Grégoire
> > 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20240430/4d1a63d2/attachment.htm>


More information about the gstreamer-devel mailing list