<div dir="ltr"><span style="color:rgb(13,13,13);font-family:Söhne,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,Cantarell,"Noto Sans",sans-serif,"Helvetica Neue",Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"">I understand your situation better now. :)
I've noticed that the video indeed appears in a separate window with other sinks as well.
It seems that in my experience, only </span><code style="border:0px solid rgb(227,227,227);box-sizing:border-box;font-feature-settings:normal;color:rgb(13,13,13);font-weight:600;font-family:"S\0000f6hne Mono",Monaco,"Andale Mono","Ubuntu Mono",monospace">waylandsink</code><span style="color:rgb(13,13,13);font-family:Söhne,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,Cantarell,"Noto Sans",sans-serif,"Helvetica Neue",Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji""> consistently integrates directly into the GTK window without issues.</span></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 29 Apr 2024 at 10:51, Gregoire Gentil <<a href="mailto:gregoire@gentil.com">gregoire@gentil.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I could have been more precise: the glimageslink pipeline does work and <br>
the video appears in a separated window if I don't link it to the window <br>
with the code mentioned below. What I want to do is to insert the video <br>
inside the gtk window.<br>
<br>
Also glimagesink has the unique advantage to work on both wayland and <br>
non-wayland systems,<br>
<br>
Grégoire<br>
<br>
<br>
<br>
<br>
On 4/28/24 19:12, Max Weng wrote:<br>
> try use waylandsink?<br>
> <br>
> this work for me "rtspsrc name=rtspsrc location={url} protocols=tcp <br>
> latency=10 max-rtcp-rtp-time-diff=10 ! errorignore ! rtph265depay <br>
> name=depay ! h265parse ! avdec_h265 name=avdec ! videoconvert ! <br>
> video/x-raw, format=RGBA ! waylandsink name=sink"<br>
> <br>
> On Mon, 29 Apr 2024 at 06:18, Gregoire Gentil via gstreamer-devel <br>
> <<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a> <br>
> <mailto:<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>>> wrote:<br>
> <br>
> Hello,<br>
> <br>
> I had an application with a gtk+-3.0 window and a pipeline "... !<br>
> imagesink". The video is rendered inside the gtk window.<br>
> <br>
> I was doing:<br>
> static void realize_cb(GtkWidget *widget, CustomData *data) {<br>
> GdkWindow *window = gtk_widget_get_window(widget);<br>
> data->window_handle = GDK_WINDOW_XID(window);<br>
> <br>
> and then:<br>
> <br>
> static GstBusSyncReply bus_sync_handler(GstBus * bus, GstMessage *<br>
> message, CustomData *data) {<br>
> gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(data->video_sink),<br>
> data->window_handle);<br>
> <br>
> Everything was working fine. I want now to support wayland system.<br>
> <br>
> Pipeline becomes: "... ! glimagesink".<br>
> <br>
> in the realize_cb function, I have now:<br>
> GdkWindow *window = gtk_widget_get_window(widget);<br>
> data->window_handle =<br>
> (guintptr)gdk_wayland_window_get_wl_surface(window);<br>
> <br>
> <br>
> At run-time, I'm getting hundreds of:<br>
> "GStreamer-GL-CRITICAL **: 14:06:48.263: Failed to flush Wayland<br>
> connection"<br>
> <br>
> What am I doing wrong? Many thanks in advance for any hint,<br>
> <br>
> Grégoire<br>
> <br>
</blockquote></div>