Re: GStreamer and Linux, screen recording works well on Xorg but not on Wayland.

Nicolas Dufresne via gstreamer-devel <[email protected]>
Newsgroups gmane.comp.video.gstreamer.devel
Message-ID <CAKQmDh9bpJJdUjGe6oE13L2PuBPdTNk+YupogbhhkJJCoiSoMQ@mail.gmail.com>
Le ven. 14 juill. 2023, 07 h 15, Davide Perini via gstreamer-devel <
[email protected]> a écrit :

> Thanks for the answer, I really appreciate it.
>
> Is it possible to run a command to check if everything works?
> I mean can I test it with a command like this before developing my
> integration in my software?
>
> Isn't this command the right one to use?
>
> gst-launch-1.0 pipewiresrc ! fd=%d path=%u ! videoconvert ! xvimagesink
>
> If yes, how can retrieve the right fd and path variable to use using CLI?
>
> I want to test it via CLI before developing a software for it if possible.
>

The attached program is in python and should just work.

python3 snippet.py

The path is return through a dbus IPC call.

Nicolas


> Thanks!!!
> Davide
>
>
>
> Il 13/07/2023 15:58, Nicolas Dufresne via gstreamer-devel ha scritto:
>
> Hi Davide,
>
> Le mardi 11 juillet 2023 à 23:45 +0200, Davide Perini via gstreamer-devel
> a écrit :
>
> Hi all,
> I'm trying to use GStreamer on Wayland and it seems to have some
> problems...
>
> This pipeline:
> gst-launch-1.0 ximagesrc startx=1 endx=3839 starty=0 endy=2159 !
> video/x-raw,framerate=30/1 ! videoscale method=0 ! ximagesink
>
> works well on Xorg, but not on Wayland.
>
>
> ximagesrc will have very little use anyway on Wayland, as wayland have
> built-in privacy security. Please consider using the appropriate portal and
> pipewire streams for this purpose. The following link is an example on how
> to do this in your own application.
>
> https://gitlab.gnome.org/-/snippets/19
>
> Nicolas
>
>
> On wayland I have this error:
> Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL
> ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock:
> GstSystemClock Redistribute latency... WARNING: from element
> /GstPipeline:pipeline0/GstXImageSink:ximagesink0: Pipeline construction is
> invalid, please add queues. Additional debug info:
> ../gstreamer/subprojects/gstreamer/libs/gst/base/gstbasesink.c(1249):
> gst_base_sink_query_latency ():
> /GstPipeline:pipeline0/GstXImageSink:ximagesink0: Not enough buffering
> available for the processing deadline of 0:00:00.015000000, add enough
> queues to buffer 0:00:00.015000000 additional data. Shortening processing
> latency to 0:00:00.000000000. WARNING: from element
> /GstPipeline:pipeline0/GstXImageSink:ximagesink0: Pipeline construction is
> invalid, please add queues. Additional debug info:
> ../gstreamer/subprojects/gstreamer/libs/gst/base/gstbasesink.c(1249):
> gst_base_sink_query_latency ():
> /GstPipeline:pipeline0/GstXImageSink:ximagesink0: Not enough buffering
> available for the processing deadline of 0:00:00.015000000, add enough
> queues to buffer 0:00:00.015000000 additional data. Shortening processing
> latency to 0:00:00.000000000. X Error of failed request: BadMatch (invalid
> parameter attributes) Major opcode of failed request: 73 (X_GetImage)
> Serial number of failed request: 52 Current serial number in output stream:
> 52 Is there any fix for this since Xorg is going to be deprecated
> everywhere? :) Thanks Davide
>
>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.