[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 "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"</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 \
<<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</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">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 = (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 \
connection"<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