[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gstreamer-devel
Subject:    Re: Wayland gtk windowing (glimagesink)
From:       Max Weng via gstreamer-devel <gstreamer-devel () lists ! freedesktop ! org>
Date:       2024-04-29 2:12:54
Message-ID: CACWdWrZU9HRYsS6qL3+FuimO0c-VOFT5vhCAKBzoC+eug_b3rA () mail ! gmail ! com
[Download RAW message or body]

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"

On Mon, 29 Apr 2024 at 06:18, Gregoire Gentil via gstreamer-devel <
gstreamer-devel@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
>
>

[Attachment #3 (text/html)]

<div dir="ltr">try use  waylandsink?  <br><br><div>this work for me &quot;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&quot;</div></div><br><div class="gmail_quote"><div dir="ltr" \
class="gmail_attr">On Mon, 29 Apr 2024 at 06:18, Gregoire Gentil via gstreamer-devel \
&lt;<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>&gt; \
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">Hello,<br> <br>
I had an application with a gtk+-3.0 window and a pipeline &quot;... ! <br>
imagesink&quot;. 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-&gt;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-&gt;video_sink), <br>
data-&gt;window_handle);<br>
<br>
Everything was working fine. I want now to support wayland system.<br>
<br>
Pipeline becomes: &quot;... ! glimagesink&quot;.<br>
<br>
in the realize_cb function, I have now:<br>
GdkWindow *window = gtk_widget_get_window(widget);<br>
data-&gt;window_handle = (guintptr)gdk_wayland_window_get_wl_surface(window);<br>
<br>
<br>
At run-time, I&#39;m getting hundreds of:<br>
&quot;GStreamer-GL-CRITICAL **: 14:06:48.263: Failed to flush Wayland \
connection&quot;<br> <br>
What am I doing wrong? Many thanks in advance for any hint,<br>
<br>
Grégoire<br>
<br>
</blockquote></div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic