GithubHelp home page GithubHelp logo

benzea / gnome-network-displays Goto Github PK

View Code? Open in Web Editor NEW
368.0 28.0 39.0 772 KB

Miracast implementation for GNOME

License: GNU General Public License v3.0

Python 0.25% Meson 1.46% Shell 0.12% C 98.18%

gnome-network-displays's Introduction

WARNING

All issues have also been moved there.


This is an experimental implementation of Wi-Fi Display (aka Miracast).

The application will stream the selected monitor if the mutter screencast portal is available. If it is unavailable, a fallback to X11 based frame grabbing will happen. As such, it should work fine in almost all setups.

To get audio streaming, you need to change the audio output in pulseaudio to use the created "Network-Displays" sink.

To use it, you will need:

  • openh264 or x264
  • For audio supporting using AAC one of fdkaacenc, faac or avenc_aac
  • NetworkManager version > 1.15.2

Build

To build it locally:

  • clone the repository
  • install meson
  • run meson build on the cloned repository
  • run meson install on the build folder created by meson

Devices

The following devices have been tested:

  • Measy "Miracast Receiver" Model A2W
    • Announces itself as EZMirror/EZCast
    • Only supports uncompressed audio (LPCM) which is not supported yet
  • LG WebOS TV
  • MontoView (Software Revision 2.18.02)
  • MiraScreen

Testing

For testing purposes you can run with NETWORK_DISPLAYS_DUMMY=1 set. In that case, a dummy sink will be provided that allows connecting on localhost using any RTSP capable client to test WFD streaming.

You can connect to rtsp://localhost:7236/wfd1.0 then.

Debugging

Codecs

Appropriate video/audio encoders will be selected automatically. You should also get a notification if codecs are missing and an offer to automatically install these. To debug the codecs themselves, you can modify the default choice by setting the NETWORK_DISPLAYS_H264_ENC and NETWORK_DISPLAYS_AAC_ENC environment variables and specifying the gstreamer element to use (if supported and detected). Run with G_MESSAGES_DEBUG=all to see the selection at work during connection establishment.

Connection issues

P2P WiFi/WiFi Direct and the mechanism to establish a connection is a relatively complicated process that can fail in a number of different ways and stages.

As a first step, you should run with G_MESSAGES_DEBUG=all to get a better idea when the failure happens. Your TV/Display may also give an indication about the progress. Much of the information is also displayed in the UI, but might only be visible for a very short period of time.

Discovery

The first required step is successful discovery of the remote device. This step can already be problematic sometimes. Confirm the following, each ensuring that support exists:

  • Run gnome-network-displays with G_MESSAGES_DEBUG=all. This will print a lot more information. Theoretically it may be that we see the device, but think that it is not WiFi Display capable (e.g. because the wpa_supplicant support is missing, see further below). Look out for the following messages:

    • WFDP2PRegistry: Got NMClient: The connection to NetworkManager works.
    • WFDP2PRegistry: Found a new device, creating provider: This means that we have a seemingly usable P2P device installed.
    • WFDP2PProvider: Ignoring peer "XX:XX:XX:XX:XX" (Y) as it has no WFDIEs set: This means there is a P2P device, but it does not seem to support WiFi Display. It may also mean that wpa_supplicant is not complied with the required support, see below.
    • WFDP2PProvider: Found a new sink with peer X on device Y: The device has been found, everything should be good.
  • nmcli device shows your WiFi device and a corresponding p2p-dev-X device. If you do not see your WiFi device, then NetworkManager is probably not managing it for some reason. Both the main WiFi device and the P2P device need to be managed by NetworkManager.

  • iw dev should show an Unnamed/non-netdev interface device with type P2P-device.

    If this is not the case, then the device is likely unsupported. One example of this are legacy wext drivers, which may support P2P operation, but are not (and will not be) supported by this software.

  • NetworkManager only support P2P operation together with wpa_supplicant. The use of iwd is currently not supported and you may have enabled it in NetworkManager.

  • If NetworkManager does not even show a device, then, as root, run

    gdbus call --system --dest fi.w1.wpa_supplicant1 --object-path /fi/w1/wpa_supplicant1 --method org.freedesktop.DBus.Properties.Get fi.w1.wpa_supplicant1 Capabilities
    

    This should output something like (<['ap', 'ibss-rsn', 'p2p', 'pmf', 'mesh', 'ft', 'sha384']>,). Make sure that p2p is listed here. If it is not, then wpa_supplicant was compiled without P2P WiFi support (CONFIG_P2P).

  • If a device is shown, but it does not work, then, as root, run

    gdbus call --system --dest fi.w1.wpa_supplicant1 --object-path /fi/w1/wpa_supplicant1 --method org.freedesktop.DBus.Properties.Get fi.w1.wpa_supplicant1 WFDIEs
    

    If this runs successfully, it'll return (<@ay []>,). This answer will be longer when we try to connect to a device, but only at that point. If it shows an error, then your wpa_supplicant was compiled without WiFi Display support (CONFIG_WIFI_DISPLAY).

If everything looks good, but you still can't find the TV, then please try the following:

  • Search for it using another device at the same time.
  • Try running
    gdbus call --system --dest fi.w1.wpa_supplicant1 --object-path /fi/w1/wpa_supplicant1 --method org.freedesktop.DBus.Properties.Set fi.w1.wpa_supplicant1 WFDIEs "<@ay [0x00, 0x00, 0x06, 0x00, 0x90, 0x1c, 0x44, 0x00, 0xc8]>"
    
    Doing this will set the WFD Information Elements earlier in the process. It should not make a difference. But if it does, then some bigger changes will be needed.
  • If you can, try to get a capture of another device discovering it.
    iw phy phyX interface add mon0 type monitor
    ip link set mon0 up
    
    Then connect to it using wireshark. You may need to disable your normal WiFi connection and change the channel using iw dev. Explaining the details is out of scope for this document.

Establishing a P2P Group

When you click on the TV, the first step is to establish a WiFi P2P connection. Check whether you see the message:

Got state change notification from streaming sink to state ND_SINK_STATE_WAIT_P2P
[...]
Got state change notification from streaming sink to state ND_SINK_STATE_WAIT_SOCKET

If you see both of these messages, then we have successfully created a P2P Group.

Network configuration and socket connection

What happens next is that both side will configure their network. Then the TV will establish a connection to gnome-network-displays.

Things could go wrong here:

  • Usually, NetworkManager will set up the network to be shared using dnsmasq
  • A local firewall might block DHCP requests/responses or prevent the later connection

At this point the IP link is there. You can do the following:

  • Look into the NetworkManager log whether you see something obviously wrong (unlikely, as otherwise it should disconnect immediately).

  • The low level link is established (i.e. a P2P network device has been created). This means, to debug further, we can montior this network device and see what is happening. We should see a DHCP handshake to configure the network, and then an attempt to establish an RTSP connection.

    The easiest way to do this is to have wireshark running. Then, right after clicking on the TV, the P2P device will show up in the list. Quickly start a capture on it.

    Alternatively, use a script like the following (as root):

    interface=""; while [ -z "$interface" ]; do interface=$( ls /sys/class/net/ | grep -- p2p- ); sleep 0.1; done; echo $interface; tcpdump -i "$interface" -w /tmp/p2p-connection-dump.pcap
    

    And then open the created dump file /tmp/p2p-connection-dump.pcap in Wireshark.

RTSP stream issues

Not all devices are compliant, and the standard is a bit odd. If you have problems where the stream seems to start, but then does not work or stop after a while.

Try the following:

  • Run with G_MESSAGES_DEBUG=all and check if you see something that is wrong. Note that certain warnings are expected.
  • Try grabbing a tcpdump/wireshark capture (see above) and check whether you see something weird in the RTSP stream.
  • It could also be an issue with the GStreamer pipeline not starting properly. This can possibly be debugged using e.g. GST_DEBUG=*:5, but is generally harder to pin point. Try it a few times, and check if the problem persists.

gnome-network-displays's People

Contributors

albanobattistella avatar albfan avatar benzea avatar felipeborges avatar gforcada avatar kelebek333 avatar lctrs avatar leberknecht avatar lightonflux avatar miurahr avatar quadtriangle avatar rffontenelle avatar svenfoo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gnome-network-displays's Issues

Microsoft Wireless Adapter v2 not working

Hi, I'm trying to connect to my Microsoft Wireless Adapter v2 (Miracast and WiDi compatible, firmware 2.0.8381) with gnome-network-displays, didn't succeed so far

firewall is off when experimenting

I got the ND_SINK_STATE_ERROR

It would be really great to make it work since this dongle is widely used, I'd gladly help for further debugging

Working like a charm on Windows 10

Using actually up to date manjaro liniux

Here is the debug session :

G_MESSAGES_DEBUG=all gnome-network-displays
(gnome-network-displays:17343): GLib-GIO-DEBUG: 18:04:20.078: _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
(gnome-network-displays:17343): Gtk-DEBUG: 18:04:20.186: Connecting to session manager
(gnome-network-displays:17343): Gtk-DEBUG: 18:04:20.187: Failed to get the GNOME session proxy: The name org.gnome.SessionManager is not owned
** (gnome-network-displays:17343): DEBUG: 18:04:20.273: WFDP2PRegistry: Found a new device, creating provider
** (gnome-network-displays:17343): DEBUG: 18:04:20.273: WFDP2PProvider: Found a new sink with peer 0x557d7ba29aa0 on device 0x557d7b321f80
** (gnome-network-displays:17343): DEBUG: 18:04:20.273: WFDP2PProvider: Found a new sink with peer 0x557d7b4d95c0 on device 0x557d7b321f80
** (gnome-network-displays:17343): DEBUG: 18:04:20.273: WfdP2PProvider: Discover is now set to 1
** (gnome-network-displays:17343): DEBUG: 18:04:20.273: SinkList: Adding a sink
** (gnome-network-displays:17343): DEBUG: 18:04:20.274: SinkList: Adding a sink
** (gnome-network-displays:17343): DEBUG: 18:04:20.281: NdScreencastPortal: Aquired Portal proxy
** (gnome-network-displays:17343): DEBUG: 18:04:20.283: task is: 0x557d7b9f2400
** (gnome-network-displays:17343): DEBUG: 18:04:20.297: NdScreencastPortal: Received CreateSession response

** (gnome-network-displays:17343): WARNING **: 18:04:20.297: Error initing screencast portal: Failed to create portal session (response: 2)

** (gnome-network-displays:17343): WARNING **: 18:04:20.297: Falling back to X11! You need to fix your setup to avoid issues (XDG Portals and/or mutter screencasting support)!
** (gnome-network-displays:17343): DEBUG: 18:04:20.297: WFDP2PRegistry: Got NMClient
** (gnome-network-displays:17343): DEBUG: 18:04:20.301: NdPulseaudio: Querying sink info by name
** (gnome-network-displays:17343): DEBUG: 18:04:20.301: NdPulseaudio: Error querying sink info
** (gnome-network-displays:17343): DEBUG: 18:04:20.301: NdPulseaudio: Got a sink info for the expected name
** (gnome-network-displays:17343): DEBUG: 18:04:22.394: Found openh264enc for video encoding.
** (gnome-network-displays:17343): DEBUG: 18:04:22.394: Found x264enc for video encoding.
** (gnome-network-displays:17343): DEBUG: 18:04:22.394: Found fdkaacenc for audio encoding.
** (gnome-network-displays:17343): DEBUG: 18:04:22.395: Found avenc_aac for audio encoding.
** (gnome-network-displays:17343): DEBUG: 18:04:22.395: Found faac for audio encoding.
** (gnome-network-displays:17343): DEBUG: 18:04:22.395: Got state change notification from streaming sink to state ND_SINK_STATE_WAIT_P2P
** (gnome-network-displays:17343): DEBUG: 18:04:22.397: WfdP2PProvider: Discover is now set to 0
** (gnome-network-displays:17343): DEBUG: 18:04:22.493: NdWfdP2PSink: Got P2P connection
** (gnome-network-displays:17343): DEBUG: 18:04:22.495: Found openh264enc for video encoding.
** (gnome-network-displays:17343): DEBUG: 18:04:22.495: Found x264enc for video encoding.
** (gnome-network-displays:17343): DEBUG: 18:04:22.495: Found fdkaacenc for audio encoding.
** (gnome-network-displays:17343): DEBUG: 18:04:22.495: Found avenc_aac for audio encoding.
** (gnome-network-displays:17343): DEBUG: 18:04:22.495: Found faac for audio encoding.
** (gnome-network-displays:17343): DEBUG: 18:04:22.496: Got state change notification from streaming sink to state ND_SINK_STATE_WAIT_SOCKET
** (gnome-network-displays:17343): DEBUG: 18:04:30.981: WFDP2PProvider: Peer removed
** (gnome-network-displays:17343): DEBUG: 18:04:30.981: MetaSink: No usable sink is left, object has become invalid.
** (gnome-network-displays:17343): DEBUG: 18:04:30.982: SinkList: Removing a sink
** (gnome-network-displays:17343): DEBUG: 18:05:07.492: WfdServer: Finalize
** (gnome-network-displays:17343): DEBUG: 18:05:07.492: Got state change notification from streaming sink to state ND_SINK_STATE_ERROR
** (gnome-network-displays:17343): DEBUG: 18:05:10.983: WFDP2PProvider: Peer removed
** (gnome-network-displays:17343): DEBUG: 18:05:10.983: MetaSink: No usable sink is left, object has become invalid.
** (gnome-network-displays:17343): DEBUG: 18:05:10.984: SinkList: Removing a sink
** (gnome-network-displays:17343): DEBUG: 18:05:12.688: Got state change notification from streaming sink to state ND_SINK_STATE_DISCONNECTED
** (gnome-network-displays:17343): DEBUG: 18:05:12.688: WfdP2PProvider: Discover is now set to 1

How to check mutter screencast portal is avaliable?

The application will stream the selected monitor if the mutter screencast
portal is available. If it is unavailable, a fallback to X11 based frame
grabbing will happen. As such, it should work fine in almost all setups.

gnome-screencast

I checked https://jgrulich.cz/2018/07/04/how-to-enable-and-use-screen-sharing-on-wayland/ and https://wiki.gnome.org/Projects/Mutter/RemoteDesktop and not sure how to check if any of that options (screencast portal, xdg-desktop -portal) is avaliable

Any command to check if I have everything setup correctly? I'm on arch linux and wayland

$ echo $XDG_SESSION_TYPE 
wayland

installation mint 19.2 (ubuntu 18.04)

hi

sorry, i'm a bit of a noob. i can't see anywhere in the readme how to install it on linux mint 19.2 (ubuntu 18.04). can anyone please guide me through the installation for ubuntu?

thanks in advance

feature request: dev package

I understand the project is still mainly in development but any chance we could get a nightly dev .deb or something along those lines? Could help get more to test if nothing else.

Fails with Smart TV LG WEBOS

Hi !
It's not possible for me to connect my Ubuntu Laptop with WebOS (TV LG).
It's function on Windows but not on Ubuntu.
Capture d’écran de 2019-05-13 11-17-45

Error in Ubuntu 19.04

Today they updated network-manager to 1.16 in the daily build of Ubuntu disco, so we finally can try this in Ubuntu, I did so, installed the dependencies run meson and ninja, everything fine, then I run gnome-screencast but I got an error 'Screencast portal is not available' between other warnings, I'll attach screenshot.
screenshot-ubuntu-disco

flatpak yml or json manifest support

First of all thank you for developing this tool.
I am on Ubuntu 16.04 platform and some dependencies to build gnome-screencast fails.
Flatpak provides latest SDK libraries to build and run it in my platform.
Would anybody help me prepare .json or .yml manifest to build it?

gnome-screencast howto?

I tried gnome-screencast under X11/MATE and I cannot see anything to cast to.
We have projectors here which Windows can cast too but I don't see any of them in
gnome-screencast.

Am I missing something?
I use Gentoo with a custom kernel, is there something I need to add?

LG webOS failure to connect

Hi, sorry to dig this one up again but it looks like I am having a very similar error like #41 although stopping firewalld did not help.
I am also on fedora 30 with your COPR and on LG webOS.

  • The TV is found as a sink.
  • The TV says "[no name] connecting".
  • Then the TV says detecting Miracast signal.
  • Then the Connection fails.

NetworkManager.log
gnome-network-display.log
dmesg.log

Build error on Ubuntu/Mint Linux: src/nd-sink.h no such file or directory

When building on Ubuntu(bionic)/LinuxMint 19.1, it fails with following error:

[16/34] cc  -Isrc/gnome-network-displays@exe -Isrc -I../src -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/libnm -I/usr/include/gstreamer-1.0 -I/usr/include/orc-0.4 -I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -D_REENTRANT -MD -MQ 'src/gnome-network-displays@exe/meson-generated_.._nd-enum-types.c.o' -MF 'src/gnome-network-displays@exe/meson-generated_.._nd-enum-types.c.o.d' -o 'src/gnome-network-displays@exe/meson-generated_.._nd-enum-types.c.o' -c src/nd-enum-types.c
FAILED: src/gnome-network-displays@exe/meson-generated_.._nd-enum-types.c.o 
cc  -Isrc/gnome-network-displays@exe -Isrc -I../src -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/libnm -I/usr/include/gstreamer-1.0 -I/usr/include/orc-0.4 -I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -D_REENTRANT -MD -MQ 'src/gnome-network-displays@exe/meson-generated_.._nd-enum-types.c.o' -MF 'src/gnome-network-displays@exe/meson-generated_.._nd-enum-types.c.o.d' -o 'src/gnome-network-displays@exe/meson-generated_.._nd-enum-types.c.o' -c src/nd-enum-types.c
src/nd-enum-types.c:5:10: fatal error: src/nd-sink.h: No such file or directory
 #include "src/nd-sink.h"
          ^~~~~~~~~~~~~~~
compilation terminated.

It is happened on Launchpad PPA build platform, where is
log: https://launchpad.net/~miurahr/+archive/ubuntu/wifi-p2p/+build/17332217

build configuration: https://launchpad.net/~miurahr/+archive/ubuntu/wifi-p2p/+packages

Does not give feedback when connection was cancelled by sink

When I try to connect gnome-screencast to my Sharp TV, after one or two seconds of "Connecting..." my TV returns to display a "Ready for connection" message, as if the connection was refused. However, GNOME Screencast continues to display the "Establishing connection" dialog as if the connection was not refused.

My hypothesis is that the connection was refused, as GNOME Screencast continues showing that message indefinitely. I am on Fedora 29 Wayland

Cannot connect to any sink (real or dummy)

When I run:

NETWORK_DISPLAYS_DUMMY=1 ./gnome-network-displays

I get a window with the dummy wfd sink, and after some time, it also finds my Samsung Smart TV:

Syslog:

May 22 14:16:24 laptop-hans wpa_supplicant[11831]: dbus: Register peer object '/fi/w1/wpa_supplicant1/Interfaces/3/Peers/fe039f67c582'
May 22 14:15:44 laptop-hans gjs[2269]: message repeated 5 times: [ g_object_unref: assertion 'G_IS_OBJECT (object)' failed]
May 22 14:16:24 laptop-hans wpa_supplicant[11831]: P2P-DEVICE-FOUND fe:03:9f:67:c5:82 p2p_dev_addr=fe:03:9f:67:c5:82 pri_dev_type=7-0050F204-1 name='[TV] Samsung 8 Series (65)' config_methods=0x188 dev_capab=0x25 group_capab=0x0 wfd_dev_info=0x01131c440036 vendor_elems=1 new=1
May 22 14:16:24 laptop-hans wpa_supplicant[11831]: dbus: Register peer object '/fi/w1/wpa_supplicant1/Interfaces/3/Peers/fe039f67c582'
May 22 14:16:40 laptop-hans wpa_supplicant[11831]: wlp4s0: P2P: Reject scan trigger since one is already pending
May 22 14:16:40 laptop-hans wpa_supplicant[11831]: wlp4s0: P2P: Reject scan trigger since one is already pending
May 22 14:16:41 laptop-hans wpa_supplicant[11831]: P2P-DEVICE-FOUND fe:03:9f:67:c5:82 p2p_dev_addr=fe:03:9f:67:c5:82 pri_dev_type=7-0050F204-1 name='[TV] Samsung 8 Series (65)' config_methods=0x188 dev_capab=0x25 group_capab=0x0 wfd_dev_info=0x01131c440036 vendor_elems=1 new=0
May 22 14:16:41 laptop-hans wpa_supplicant[11831]: P2P-DEVICE-FOUND fe:03:9f:67:c5:82 p2p_dev_addr=fe:03:9f:67:c5:82 pri_dev_type=7-0050F204-1 name='[TV] Samsung 8 Series (65)' config_methods=0x188 dev_capab=0x25 group_capab=0x0 wfd_dev_info=0x01131c440036 vendor_elems=1 new=0

When selecting the dummy sink, it keeps hanging on "Connecting", when I connect with VLC:

VLC media player 3.0.6 Vetinari (revision 3.0.6-0-g5803e85f73)
[000055f7a1d98570] main libvlc: Vlc draait met de standaardinterface. Gebruik 'cvlc' om vlc zonder interface te gebruiken.
Created new TCP socket 35 for connection
[00007f31700010f0] live555 demux error: Failed to connect with rtsp://localhost:7236/wfd1.0
[00007f3170004b50] main stream error: connection failed: Connection refused
[00007f3170004b50] satip stream error: Failed to connect to RTSP server localhost:7236
[00007f3170004b50] main stream error: connection failed: Connection refused
[00007f3170004b50] access_realrtsp stream error: cannot connect to localhost:7236
QObject::~QObject: Timers cannot be stopped from another thread
hans@laptop-hans:~$ cvlc rtsp://localhost:7236/wfd1.0
VLC media player 3.0.6 Vetinari (revision 3.0.6-0-g5803e85f73)
[000055f094035ca0] dummy interface: using the dummy interface module...
Created new TCP socket 11 for connection
[00007f51400010f0] live555 demux error: Failed to connect with rtsp://localhost:7236/wfd1.0
[00007f5140004ab0] main stream error: connection failed: Connection refused
[00007f5140004ab0] satip stream error: Failed to connect to RTSP server localhost:7236
[00007f5140004ab0] main stream error: connection failed: Connection refused
[00007f5140004ab0] access_realrtsp stream error: cannot connect to localhost:7236
[00007f5140004ab0] main stream error: Verbinding mislukt
[00007f5140004ab0] main stream error: VLC kon niet verbinden met "localhost:7236".
[00007f5154000c40] main input error: Uw invoer kan niet geopend worden
[00007f5154000c40] main input error: VLC kon de MRL 'rtsp://localhost:7236/wfd1.0' niet openen. Controleer het logboek voor details.

Syslog says:

May 22 14:19:05 laptop-hans kernel: [ 6494.419016] traps: pool-gnome-netw[13565] trap int3 ip:7f4a1e23a955 sp:7f4a0bffe000 error:0 in libglib-2.0.so.0.6000.0[7f4a1e201000+80000]
May 22 14:19:05 laptop-hans kernel: [ 6494.419016] traps: pool-gnome-netw[13565] trap int3 ip:7f4a1e23a955 sp:7f4a0bffe000 error:0 in libglib-2.0.so.0.6000.0[7f4a1e201000+80000]
May 22 14:19:05 laptop-hans gjs[2269]: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
May 22 14:19:05 laptop-hans gjs[2269]: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
May 22 14:19:05 laptop-hans gjs[2269]: message repeated 3 times: [ g_object_unref: assertion 'G_IS_OBJECT (object)' failed]
May 22 14:19:07 laptop-hans gjs[2269]: JS ERROR: TypeError: malformed UTF-8 character sequence at offset 0#012@/home/hans/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:744:2
May 22 14:19:05 laptop-hans gjs[2269]: message repeated 3 times: [ g_object_unref: assertion 'G_IS_OBJECT (object)' failed]
May 22 14:19:07 laptop-hans gjs[2269]: JS ERROR: TypeError: malformed UTF-8 character sequence at offset 0#012@/home/hans/.local/share/gnome-shell/extensions/[email protected]/service/daemon.js:744:2

...and immediately the window gets closed;

When I select my Samsung TV, it stays hanging on "connecting" too.
When I use Windows 8.1 I can perfectly mirror the laptop's screen to the Samsung TV (it gets installed as a "projector"), so it cannot be a hardware problem.

When I use this software I actually get a connect, the Samsung TV shows a window where it wants permission for the laptop to connect.

The gnome-screencast software seems to be falling back to its X11 mode, but I understand that is expected behaviour.

I am running on Ubuntu 19.04 ; recompiling wpa_supplicant with version 2.8 (which has default P2P enabled) didn't make any difference.

What am I doing wrong?

EDIT: I am a newby on meson, so I just built it by going into the directory where README.md resides, do meson builddir, cd builddir, ninja. Hope that was alright, couldn't find any pointers in the doc...

EDIT: Added multiple quotations so that it is not inline code but multi-line.

The patch does not apply

The patch does not apply.
Is the patch needed? Why you did not create a pull request to the gst-rtsp-server repository like you did with NetworkManager?

Segmentation Fault

I can't connect to my LG Smart TV because gnome-network-displays crashes with a segmentation fault error.
The output from ´G_MESSAGES_DEBUG=all gnome-network-displays --display=$DISPLAY´ is the one below. I'm running updated Arch and I have already installed openh264 but didn't solve it.

(gnome-network-displays:27703): GLib-GIO-DEBUG: 14:36:21.674: _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
(gnome-network-displays:27703): Gtk-DEBUG: 14:36:21.729: Connecting to session manager
(gnome-network-displays:27703): Gtk-DEBUG: 14:36:21.729: Failed to get the GNOME session proxy: The name org.gnome.SessionManager is not owned
(gnome-network-displays:27703): Gtk-DEBUG: 14:36:21.730: Failed to get the Xfce session proxy: The name org.xfce.SessionManager is not owned
** (gnome-network-displays:27703): DEBUG: 14:36:21.803: WFDP2PRegistry: Found a new device, creating provider
** (gnome-network-displays:27703): DEBUG: 14:36:21.803: WFDP2PProvider: Found a new sink with peer 0x55f0be5ec4e0 on device 0x55f0be9bdde0
** (gnome-network-displays:27703): DEBUG: 14:36:21.803: WfdP2PProvider: Discover is now set to 1
** (gnome-network-displays:27703): DEBUG: 14:36:21.803: SinkList: Adding a sink
** (gnome-network-displays:27703): DEBUG: 14:36:21.806: NdScreencastPortal: Aquired Portal proxy
** (gnome-network-displays:27703): DEBUG: 14:36:21.806: task is: 0x55f0be8cbbf0
** (gnome-network-displays:27703): DEBUG: 14:36:21.810: NdScreencastPortal: Received CreateSession response

** (gnome-network-displays:27703): WARNING **: 14:36:21.810: Error initing screencast portal: Failed to create portal session (response: 2)

** (gnome-network-displays:27703): WARNING **: 14:36:21.810: Falling back to X11! You need to fix your setup to avoid issues (XDG Portals and/or mutter screencasting support)!
** (gnome-network-displays:27703): DEBUG: 14:36:21.810: WFDP2PRegistry: Got NMClient
(gnome-network-displays:27703): GdkPixbuf-DEBUG: 14:36:21.813: gdk_pixbuf_from_pixdata() called on:
(gnome-network-displays:27703): GdkPixbuf-DEBUG: 14:36:21.814: 	Encoding raw
(gnome-network-displays:27703): GdkPixbuf-DEBUG: 14:36:21.814: 	Dimensions: 16 x 16
(gnome-network-displays:27703): GdkPixbuf-DEBUG: 14:36:21.814: 	Rowstride: 64, Length: 1048
(gnome-network-displays:27703): GdkPixbuf-DEBUG: 14:36:21.814: 	Copy pixels == false
(gnome-network-displays:27703): GdkPixbuf-DEBUG: 14:36:21.814: gdk_pixbuf_from_pixdata() called on:
(gnome-network-displays:27703): GdkPixbuf-DEBUG: 14:36:21.815: 	Encoding raw
(gnome-network-displays:27703): GdkPixbuf-DEBUG: 14:36:21.815: 	Dimensions: 16 x 16
(gnome-network-displays:27703): GdkPixbuf-DEBUG: 14:36:21.815: 	Rowstride: 64, Length: 1048
(gnome-network-displays:27703): GdkPixbuf-DEBUG: 14:36:21.815: 	Copy pixels == false
(gnome-network-displays:27703): GdkPixbuf-DEBUG: 14:36:21.815: gdk_pixbuf_from_pixdata() called on:
(gnome-network-displays:27703): GdkPixbuf-DEBUG: 14:36:21.815: 	Encoding raw
(gnome-network-displays:27703): GdkPixbuf-DEBUG: 14:36:21.815: 	Dimensions: 16 x 16
(gnome-network-displays:27703): GdkPixbuf-DEBUG: 14:36:21.815: 	Rowstride: 64, Length: 1048
(gnome-network-displays:27703): GdkPixbuf-DEBUG: 14:36:21.815: 	Copy pixels == false
** (gnome-network-displays:27703): DEBUG: 14:36:21.818: NdPulseaudio: Querying sink info by name
** (gnome-network-displays:27703): DEBUG: 14:36:21.819: NdPulseaudio: Error querying sink info
** (gnome-network-displays:27703): DEBUG: 14:36:21.819: NdPulseaudio: Got a sink info for the expected name
** (gnome-network-displays:27703): DEBUG: 14:36:24.568: Found openh264enc for video encoding.
** (gnome-network-displays:27703): DEBUG: 14:36:24.568: Found x264enc for video encoding.
** (gnome-network-displays:27703): DEBUG: 14:36:24.568: WFD: Did not find any usable AAC audio encoder!
** (gnome-network-displays:27703): DEBUG: 14:36:24.569: Got state change notification from streaming sink to state ND_SINK_STATE_WAIT_P2P
** (gnome-network-displays:27703): DEBUG: 14:36:24.571: WfdP2PProvider: Discover is now set to 0
** (gnome-network-displays:27703): DEBUG: 14:36:24.586: NdWfdP2PSink: Got P2P connection
** (gnome-network-displays:27703): DEBUG: 14:36:24.586: Found openh264enc for video encoding.
** (gnome-network-displays:27703): DEBUG: 14:36:24.586: Found x264enc for video encoding.
** (gnome-network-displays:27703): DEBUG: 14:36:24.586: WFD: Did not find any usable AAC audio encoder!
** (gnome-network-displays:27703): DEBUG: 14:36:24.586: Got state change notification from streaming sink to state ND_SINK_STATE_WAIT_SOCKET
** (gnome-network-displays:27703): DEBUG: 14:36:39.685: NdWfdP2PSink: Got client connection
** (gnome-network-displays:27703): DEBUG: 14:36:39.685: Got state change notification from streaming sink to state ND_SINK_STATE_WAIT_STREAMING
** (gnome-network-displays:27703): DEBUG: 14:36:40.198: WfdClient: OPTIONS querying done
** (gnome-network-displays:27703): DEBUG: 14:36:40.200: WFD query params
** (gnome-network-displays:27703): DEBUG: 14:36:40.292: WfdClient: GET_PARAMS done
** (gnome-network-displays:27703): DEBUG: 14:36:40.292: Add audio codec to params:
** (gnome-network-displays:27703): DEBUG: 14:36:40.292: WfdAudioCodec: LPCM, 3, latency: 0
** (gnome-network-displays:27703): DEBUG: 14:36:40.292: Add audio codec to params:
** (gnome-network-displays:27703): DEBUG: 14:36:40.292: WfdAudioCodec: AAC, 7, latency: 0
** (gnome-network-displays:27703): DEBUG: 14:36:40.293: Add audio codec to params:
** (gnome-network-displays:27703): DEBUG: 14:36:40.293: WfdAudioCodec: AC3, 7, latency: 0
** (gnome-network-displays:27703): DEBUG: 14:36:40.293: Add codec to params:
** (gnome-network-displays:27703): DEBUG: 14:36:40.293: WfdVideoCodec:
** (gnome-network-displays:27703): DEBUG: 14:36:40.293:  * profile: 1
** (gnome-network-displays:27703): DEBUG: 14:36:40.293:  * level: 8
** (gnome-network-displays:27703): DEBUG: 14:36:40.293:  * native: 1920x1080 60p

** (gnome-network-displays:27703): WARNING **: 14:36:40.293: Resolution 29 not found in table VESA, but was in suppliments 0x3FFFFFFF

** (gnome-network-displays:27703): DEBUG: 14:36:40.293: Supported resolutions:
** (gnome-network-displays:27703): DEBUG: 14:36:40.293:  * 800x480 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.293:  * 800x480 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.293:  * 854x480 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.293:  * 854x480 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.293:  * 864x480 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.293:  * 864x480 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.293:  * 640x360 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.293:  * 640x360 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.293:  * 960x540 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.293:  * 848x480 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.294:  * 640x480 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.294:  * 720x480 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.294:  * 720x480 60i
** (gnome-network-displays:27703): DEBUG: 14:36:40.294:  * 720x576 50p
** (gnome-network-displays:27703): DEBUG: 14:36:40.294:  * 720x576 50i
** (gnome-network-displays:27703): DEBUG: 14:36:40.294:  * 1280x720 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.294:  * 1280x720 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.294:  * 1920x1080 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.294:  * 1920x1080 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.294:  * 1920x1080 60i
** (gnome-network-displays:27703): DEBUG: 14:36:40.294:  * 1290x720 25p
** (gnome-network-displays:27703): DEBUG: 14:36:40.294:  * 1280x720 50p
** (gnome-network-displays:27703): DEBUG: 14:36:40.294:  * 1920x1080 25p
** (gnome-network-displays:27703): DEBUG: 14:36:40.294:  * 1920x1080 50p
** (gnome-network-displays:27703): DEBUG: 14:36:40.294:  * 1920x1080 50i
** (gnome-network-displays:27703): DEBUG: 14:36:40.294:  * 1280x720 24p
** (gnome-network-displays:27703): DEBUG: 14:36:40.294:  * 1920x1080 25p
** (gnome-network-displays:27703): DEBUG: 14:36:40.294:  * 800x600 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 800x600 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1024x768 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1024x768 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1152x864 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1152x864 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1280x768 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1280x768 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1280x800 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1280x800 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1360x768 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1360x768 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1366x768 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1366x768 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1280x1024 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1280x1024 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1400x1050 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1400x1050 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1440x900 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1440x900 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1600x900 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1600x900 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.295:  * 1600x1200 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.296:  * 1600x1200 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.296:  * 1680x1024 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.296:  * 1680x1024 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.296:  * 1680x1050 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.296:  * 1680x1050 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.296:  * 1920x1200 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.296: Add codec to params:
** (gnome-network-displays:27703): DEBUG: 14:36:40.296: WfdVideoCodec:
** (gnome-network-displays:27703): DEBUG: 14:36:40.296:  * profile: 2
** (gnome-network-displays:27703): DEBUG: 14:36:40.296:  * level: 8
** (gnome-network-displays:27703): DEBUG: 14:36:40.296:  * native: 1920x1080 60p

** (gnome-network-displays:27703): WARNING **: 14:36:40.296: Resolution 29 not found in table VESA, but was in suppliments 0x3FFFFFFF

** (gnome-network-displays:27703): DEBUG: 14:36:40.296: Supported resolutions:
** (gnome-network-displays:27703): DEBUG: 14:36:40.296:  * 800x480 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.296:  * 800x480 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.296:  * 854x480 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.296:  * 854x480 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.296:  * 864x480 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.296:  * 864x480 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.296:  * 640x360 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.296:  * 640x360 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 960x540 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 848x480 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 640x480 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 720x480 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 720x480 60i
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 720x576 50p
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 720x576 50i
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 1280x720 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 1280x720 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 1920x1080 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 1920x1080 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 1920x1080 60i
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 1290x720 25p
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 1280x720 50p
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 1920x1080 25p
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 1920x1080 50p
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 1920x1080 50i
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 1280x720 24p
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 1920x1080 25p
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 800x600 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 800x600 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.297:  * 1024x768 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1024x768 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1152x864 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1152x864 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1280x768 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1280x768 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1280x800 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1280x800 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1360x768 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1360x768 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1366x768 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1366x768 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1280x1024 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1280x1024 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1400x1050 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1400x1050 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1440x900 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1440x900 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1600x900 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1600x900 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1600x1200 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1600x1200 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1680x1024 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.298:  * 1680x1024 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.299:  * 1680x1050 30p
** (gnome-network-displays:27703): DEBUG: 14:36:40.299:  * 1680x1050 60p
** (gnome-network-displays:27703): DEBUG: 14:36:40.299:  * 1920x1200 30p

** (gnome-network-displays:27703): WARNING **: 14:36:40.299: WfdClient: No resolution found, falling back to standard FullHD resolution.
** (gnome-network-displays:27703): DEBUG: 14:36:40.299: selected resolution 1920, 1080 @30
** (gnome-network-displays:27703): DEBUG: 14:36:40.301: WfdClient: SET_PARAMS done
** (gnome-network-displays:27703): DEBUG: 14:36:40.305: WfdClient: Initialization done!
** (gnome-network-displays:27703): DEBUG: 14:36:40.306: use x11: 1
[1]    27703 segmentation fault (core dumped)  G_MESSAGES_DEBUG=all gnome-network-displays --display=$DISPLAY

trying to connect to Roku 4

Fedora 30 using the copr package at https://copr.fedorainfracloud.org/coprs/benzea/screencast/

Roku 4 comes up in the network displays, no prompt on the TV, I've stopped firewalld entirely, no iptables rules and made sure selinux=permissive, here's journalctl output, hope this gives a clue thanks for this great package!

Jul 06 11:32:40 photon2 xdg-desktop-por[18293]: Unhandled parent window type 
Jul 06 11:32:40 photon2 xdg-desktop-por[18293]: Failed to associate portal window with parent window 
Jul 06 11:32:45 photon2 wpa_supplicant[1473]: P2P-DEVICE-FOUND 0a:05:81:26:6d:8b p2p_dev_addr=0a:05:81:26:6d:89 pri_dev_type=7-0050F204-1 name='Roku 4 - 709' config_methods=0x80 dev_capab=0x25 group_capab=0x2b wfd_dev_info=0x00111c440096 vendor_elems=1 new=1
Jul 06 11:32:45 photon2 wpa_supplicant[1473]: dbus: Register peer object '/fi/w1/wpa_supplicant1/Interfaces/186/Peers/0a0581266d89'
Jul 06 11:32:45 photon2 wpa_supplicant[1473]: P2P-DEVICE-FOUND b8:3e:59:2a:fb:3f p2p_dev_addr=ba:3e:59:2a:fb:3d pri_dev_type=7-0050F204-1 name='Roku 3 - 588' config_methods=0x80 dev_capab=0x25 group_capab=0x2b wfd_dev_info=0x01111c440096 vendor_elems=1 new=1
Jul 06 11:32:45 photon2 wpa_supplicant[1473]: dbus: Register peer object '/fi/w1/wpa_supplicant1/Interfaces/186/Peers/ba3e592afb3d'
Jul 06 11:32:46 photon2 wpa_supplicant[1473]: P2P-FIND-STOPPED
Jul 06 11:32:46 photon2 NetworkManager[1138]: <info>  [1562427166.5167] keyfile: add connection /var/run/NetworkManager/system-connections/Wi-Fi P2P Peer 0A:05:81:26:6D:89.nmconnection (3794e9b5-9b20-4c7e-a460-b1a768582b51,"Wi-Fi P2P Peer 0A:05:81:26:6D:89")
Jul 06 11:32:46 photon2 NetworkManager[1138]: <info>  [1562427166.5199] device (p2p-dev-wlp2s0): Activation: starting connection 'Wi-Fi P2P Peer 0A:05:81:26:6D:89' (3794e9b5-9b20-4c7e-a460-b1a768582b51)
Jul 06 11:32:46 photon2 NetworkManager[1138]: <info>  [1562427166.5211] audit: op="connection-add-activate" uuid="3794e9b5-9b20-4c7e-a460-b1a768582b51" name="Wi-Fi P2P Peer 0A:05:81:26:6D:89" pid=20646 uid=1000 result="success"
Jul 06 11:32:46 photon2 NetworkManager[1138]: <info>  [1562427166.5350] device (p2p-dev-wlp2s0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Jul 06 11:32:46 photon2 NetworkManager[1138]: <info>  [1562427166.5359] device (p2p-dev-wlp2s0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Jul 06 11:32:46 photon2 systemd-udevd[20688]: Using default interface naming scheme 'v240'.
Jul 06 11:32:46 photon2 systemd-udevd[20688]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
Jul 06 11:32:49 photon2 wpa_supplicant[1473]: P2P-GO-NEG-FAILURE status=2
Jul 06 11:32:53 photon2 dnsmasq-dhcp[1710]: RTR-ADVERT(virbr2) fd00:dead:beef:55::
Jul 06 11:33:31 photon2 NetworkManager[1138]: <warn>  [1562427211.4778] device (p2p-dev-wlp2s0): Activation: (wifi-p2p) connecting took too long, failing activation
Jul 06 11:33:31 photon2 NetworkManager[1138]: <info>  [1562427211.4780] device (p2p-dev-wlp2s0): state change: config -> failed (reason 'supplicant-timeout', sys-iface-state: 'managed')
Jul 06 11:33:31 photon2 NetworkManager[1138]: <warn>  [1562427211.4821] device (p2p-dev-wlp2s0): Activation: failed for connection 'Wi-Fi P2P Peer 0A:05:81:26:6D:89'
Jul 06 11:33:31 photon2 NetworkManager[1138]: <warn>  [1562427211.4886] sup-iface: failed to cancel p2p connect: P2P cancel failed
Jul 06 11:33:31 photon2 NetworkManager[1138]: <info>  [1562427211.5056] device (p2p-dev-wlp2s0): state change: failed -> disconnected (reason 'none', sys-iface-state: 'managed')
Jul 06 11:33:31 photon2 NetworkManager[1138]: <warn>  [1562427211.5108] sup-iface: failed to cancel p2p connect: P2P cancel failed
Jul 06 11:33:41 photon2 wpa_supplicant[1473]: P2P-DEVICE-LOST p2p_dev_addr=ba:3e:59:2a:fb:3d
Jul 06 11:33:41 photon2 wpa_supplicant[1473]: dbus: Unregister peer object '/fi/w1/wpa_supplicant1/Interfaces/186/Peers/ba3e592afb3d'
Jul 06 11:33:41 photon2 wpa_supplicant[1473]: P2P-DEVICE-LOST p2p_dev_addr=0a:05:81:26:6d:89
Jul 06 11:33:41 photon2 wpa_supplicant[1473]: dbus: Unregister peer object '/fi/w1/wpa_supplicant1/Interfaces/186/Peers/0a0581266d89'

F30 broken dependencies

I do not know where to report your copr repo issue. I am a newbie, please be patient with me.

Dependecies not met on F30 when installing from copr benzea/screencast:
Error:
Issue: conflicting requests

  • nothing provides gstreamer1-plugin-openh264 needed by gnome-screencast-0.1.0-0.20190306git887b4da3.fc30.x86_64

Thank you in advance

Invalid unclassed Pointer

Description

Build the project using

  • meson: 0.49.2
  • ninja: 1.9.0
  • gnome: GNOME Shell 3.32.0
  • xdg-desktop-portal: 1.2.0-2
  • xdg-desktop-portal-gtk: 1.2.0-1
  • libnm: 1.16.0-1
  • x264
  • faac
  • os: ArchLinux

Builds like a charme.

Error Message

I do not know which cast was meant but the application does not show up.

** (gnome-screencast:10589): WARNING **: 18:41:22.277: Error initing screencast portal: Failed to create portal sesssion

(gnome-screencast:10589): GLib-GObject-WARNING **: 18:41:22.280: invalid unclassed pointer in cast to 'GnomeScreencastWindow'

Can't get any devices to show up

Using the git version on Arch Linux by means of AUR/gnome-screencast-git
image

As a note am running it on KDE.

c0rn3j@Luxuria : ~
[130] % G_MESSAGES_DEBUG=all gnome-network-displays
(gnome-network-displays:16199): GLib-GIO-DEBUG: 13:25:21.673: _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
(gnome-network-displays:16199): Gtk-DEBUG: 13:25:21.692: Connecting to session manager
(gnome-network-displays:16199): Gtk-DEBUG: 13:25:21.692: Failed to get the GNOME session proxy: The name org.gnome.SessionManager is not owned
(gnome-network-displays:16199): Gtk-DEBUG: 13:25:21.692: Failed to get the Xfce session proxy: The name org.xfce.SessionManager is not owned
** (gnome-network-displays:16199): DEBUG: 13:25:21.736: WFDP2PRegistry: Got NMClient
** (gnome-network-displays:16199): DEBUG: 13:25:21.737: NdScreencastPortal: Aquired Portal proxy
** (gnome-network-displays:16199): DEBUG: 13:25:21.737: task is: 0x55ea31cd49b0
** (gnome-network-displays:16199): DEBUG: 13:25:21.737: NdPulseaudio: Querying sink info by name
** (gnome-network-displays:16199): DEBUG: 13:25:21.758: NdPulseaudio: Sink does not exist yet, loading module
** (gnome-network-displays:16199): DEBUG: 13:25:21.758: NdScreencastPortal: Received CreateSession response
** (gnome-network-displays:16199): DEBUG: 13:25:21.758: simple variant lookup: /org/freedesktop/portal/desktop/session/1_1076/gtk1224956946
** (gnome-network-displays:16199): DEBUG: 13:25:21.761: NdScreencastPortal: Received SelectSource response
** (gnome-network-displays:16199): DEBUG: 13:25:21.762: NdPulseaudio: Module loaded, we are ready to grab audio! 
** (gnome-network-displays:16199): DEBUG: 13:25:21.763: NdScreencastPortal: Received Start response

** (gnome-network-displays:16199): WARNING **: 13:25:21.763: Error initing screencast portal: Failed to start streaming on portal session (response: 2)

** (gnome-network-displays:16199): WARNING **: 13:25:21.763: Falling back to X11! You need to fix your setup to avoid issues (XDG Portals and/or mutter screencasting support)!

Debian gstreamer-rtsp-server

Hi, I am excited to use this app, however, I have a problem when building the app. I end up with the following message:

Dependency gstreamer-rtsp-server-1.0 found: NO (tried pkgconfig and cmake)

src/wfd/meson.build:20:0: ERROR:  Dependency "gstreamer-rtsp-server-1.0" not found, tried pkgconfig and cmake

I am using Debian 10, and I have tried to install several packages which may related to it as follow:
-gstreamer1.0-rtsp
-gir1.2-gst-rtsp-server

Both not solve my problem. Could you please kindly give me a suggestion to have a successful build. Thank you in advance.

Implement WFD IE setting for the source interface

As was found out by @cunidev in issue #4, we need to set the WFD IEs correctly for some sinks to work. At least a few sinks work fine without doing so, but in these elements e.g. the port to connect to is set.

This will need changes on the network manager side. For anyone affected by this, you can run the following command (as root) before starting gnome-screencast to work around this issue:

gdbus call --system --dest fi.w1.wpa_supplicant1 --object-path /fi/w1/wpa_supplicant1 --method org.freedesktop.DBus.Properties.Set fi.w1.wpa_supplicant1 WFDIEs "<@ay [0x00, 0x00, 0x06, 0x00, 0x90, 0x1c, 0x44, 0x00, 0xc8]>"

Codecs are installed but: WfdMediaFactory: Error creating encoding pipeline.

wfd-encoder-bin.log

For the life of me, I do not know what I am doing wrong here.
Logged on in Debian Testing (With Experimental NetworkManager), X11 or Wayland, same result.
gnome-screencast cloned from gitlab and compiled successfully.
Codecs check out, I think. Can anyone deduce the cause of the following output?

(gnome-network-displays:4117): Gtk-DEBUG: 15:33:19.657: Connecting to session manager
** (gnome-network-displays:4117): DEBUG: 15:33:19.696: WFDP2PRegistry: Found a new device, creating provider
** (gnome-network-displays:4117): DEBUG: 15:33:19.696: WFDP2PProvider: Found a new sink with peer 0x558193494b60 on device 0x55819342df90
** (gnome-network-displays:4117): DEBUG: 15:33:19.696: WfdP2PProvider: Discover is now set to 1
** (gnome-network-displays:4117): DEBUG: 15:33:19.696: SinkList: Adding a sink
hsa providers changed: 1
** (gnome-network-displays:4117): DEBUG: 15:33:19.697: NdScreencastPortal: Aquired Portal proxy
** (gnome-network-displays:4117): DEBUG: 15:33:19.697: task is: 0x5581933ac100

** (gnome-network-displays:4117): WARNING **: 15:33:19.700: Error calling DBus method during Screencast portal initialization: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.portal.Desktop was not provided by any .service files

** (gnome-network-displays:4117): WARNING **: 15:33:19.700: Error initing screencast portal: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.portal.Desktop was not provided by any .service files

** (gnome-network-displays:4117): WARNING **: 15:33:19.700: Falling back to X11! You need to fix your setup to avoid issues (XDG Portals and/or mutter screencasting support)!
** (gnome-network-displays:4117): DEBUG: 15:33:19.700: WFDP2PRegistry: Got NMClient
** (gnome-network-displays:4117): DEBUG: 15:33:19.701: NdPulseaudio: Querying sink info by name
** (gnome-network-displays:4117): DEBUG: 15:33:19.701: NdPulseaudio: Sink does not exist yet, loading module
** (gnome-network-displays:4117): DEBUG: 15:33:19.701: NdPulseaudio: Module loaded, we are ready to grab audio! 
** (gnome-network-displays:4117): DEBUG: 15:33:21.423: WfdP2PProvider: Discover is now set to 0
** (gnome-network-displays:4117): DEBUG: 15:33:21.525: NdWfdP2PSink: Got P2P connection
** (gnome-network-displays:4117): DEBUG: 15:33:21.525: Found x264enc for video encoding.
** (gnome-network-displays:4117): DEBUG: 15:33:21.525: Found avenc_aac for audio encoding.
** (gnome-network-displays:4117): DEBUG: 15:33:21.525: Got state change notification from streaming sink to state ND_SINK_STATE_WAIT_SOCKET
** (gnome-network-displays:4117): DEBUG: 15:33:33.266: NdWfdP2PSink: Got client connection
** (gnome-network-displays:4117): DEBUG: 15:33:33.266: Got state change notification from streaming sink to state ND_SINK_STATE_WAIT_STREAMING
** (gnome-network-displays:4117): DEBUG: 15:33:33.805: WfdClient: OPTIONS querying done
** (gnome-network-displays:4117): DEBUG: 15:33:33.807: WFD query params
** (gnome-network-displays:4117): DEBUG: 15:33:34.008: WfdClient: GET_PARAMS done
** (gnome-network-displays:4117): DEBUG: 15:33:34.008: Add audio codec to params:
** (gnome-network-displays:4117): DEBUG: 15:33:34.008: WfdAudioCodec: LPCM, 3, latency: 10
** (gnome-network-displays:4117): DEBUG: 15:33:34.008: Add audio codec to params:
** (gnome-network-displays:4117): DEBUG: 15:33:34.008: WfdAudioCodec: AAC, 15, latency: 10
** (gnome-network-displays:4117): DEBUG: 15:33:34.008: Add audio codec to params:
** (gnome-network-displays:4117): DEBUG: 15:33:34.008: WfdAudioCodec: AC3, 7, latency: 10
** (gnome-network-displays:4117): DEBUG: 15:33:34.008: Add codec to params:
** (gnome-network-displays:4117): DEBUG: 15:33:34.008: WfdVideoCodec:
** (gnome-network-displays:4117): DEBUG: 15:33:34.008:  * profile: 1
** (gnome-network-displays:4117): DEBUG: 15:33:34.008:  * level: 8
** (gnome-network-displays:4117): DEBUG: 15:33:34.008:  * native: 1920x1080 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.008: Supported resolutions:
** (gnome-network-displays:4117): DEBUG: 15:33:34.008:  * 800x480 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.008:  * 800x480 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 854x480 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 854x480 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 864x480 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 864x480 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 640x360 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 640x360 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 960x540 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 960x540 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 848x480 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 848x480 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 640x480 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 720x480 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 720x480 60i
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 720x576 50p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 720x576 50i
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1280x720 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1280x720 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1920x1080 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1920x1080 60i
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1290x720 25p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1280x720 50p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1920x1080 25p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1920x1080 50i
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1280x720 24p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1920x1080 25p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 800x600 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 800x600 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1024x768 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1024x768 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1152x864 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1152x864 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1280x768 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1280x768 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1280x800 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1280x800 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1360x768 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1360x768 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1366x768 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1366x768 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1280x1024 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1280x1024 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1400x1050 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1400x1050 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1440x900 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1440x900 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1600x900 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1600x900 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1600x1200 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1600x1200 60p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1680x1024 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1680x1024 30p
** (gnome-network-displays:4117): DEBUG: 15:33:34.009:  * 1680x1050 30p

** (gnome-network-displays:4117): WARNING **: 15:33:34.009: WfdClient: No resolution found, falling back to standard FullHD resolution.
** (gnome-network-displays:4117): DEBUG: 15:33:34.009: selected resolution 1920, 1080 @30
** (gnome-network-displays:4117): DEBUG: 15:33:34.119: WfdClient: SET_PARAMS done
** (gnome-network-displays:4117): DEBUG: 15:33:34.317: WfdClient: Initialization done!
** (gnome-network-displays:4117): DEBUG: 15:33:34.418: use x11: 1

(gnome-network-displays:4117): GStreamer-CRITICAL **: 15:33:34.473: gst_bin_add: assertion 'GST_IS_ELEMENT (element)' failed

(gnome-network-displays:4117): GStreamer-CRITICAL **: 15:33:34.473: gst_element_link_pads_full: assertion 'GST_IS_ELEMENT (dest)' failed

(gnome-network-displays:4117): GStreamer-CRITICAL **: 15:33:34.473: gst_element_link_pads_filtered: assertion 'GST_IS_ELEMENT (src)' failed

** (gnome-network-displays:4117): ERROR **: 15:33:34.474: WfdMediaFactory: Error creating encoding pipeline. If gstreamer is compiled with debugging and GST_DEBUG_DUMP_DOT_DIR is set, then the pipeline will have been dumped.
Trace/breakpoint trap

How to build the package?

How to build the package on debian? I'm new to meson build system. this repo lacks of installation instruction which makes me a bit struggle to build. By reading out quick start on meson, I run:

$ cd gnome-network-displays-0.90.0
$ mkdir builddir
$ meson builddir

But it seems it has many dependencies problems. and some package not available on apt package management system. Should I install the dependencies one by one what stated on error log of meson build, or does it have other easier method to install and solving all dependencies?

Thanks

Miracast removed in Android 8.0 (Oreo)

Hello

My Philips TV 65PUS6412/12, 65" LED-TV tells me when i run The Airpay Android App and want to enable Miracast in the Settings, that Miracast-Functionality was removed since in Android 8.0 (Oreo). So is there an alternative like Chrmecast Protocol?

With kind regards
Marc

Building against nm master

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/24 was merged so I tried to build against current master:

$ meson build
The Meson build system
Version: 0.49.2
Source dir: /home/alberto/projects/c/gnome-screencast
Build dir: /home/alberto/projects/c/gnome-screencast/build
Build type: native build
Project name: gnome-screencast
Project version: 0.1.0
Native C compiler: ccache cc (gcc 8.2.1 "cc (GCC) 8.2.1 20181127")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Configuring gnome-screencast-config.h using configuration
Program desktop-file-validate found: YES (/usr/bin/desktop-file-validate)
Program appstream-util found: YES (/usr/bin/appstream-util)
Program glib-compile-schemas found: YES (/usr/bin/glib-compile-schemas)
Found pkg-config: /usr/bin/pkg-config (1.6.0)
Dependency gstreamer-video-1.0 found: YES 1.14.4
Dependency gstreamer-rtsp-1.0 found: YES 1.14.4
Dependency gstreamer-rtsp-server-1.0 found: YES 1.14.4
Dependency gio-2.0 found: YES 2.58.3
Dependency gtk+-3.0 found: YES 3.24.5
Dependency libnm found: YES 1.15.2
Dependency gstreamer-1.0 found: YES 1.14.4
Dependency libpulse-mainloop-glib found: YES 12.2
Program build-aux/meson/postinstall.py found: YES (/home/alberto/projects/c/gnome-screencast/build-aux/meson/postinstall.py)
Build targets in project: 11
Found ninja-1.9.0 at /usr/bin/ninja
$ ninja -C build
ninja: Entering directory `build'
[1/2] Compiling C object 'src/25a6634@@gnome-screencast@exe/screencast-wfd-p2p-provider.c.o'.
FAILED: src/25a6634@@gnome-screencast@exe/screencast-wfd-p2p-provider.c.o 
ccache cc -Isrc/25a6634@@gnome-screencast@exe -Isrc -I../src -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi-3.2.1/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/libdrm -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libnm -I/usr/include/gstreamer-1.0 -I/usr/include/orc-0.4 -I/home/alberto/projects/c/gnome-screencast/build -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -pthread -D_REENTRANT  -MD -MQ 'src/25a6634@@gnome-screencast@exe/screencast-wfd-p2p-provider.c.o' -MF 'src/25a6634@@gnome-screencast@exe/screencast-wfd-p2p-provider.c.o.d' -o 'src/25a6634@@gnome-screencast@exe/screencast-wfd-p2p-provider.c.o' -c ../src/screencast-wfd-p2p-provider.c
../src/screencast-wfd-p2p-provider.c: En la función ‘device_restart_find_timeout’:
../src/screencast-wfd-p2p-provider.c:128:3: error: faltan argumentos para la función ‘nm_device_wifi_p2p_start_find’
   nm_device_wifi_p2p_start_find (NM_DEVICE_WIFI_P2P (provider->nm_device), NULL, NULL, NULL);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libnm/NetworkManager.h:54,
                 from ../src/screencast-wfd-p2p-provider.h:21,
                 from ../src/screencast-wfd-p2p-provider.c:20:
/usr/include/libnm/nm-device-wifi-p2p.h:62:26: nota: se declara aquí
 void                     nm_device_wifi_p2p_start_find        (NMDeviceWifiP2P     *device,
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/screencast-wfd-p2p-provider.c: En la función ‘screencast_wfd_p2p_provider_set_property’:
../src/screencast-wfd-p2p-provider.c:167:11: error: faltan argumentos para la función ‘nm_device_wifi_p2p_start_find’
           nm_device_wifi_p2p_start_find (NM_DEVICE_WIFI_P2P (provider->nm_device), NULL, NULL, NULL);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libnm/NetworkManager.h:54,
                 from ../src/screencast-wfd-p2p-provider.h:21,
                 from ../src/screencast-wfd-p2p-provider.c:20:
/usr/include/libnm/nm-device-wifi-p2p.h:62:26: nota: se declara aquí
 void                     nm_device_wifi_p2p_start_find        (NMDeviceWifiP2P     *device,
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/screencast-wfd-p2p-provider.c:183:11: error: faltan argumentos para la función ‘nm_device_wifi_p2p_start_find’
           nm_device_wifi_p2p_start_find (NM_DEVICE_WIFI_P2P (provider->nm_device), NULL, NULL, NULL);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libnm/NetworkManager.h:54,
                 from ../src/screencast-wfd-p2p-provider.h:21,
                 from ../src/screencast-wfd-p2p-provider.c:20:
/usr/include/libnm/nm-device-wifi-p2p.h:62:26: nota: se declara aquí
 void                     nm_device_wifi_p2p_start_find        (NMDeviceWifiP2P     *device,
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.

Should I try on top of merge commit? Which seems to be https://gitlab.freedesktop.org/NetworkManager/NetworkManager/commit/ce3f7bf812c21773251748693cd39d2fb54b9055

Streaming shows black screen after installing audio drivers

Worked (somewhat) properly before, but after installing gstreamer "bad-nonfree" plugins from RPMfusion (for audio support) I get only a black screen with those warnings:

(gnome-screencast:3663): GLib-GObject-WARNING **: 16:22:53.447: g_object_set_is_valid_property: object class 'GstX264Enc' has no property named 'max-rc-lookahead'
Warning from pulseaudio-source: Impossibile registrare l'audio a velocità adeguata

Translated: "Can't record audio at appropriate speed"

Configure connection for local routing only

If the remote peer becomes group owner, then we end up trying to use the connection to connect to the internet. That is pretty stupid, we need to only use the connection for the local network.

(I have private a trace where this happened.)

Typo in copr instructions

"dnf install gnome-newtwork-displays" has a little bit too much 'w' in it ;)

It should read:

dnf install gnome-network-displays

Ninja test failure - appstream ?

Can you tell me how to overcome this ninja test issue?

(gnome-screencast) $ meson builddir && cd builddir
The Meson build system
Version: 0.48.2
Source dir: ~/git/gnome-screencast/gnome-screencast
Build dir: ~/git/gnome-screencast/gnome-screencast/builddir
Build type: native build
Project name: gnome-screencast
Project version: 0.1.0
Build machine cpu family: x86_64
Build machine cpu: x86_64
Program desktop-file-validate found: YES (/usr/bin/desktop-file-validate)
Program appstream-util found: YES (/usr/bin/appstream-util)
Program glib-compile-schemas found: YES (/usr/bin/glib-compile-schemas)
Found pkg-config: /usr/bin/pkg-config (0.29.1)
WARNING: GLib compiled dependencies do not work reliably with 
the current version of GLib. See the following upstream issue: https://bugzilla.gnome.org/show_bug.cgi?id=774368
Configuring gnome-screencast using configuration
Program build-aux/meson/postinstall.py found: YES (~/git/gnome-screencast/gnome-screencast/build-aux/meson/postinstall.py)
Build targets in project: 6
Found ninja-1.5.1 at /usr/bin/ninja
(gnome-screencast) $ ninja
[3/3] Generating org.gnome.Screencast.appdata.xml_data_merge with a custom command.
(gnome-screencast) $ ninja test
[1/1] Running all tests.
1/3 Validate desktop file                   OK       0.00 s 
2/3 Validate appstream file                 FAIL     0.01 s (exit status 1)
3/3 Validate schema file                    OK       0.00 s 

OK:         2
FAIL:       1
SKIP:       0
TIMEOUT:    0


The output from the failed tests:

2/3 Validate appstream file                 FAIL     0.01 s (exit status 1)

--- command ---
/usr/bin/appstream-util validate data/org.gnome.Screencast.appdata.xml
--- stdout ---
data/org.gnome.Screencast.appdata.xml: FAILED:
• tag-invalid           : <project_license> is not valid [GPL-3.0-or-later]SPDX ID 'GPL-3.0-or-later' unknown
• tag-missing           : <translation> not specified
• tag-missing           : <update_contact> is not present
• style-invalid         : Not enough <screenshot> tags
• tag-missing           : <name> is not present
• tag-missing           : <summary> is not present
• tag-missing           : <url> is not present
--- stderr ---
Validation of files failed
-------

Full log written to ~/git/gnome-screencast/gnome-screencast/builddir/meson-logs/testlog.txt
FAILED: ~/.local/share/virtualenvs/gnome-screencast-FEzKaJQS/bin/meson test --no-rebuild --print-errorlogs
ninja: build stopped: subcommand failed.

New name?

The current name is a bit confusing, as "screencast" is most commonly used for video recordings of the screen (analog to "screenshot").

Some clearer, but still generic alternatives (from the IRC discussion last week) if we intend this to be an "official" GNOME app:

  • Network Displays
  • Remote Displays
  • Wifi Displays

On the other hand, if this is intended to be a third-party app we could brainstorm some less generic names.

Can't cast to Miracast/EZMirror

Hi there. Congratulations for the project.
You might have any advice on these errors below. Thanks in advance.

[14:21:32 r2@x1 ~]$ G_MESSAGES_DEBUG=all gnome-screencast
(gnome-screencast:14218): GLib-GIO-DEBUG: 14:21:35.954: _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
(gnome-screencast:14218): Gtk-DEBUG: 14:21:35.977: Connecting to session manager
** (gnome-screencast:14218): DEBUG: 14:21:36.011: WFDP2PRegistry: Found a new device, creating provider
** (gnome-screencast:14218): DEBUG: 14:21:36.011: WFDP2PProvider: Found a new sink with peer 0x55692a5a0d10 on device 0x55692a5c6ae0
** (gnome-screencast:14218): DEBUG: 14:21:36.011: WfdP2PProvider: Discover is now set to 1
** (gnome-screencast:14218): DEBUG: 14:21:36.011: SinkList: Adding a sink
** (gnome-screencast:14218): DEBUG: 14:21:36.013: ScreencastPortal: Aquired Portal proxy
** (gnome-screencast:14218): DEBUG: 14:21:36.013: task is: 0x55692a4ff1a0
** (gnome-screencast:14218): DEBUG: 14:21:36.014: WFDP2PRegistry: Got NMClient
** (gnome-screencast:14218): DEBUG: 14:21:36.014: ScreencastPulseaudio: Querying sink info by name
** (gnome-screencast:14218): DEBUG: 14:21:36.014: ScreencastPulseaudio: Error querying sink info
** (gnome-screencast:14218): DEBUG: 14:21:36.014: ScreencastPulseaudio: Got a sink info for the expected name
** (gnome-screencast:14218): DEBUG: 14:21:36.015: ScreencastPortal: Received CreateSession response
** (gnome-screencast:14218): DEBUG: 14:21:36.015: simple variant lookup: /org/freedesktop/portal/desktop/session/1_200/gtk532800391
** (gnome-screencast:14218): DEBUG: 14:21:36.017: ScreencastPortal: Received SelectSource response
** (gnome-screencast:14218): DEBUG: 14:21:39.393: ScreencastPortal: Received Start response
** (gnome-screencast:14218): DEBUG: 14:21:39.393: Got a stream with node ID: 19
** (gnome-screencast:14218): DEBUG: 14:21:41.571: WfdP2PProvider: Discover is now set to 0
** (gnome-screencast:14218): DEBUG: 14:21:41.615: ScreencastWfdP2PSink: Got P2P connection
** (gnome-screencast:14218): DEBUG: 14:21:41.615: Found x264enc for video encoding.
** (gnome-screencast:14218): DEBUG: 14:21:41.616: Got state change notification from streaming sink to state SCREENCAST_SINK_STATE_WAIT_SOCKET
** (gnome-screencast:14218): DEBUG: 14:21:51.987: ScreencastWfdP2PSink: Got client connection
** (gnome-screencast:14218): DEBUG: 14:21:51.987: Got state change notification from streaming sink to state SCREENCAST_SINK_STATE_WAIT_STREAMING
** (gnome-screencast:14218): DEBUG: 14:21:52.612: WfdClient: OPTIONS querying done
** (gnome-screencast:14218): DEBUG: 14:21:52.614: WFD query params
** (gnome-screencast:14218): DEBUG: 14:21:52.833: WfdClient: GET_PARAMS done
** (gnome-screencast:14218): DEBUG: 14:21:52.833: Add audio codec to params:
** (gnome-screencast:14218): DEBUG: 14:21:52.833: WfdAudioCodec: LPCM, 2, latency: 0
** (gnome-screencast:14218): DEBUG: 14:21:52.833: Add codec to params:
** (gnome-screencast:14218): DEBUG: 14:21:52.833: WfdVideoCodec:
** (gnome-screencast:14218): DEBUG: 14:21:52.833:  * profile: 1
** (gnome-screencast:14218): DEBUG: 14:21:52.833:  * level: 2
** (gnome-screencast:14218): DEBUG: 14:21:52.833:  * native: 1920x1080 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.833: Supported resolutions:
** (gnome-screencast:14218): DEBUG: 14:21:52.833:  * 800x480 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.833:  * 800x480 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.833:  * 854x480 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.833:  * 854x480 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.833:  * 864x480 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.833:  * 864x480 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.833:  * 640x360 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.833:  * 640x360 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.833:  * 960x540 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.833:  * 960x540 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.833:  * 848x480 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.833:  * 848x480 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.833:  * 640x480 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.833:  * 720x480 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.833:  * 720x480 60i
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 720x576 50p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 720x576 50i
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1280x720 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1280x720 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1920x1080 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1920x1080 60i
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1290x720 25p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1280x720 50p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1920x1080 25p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1920x1080 50i
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1280x720 24p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1920x1080 25p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 800x600 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 800x600 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1024x768 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1024x768 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1152x864 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1152x864 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1280x768 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1280x768 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1280x800 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1280x800 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1360x768 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1360x768 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1366x768 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1366x768 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1280x1024 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1440x900 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1440x900 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1600x900 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1600x900 60p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1680x1024 30p
** (gnome-screencast:14218): DEBUG: 14:21:52.834:  * 1680x1050 30p

** (gnome-screencast:14218): WARNING **: 14:21:52.834: WfdClient: No resolution found, falling back to standard FullHD resolution.
** (gnome-screencast:14218): DEBUG: 14:21:52.834: selected resolution 1920, 1080 @30
** (gnome-screencast:14218): DEBUG: 14:21:53.040: WfdClient: SET_PARAMS done
** (gnome-screencast:14218): DEBUG: 14:21:53.245: WfdClient: Initialization done!
** (gnome-screencast:14218): DEBUG: 14:21:53.304: use x11: 0
** (gnome-screencast:14218): DEBUG: 14:21:53.387: WfdMedia init: Got 1 streams
** (gnome-screencast:14218): DEBUG: 14:21:55.380: QOS: proportion: 0,500, processed: 1, dropped: 1
** (gnome-screencast:14218): DEBUG: 14:21:55.384: QOS: proportion: 0,500, processed: 1, dropped: 2
** (gnome-screencast:14218): DEBUG: 14:21:55.387: QOS: proportion: 0,500, processed: 1, dropped: 3
** (gnome-screencast:14218): DEBUG: 14:21:55.390: QOS: proportion: 0,500, processed: 1, dropped: 4
** (gnome-screencast:14218): DEBUG: 14:21:55.393: QOS: proportion: 0,500, processed: 1, dropped: 5
** (gnome-screencast:14218): DEBUG: 14:21:55.397: QOS: proportion: 0,500, processed: 1, dropped: 6
** (gnome-screencast:14218): DEBUG: 14:21:55.400: QOS: proportion: 0,500, processed: 1, dropped: 7
** (gnome-screencast:14218): DEBUG: 14:21:55.403: QOS: proportion: 0,500, processed: 1, dropped: 8
** (gnome-screencast:14218): DEBUG: 14:21:55.406: QOS: proportion: 0,500, processed: 1, dropped: 9
** (gnome-screencast:14218): DEBUG: 14:21:55.411: QOS: proportion: 0,500, processed: 1, dropped: 10
** (gnome-screencast:14218): DEBUG: 14:21:55.417: QOS: proportion: 0,500, processed: 1, dropped: 11
** (gnome-screencast:14218): DEBUG: 14:21:55.422: QOS: proportion: 0,500, processed: 1, dropped: 12
** (gnome-screencast:14218): DEBUG: 14:21:55.427: QOS: proportion: 0,500, processed: 1, dropped: 13
** (gnome-screencast:14218): DEBUG: 14:21:55.432: QOS: proportion: 0,500, processed: 1, dropped: 14
** (gnome-screencast:14218): DEBUG: 14:21:55.438: QOS: proportion: 0,500, processed: 1, dropped: 15
** (gnome-screencast:14218): DEBUG: 14:21:55.443: QOS: proportion: 0,500, processed: 1, dropped: 16
** (gnome-screencast:14218): DEBUG: 14:21:55.447: QOS: proportion: 0,500, processed: 1, dropped: 17
** (gnome-screencast:14218): DEBUG: 14:21:55.451: QOS: proportion: 0,500, processed: 1, dropped: 18
** (gnome-screencast:14218): DEBUG: 14:21:55.462: QOS: proportion: 0,500, processed: 1, dropped: 19
** (gnome-screencast:14218): DEBUG: 14:21:55.480: QOS: proportion: 0,500, processed: 1, dropped: 20
** (gnome-screencast:14218): DEBUG: 14:21:55.491: QOS: proportion: 0,500, processed: 1, dropped: 21
** (gnome-screencast:14218): DEBUG: 14:21:55.493: QOS: proportion: 0,500, processed: 1, dropped: 22
** (gnome-screencast:14218): DEBUG: 14:21:55.509: QOS: proportion: 0,500, processed: 1, dropped: 23
** (gnome-screencast:14218): DEBUG: 14:21:55.511: QOS: proportion: 0,500, processed: 1, dropped: 24
** (gnome-screencast:14218): DEBUG: 14:21:55.513: QOS: proportion: 0,500, processed: 1, dropped: 25
** (gnome-screencast:14218): DEBUG: 14:21:55.514: QOS: proportion: 0,500, processed: 1, dropped: 26
** (gnome-screencast:14218): DEBUG: 14:21:55.515: QOS: proportion: 0,500, processed: 1, dropped: 27
** (gnome-screencast:14218): DEBUG: 14:21:55.519: QOS: proportion: 0,500, processed: 1, dropped: 28
** (gnome-screencast:14218): DEBUG: 14:21:55.529: QOS: proportion: 0,500, processed: 1, dropped: 29
** (gnome-screencast:14218): DEBUG: 14:21:55.531: QOS: proportion: 0,500, processed: 1, dropped: 30
** (gnome-screencast:14218): DEBUG: 14:21:55.542: QOS: proportion: 0,500, processed: 1, dropped: 31
** (gnome-screencast:14218): DEBUG: 14:21:55.546: QOS: proportion: 0,500, processed: 1, dropped: 32
** (gnome-screencast:14218): DEBUG: 14:21:55.556: QOS: proportion: 0,500, processed: 1, dropped: 33
** (gnome-screencast:14218): DEBUG: 14:21:55.565: QOS: proportion: 0,500, processed: 1, dropped: 34
** (gnome-screencast:14218): DEBUG: 14:21:55.568: QOS: proportion: 0,500, processed: 1, dropped: 35
** (gnome-screencast:14218): DEBUG: 14:21:55.570: QOS: proportion: 0,500, processed: 1, dropped: 36
** (gnome-screencast:14218): DEBUG: 14:21:55.576: QOS: proportion: 0,500, processed: 1, dropped: 37
** (gnome-screencast:14218): DEBUG: 14:21:55.578: QOS: proportion: 0,500, processed: 1, dropped: 38
** (gnome-screencast:14218): DEBUG: 14:21:55.585: QOS: proportion: 0,500, processed: 1, dropped: 39
** (gnome-screencast:14218): DEBUG: 14:21:55.586: QOS: proportion: 0,500, processed: 1, dropped: 40
** (gnome-screencast:14218): DEBUG: 14:21:55.589: QOS: proportion: 0,500, processed: 1, dropped: 41
** (gnome-screencast:14218): DEBUG: 14:21:55.593: QOS: proportion: 0,500, processed: 1, dropped: 42
** (gnome-screencast:14218): DEBUG: 14:21:55.600: QOS: proportion: 0,500, processed: 1, dropped: 43
** (gnome-screencast:14218): DEBUG: 14:21:55.602: QOS: proportion: 0,500, processed: 1, dropped: 44
** (gnome-screencast:14218): DEBUG: 14:21:55.607: QOS: proportion: 0,500, processed: 1, dropped: 45
** (gnome-screencast:14218): DEBUG: 14:21:55.610: QOS: proportion: 0,500, processed: 1, dropped: 46
** (gnome-screencast:14218): DEBUG: 14:21:55.611: QOS: proportion: 0,500, processed: 1, dropped: 47
** (gnome-screencast:14218): DEBUG: 14:21:55.612: QOS: proportion: 0,500, processed: 1, dropped: 48
** (gnome-screencast:14218): DEBUG: 14:21:55.613: QOS: proportion: 0,500, processed: 1, dropped: 49
** (gnome-screencast:14218): DEBUG: 14:21:55.615: QOS: proportion: 0,500, processed: 1, dropped: 50
** (gnome-screencast:14218): DEBUG: 14:21:55.616: QOS: proportion: 0,500, processed: 1, dropped: 51
** (gnome-screencast:14218): DEBUG: 14:21:55.617: QOS: proportion: 0,500, processed: 1, dropped: 52
** (gnome-screencast:14218): DEBUG: 14:21:55.618: QOS: proportion: 0,500, processed: 1, dropped: 53
** (gnome-screencast:14218): DEBUG: 14:21:55.621: QOS: proportion: 0,500, processed: 1, dropped: 54
** (gnome-screencast:14218): DEBUG: 14:21:55.624: QOS: proportion: 0,500, processed: 1, dropped: 55
** (gnome-screencast:14218): DEBUG: 14:21:55.634: QOS: proportion: 0,500, processed: 1, dropped: 56
** (gnome-screencast:14218): DEBUG: 14:21:55.634: QOS: proportion: 0,500, processed: 1, dropped: 57
** (gnome-screencast:14218): DEBUG: 14:21:55.635: QOS: proportion: 0,500, processed: 1, dropped: 58
** (gnome-screencast:14218): DEBUG: 14:21:55.651: An audiocodec has been selected: no
[E][connection.c:513 pw_protocol_native_connection_flush()] could not sendmsg: Destination address required
** (gnome-screencast:14218): DEBUG: 14:22:20.899: WfdClient: Doing keep-alive
** (gnome-screencast:14218): DEBUG: 14:22:47.938: WFDP2PProvider: Peer removed
** (gnome-screencast:14218): DEBUG: 14:22:47.938: MetaSink: No usable sink is left, object has become invalid.
** (gnome-screencast:14218): DEBUG: 14:22:47.938: SinkList: Removing a sink
** (gnome-screencast:14218): DEBUG: 14:22:57.941: WFDP2PProvider: Peer removed
** (gnome-screencast:14218): DEBUG: 14:22:57.960: Got state change notification from streaming sink to state SCREENCAST_SINK_STATE_ERROR
[14:21:23 r2@x1 ~]$ journalctl -f | egrep -i p2p
jun 15 14:21:40 x1.localdomain wpa_supplicant[2195]: P2P-DEVICE-FOUND 10:62:e5:2e:fb:4f p2p_dev_addr=12:62:e5:2e:fb:4e pri_dev_type=3-0050F204-1 name='DIRECT-4E-HP DeskJet 2600 series' config_methods=0x5a88 dev_capab=0x4 group_capab=0x1 vendor_elems=1 new=0
jun 15 14:21:40 x1.localdomain wpa_supplicant[2195]: P2P-DEVICE-FOUND d0:c0:bf:e7:6e:8f p2p_dev_addr=d0:c0:bf:e7:6e:8f pri_dev_type=8-0050F204-5 name='Mirascreen BFE76E8F' config_methods=0x88 dev_capab=0x25 group_capab=0xa wfd_dev_info=0x0151022a012c new=0
jun 15 14:21:41 x1.localdomain wpa_supplicant[2195]: P2P-FIND-STOPPED
jun 15 14:21:41 x1.localdomain NetworkManager[2086]: <info>  [1560604901.6075] keyfile: add connection /var/run/NetworkManager/system-connections/Wi-Fi P2P Peer D0:C0:BF:E7:6E:8F.nmconnection (8c1aabb3-e839-43cb-bff9-a655eebf1b3c,"Wi-Fi P2P Peer D0:C0:BF:E7:6E:8F")
jun 15 14:21:41 x1.localdomain NetworkManager[2086]: <info>  [1560604901.6083] device (p2p-dev-wlan0): Activation: starting connection 'Wi-Fi P2P Peer D0:C0:BF:E7:6E:8F' (8c1aabb3-e839-43cb-bff9-a655eebf1b3c)
jun 15 14:21:41 x1.localdomain NetworkManager[2086]: <info>  [1560604901.6087] audit: op="connection-add-activate" uuid="8c1aabb3-e839-43cb-bff9-a655eebf1b3c" name="Wi-Fi P2P Peer D0:C0:BF:E7:6E:8F" pid=14218 uid=1000 result="success"
jun 15 14:21:41 x1.localdomain NetworkManager[2086]: <info>  [1560604901.6150] device (p2p-dev-wlan0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
jun 15 14:21:41 x1.localdomain NetworkManager[2086]: <info>  [1560604901.6156] device (p2p-dev-wlan0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
jun 15 14:21:43 x1.localdomain wpa_supplicant[2195]: P2P-GO-NEG-SUCCESS role=GO freq=2412 ht40=0 peer_dev=d0:c0:bf:e7:6e:8f peer_iface=d0:c0:bf:e7:6e:8f wps_method=PBC
jun 15 14:21:43 x1.localdomain wpa_supplicant[2195]: Using interface p2p-wlan0-4 with hwaddr d4:3b:04:1d:3d:4c and ssid "DIRECT-iN"
jun 15 14:21:43 x1.localdomain kernel: IPv6: ADDRCONF(NETDEV_CHANGE): p2p-wlan0-4: link becomes ready
jun 15 14:21:43 x1.localdomain wpa_supplicant[2195]: p2p-wlan0-4: interface state UNINITIALIZED->ENABLED
jun 15 14:21:43 x1.localdomain wpa_supplicant[2195]: p2p-wlan0-4: AP-ENABLED
jun 15 14:21:43 x1.localdomain wpa_supplicant[2195]: p2p-wlan0-4: CTRL-EVENT-CONNECTED - Connection to d4:3b:04:1d:3d:4c completed [id=0 id_str=]
jun 15 14:21:43 x1.localdomain wpa_supplicant[2195]: p2p-wlan0-4: WPS-PBC-ACTIVE
jun 15 14:21:44 x1.localdomain avahi-daemon[1680]: Joining mDNS multicast group on interface p2p-wlan0-4.IPv6 with address fe80::d63b:4ff:fe1d:3d4c.
jun 15 14:21:44 x1.localdomain avahi-daemon[1680]: New relevant interface p2p-wlan0-4.IPv6 for mDNS.
jun 15 14:21:44 x1.localdomain avahi-daemon[1680]: Registering new address record for fe80::d63b:4ff:fe1d:3d4c on p2p-wlan0-4.*.
jun 15 14:21:45 x1.localdomain wpa_supplicant[2195]: P2P-DEVICE-FOUND d0:c0:bf:e7:6e:8f p2p_dev_addr=d0:c0:bf:e7:6e:8f pri_dev_type=8-0050F204-5 name='Mirascreen BFE76E8F' config_methods=0x80 dev_capab=0x25 group_capab=0xa wfd_dev_info=0x0051022a012c new=0
jun 15 14:21:45 x1.localdomain wpa_supplicant[2195]: p2p-wlan0-4: CTRL-EVENT-EAP-STARTED d0:c0:bf:e7:6e:8f
jun 15 14:21:45 x1.localdomain wpa_supplicant[2195]: p2p-wlan0-4: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=1
jun 15 14:21:46 x1.localdomain wpa_supplicant[2195]: p2p-wlan0-4: CTRL-EVENT-EAP-STARTED d0:c0:bf:e7:6e:8f
jun 15 14:21:46 x1.localdomain wpa_supplicant[2195]: p2p-wlan0-4: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=1
jun 15 14:21:46 x1.localdomain wpa_supplicant[2195]: p2p-wlan0-4: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=14122 method=254
jun 15 14:21:48 x1.localdomain wpa_supplicant[2195]: p2p-wlan0-4: WPS-REG-SUCCESS d0:c0:bf:e7:6e:8f d0c0bfe7-6e8f-0000-0000-000000000000
jun 15 14:21:48 x1.localdomain wpa_supplicant[2195]: P2P-GROUP-FORMATION-SUCCESS
jun 15 14:21:48 x1.localdomain wpa_supplicant[2195]: P2P-GROUP-STARTED p2p-wlan0-4 GO ssid="DIRECT-iN" freq=2412 go_dev_addr=d4:3b:04:1d:3d:4b
jun 15 14:21:48 x1.localdomain wpa_supplicant[2195]: p2p-wlan0-4: WPS-PBC-DISABLE
jun 15 14:21:48 x1.localdomain wpa_supplicant[2195]: p2p-wlan0-4: WPS-SUCCESS
jun 15 14:21:48 x1.localdomain wpa_supplicant[2195]: p2p-wlan0-4: CTRL-EVENT-EAP-FAILURE d0:c0:bf:e7:6e:8f
jun 15 14:21:48 x1.localdomain NetworkManager[2086]: <info>  [1560604908.2358] device (p2p-dev-wlan0): P2P Group supplicant interface state: starting -> ready
jun 15 14:21:48 x1.localdomain NetworkManager[2086]: <info>  [1560604908.2487] device (p2p-dev-wlan0): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
jun 15 14:21:48 x1.localdomain avahi-daemon[1680]: Withdrawing address record for fe80::d63b:4ff:fe1d:3d4c on p2p-wlan0-4.
jun 15 14:21:48 x1.localdomain avahi-daemon[1680]: Leaving mDNS multicast group on interface p2p-wlan0-4.IPv6 with address fe80::d63b:4ff:fe1d:3d4c.
jun 15 14:21:48 x1.localdomain avahi-daemon[1680]: Interface p2p-wlan0-4.IPv6 no longer relevant for mDNS.
jun 15 14:21:48 x1.localdomain avahi-daemon[1680]: Joining mDNS multicast group on interface p2p-wlan0-4.IPv6 with address fe80::c56e:52e9:2073:d440.
jun 15 14:21:48 x1.localdomain avahi-daemon[1680]: New relevant interface p2p-wlan0-4.IPv6 for mDNS.
jun 15 14:21:48 x1.localdomain avahi-daemon[1680]: Registering new address record for fe80::c56e:52e9:2073:d440 on p2p-wlan0-4.*.
jun 15 14:21:48 x1.localdomain avahi-daemon[1680]: Joining mDNS multicast group on interface p2p-wlan0-4.IPv4 with address 10.42.0.1.
jun 15 14:21:48 x1.localdomain avahi-daemon[1680]: New relevant interface p2p-wlan0-4.IPv4 for mDNS.
jun 15 14:21:48 x1.localdomain avahi-daemon[1680]: Registering new address record for 10.42.0.1 on p2p-wlan0-4.IPv4.
jun 15 14:21:48 x1.localdomain NetworkManager[2086]: <info>  [1560604908.2745] Executing: /usr/sbin/iptables --table filter --insert INPUT --in-interface p2p-wlan0-4 --protocol tcp --destination-port 53 --jump ACCEPT
jun 15 14:21:48 x1.localdomain NetworkManager[2086]: <info>  [1560604908.2773] Executing: /usr/sbin/iptables --table filter --insert INPUT --in-interface p2p-wlan0-4 --protocol udp --destination-port 53 --jump ACCEPT
jun 15 14:21:48 x1.localdomain NetworkManager[2086]: <info>  [1560604908.2797] Executing: /usr/sbin/iptables --table filter --insert INPUT --in-interface p2p-wlan0-4 --protocol tcp --destination-port 67 --jump ACCEPT
jun 15 14:21:48 x1.localdomain NetworkManager[2086]: <info>  [1560604908.2820] Executing: /usr/sbin/iptables --table filter --insert INPUT --in-interface p2p-wlan0-4 --protocol udp --destination-port 67 --jump ACCEPT
jun 15 14:21:48 x1.localdomain NetworkManager[2086]: <info>  [1560604908.2845] Executing: /usr/sbin/iptables --table filter --insert FORWARD --in-interface p2p-wlan0-4 --jump REJECT
jun 15 14:21:48 x1.localdomain NetworkManager[2086]: <info>  [1560604908.2864] Executing: /usr/sbin/iptables --table filter --insert FORWARD --out-interface p2p-wlan0-4 --jump REJECT
jun 15 14:21:48 x1.localdomain NetworkManager[2086]: <info>  [1560604908.2880] Executing: /usr/sbin/iptables --table filter --insert FORWARD --in-interface p2p-wlan0-4 --out-interface p2p-wlan0-4 --jump ACCEPT
jun 15 14:21:48 x1.localdomain NetworkManager[2086]: <info>  [1560604908.2893] Executing: /usr/sbin/iptables --table filter --insert FORWARD --source 10.42.0.0/255.255.255.0 --in-interface p2p-wlan0-4 --jump ACCEPT
jun 15 14:21:48 x1.localdomain NetworkManager[2086]: <info>  [1560604908.2907] Executing: /usr/sbin/iptables --table filter --insert FORWARD --destination 10.42.0.0/255.255.255.0 --out-interface p2p-wlan0-4 --match state --state ESTABLISHED,RELATED --jump ACCEPT
jun 15 14:21:48 x1.localdomain NetworkManager[2086]: <info>  [1560604908.2948] device (p2p-dev-wlan0): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'managed')
jun 15 14:21:48 x1.localdomain NetworkManager[2086]: <info>  [1560604908.2972] device (p2p-dev-wlan0): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'managed')
jun 15 14:21:48 x1.localdomain NetworkManager[2086]: <info>  [1560604908.2973] device (p2p-dev-wlan0): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')
jun 15 14:21:48 x1.localdomain dnsmasq[14355]: chown of PID file /var/run/nm-dnsmasq-p2p-wlan0-4.pid failed: Operation not permitted
jun 15 14:21:48 x1.localdomain NetworkManager[2086]: <info>  [1560604908.2990] device (p2p-dev-wlan0): Activation: successful, device activated.
jun 15 14:21:48 x1.localdomain nm-dispatcher[14358]: req:1 'up' [p2p-wlan0-4]: new request (4 scripts)
jun 15 14:21:48 x1.localdomain nm-dispatcher[14358]: req:1 'up' [p2p-wlan0-4]: start running ordered scripts...
jun 15 14:21:49 x1.localdomain wpa_supplicant[2195]: p2p-wlan0-4: AP-STA-CONNECTED d0:c0:bf:e7:6e:8f p2p_dev_addr=d0:c0:bf:e7:6e:8f
jun 15 14:21:49 x1.localdomain wpa_supplicant[2195]: AP-STA-CONNECTED d0:c0:bf:e7:6e:8f p2p_dev_addr=d0:c0:bf:e7:6e:8f
jun 15 14:21:49 x1.localdomain dnsmasq-dhcp[14355]: DHCPDISCOVER(p2p-wlan0-4) d0:c0:bf:e7:6e:8f
jun 15 14:21:49 x1.localdomain dnsmasq-dhcp[14355]: DHCPOFFER(p2p-wlan0-4) 10.42.0.139 d0:c0:bf:e7:6e:8f
jun 15 14:21:49 x1.localdomain dnsmasq-dhcp[14355]: DHCPREQUEST(p2p-wlan0-4) 10.42.0.139 d0:c0:bf:e7:6e:8f
jun 15 14:21:49 x1.localdomain dnsmasq-dhcp[14355]: DHCPACK(p2p-wlan0-4) 10.42.0.139 d0:c0:bf:e7:6e:8f
jun 15 14:21:50 x1.localdomain NetworkManager[2086]: <info>  [1560604910.2913] policy: ipv6-pd: none of 0 prefixes of wlan0 can be shared on p2p-dev-wlan0
jun 15 14:22:47 x1.localdomain wpa_supplicant[2195]: P2P-DEVICE-LOST p2p_dev_addr=12:62:e5:2e:fb:4e
jun 15 14:22:53 x1.localdomain wpa_supplicant[2195]: p2p-wlan0-4: AP-STA-DISCONNECTED d0:c0:bf:e7:6e:8f p2p_dev_addr=d0:c0:bf:e7:6e:8f
jun 15 14:22:53 x1.localdomain wpa_supplicant[2195]: AP-STA-DISCONNECTED d0:c0:bf:e7:6e:8f p2p_dev_addr=d0:c0:bf:e7:6e:8f
jun 15 14:22:57 x1.localdomain wpa_supplicant[2195]: P2P-DEVICE-LOST p2p_dev_addr=d0:c0:bf:e7:6e:8f
jun 15 14:22:57 x1.localdomain NetworkManager[2086]: <warn>  [1560604977.9573] device (p2p-dev-wlan0): Peer requested in connection is missing for too long, failing connection.
jun 15 14:22:57 x1.localdomain NetworkManager[2086]: <info>  [1560604977.9574] device (p2p-dev-wlan0): state change: activated -> failed (reason 'peer-not-found', sys-iface-state: 'managed')
jun 15 14:22:57 x1.localdomain NetworkManager[2086]: <warn>  [1560604977.9596] device (p2p-dev-wlan0): Activation: failed for connection 'Wi-Fi P2P Peer D0:C0:BF:E7:6E:8F'
jun 15 14:22:57 x1.localdomain NetworkManager[2086]: <info>  [1560604977.9627] device (p2p-dev-wlan0): state change: failed -> disconnected (reason 'none', sys-iface-state: 'managed')
jun 15 14:22:57 x1.localdomain wpa_supplicant[2195]: P2P-GROUP-REMOVED p2p-wlan0-4 GO reason=REQUESTED
jun 15 14:22:57 x1.localdomain wpa_supplicant[2195]: p2p-wlan0-4: interface state ENABLED->DISABLED
jun 15 14:22:57 x1.localdomain wpa_supplicant[2195]: p2p-wlan0-4: AP-DISABLED
jun 15 14:22:57 x1.localdomain avahi-daemon[1680]: Withdrawing address record for fe80::c56e:52e9:2073:d440 on p2p-wlan0-4.
jun 15 14:22:57 x1.localdomain avahi-daemon[1680]: Leaving mDNS multicast group on interface p2p-wlan0-4.IPv6 with address fe80::c56e:52e9:2073:d440.
jun 15 14:22:57 x1.localdomain NetworkManager[2086]: <info>  [1560604977.9693] Executing: /usr/sbin/iptables --table filter --delete FORWARD --destination 10.42.0.0/255.255.255.0 --out-interface p2p-wlan0-4 --match state --state ESTABLISHED,RELATED --jump ACCEPT
jun 15 14:22:57 x1.localdomain wpa_supplicant[2195]: p2p-wlan0-4: CTRL-EVENT-DISCONNECTED bssid=d4:3b:04:1d:3d:4c reason=3 locally_generated=1
jun 15 14:22:57 x1.localdomain avahi-daemon[1680]: Interface p2p-wlan0-4.IPv6 no longer relevant for mDNS.
jun 15 14:22:57 x1.localdomain avahi-daemon[1680]: Withdrawing address record for 10.42.0.1 on p2p-wlan0-4.
jun 15 14:22:57 x1.localdomain NetworkManager[2086]: <info>  [1560604977.9721] Executing: /usr/sbin/iptables --table filter --delete FORWARD --source 10.42.0.0/255.255.255.0 --in-interface p2p-wlan0-4 --jump ACCEPT
jun 15 14:22:57 x1.localdomain avahi-daemon[1680]: Leaving mDNS multicast group on interface p2p-wlan0-4.IPv4 with address 10.42.0.1.
jun 15 14:22:57 x1.localdomain avahi-daemon[1680]: Interface p2p-wlan0-4.IPv4 no longer relevant for mDNS.
jun 15 14:22:57 x1.localdomain NetworkManager[2086]: <info>  [1560604977.9745] Executing: /usr/sbin/iptables --table filter --delete FORWARD --in-interface p2p-wlan0-4 --out-interface p2p-wlan0-4 --jump ACCEPT
jun 15 14:22:57 x1.localdomain NetworkManager[2086]: <info>  [1560604977.9762] Executing: /usr/sbin/iptables --table filter --delete FORWARD --out-interface p2p-wlan0-4 --jump REJECT
jun 15 14:22:57 x1.localdomain nm-dispatcher[14700]: req:1 'down' [p2p-wlan0-4]: new request (4 scripts)
jun 15 14:22:57 x1.localdomain nm-dispatcher[14700]: req:1 'down' [p2p-wlan0-4]: start running ordered scripts...
jun 15 14:22:57 x1.localdomain NetworkManager[2086]: <info>  [1560604977.9785] Executing: /usr/sbin/iptables --table filter --delete FORWARD --in-interface p2p-wlan0-4 --jump REJECT
jun 15 14:22:57 x1.localdomain NetworkManager[2086]: <info>  [1560604977.9802] Executing: /usr/sbin/iptables --table filter --delete INPUT --in-interface p2p-wlan0-4 --protocol udp --destination-port 67 --jump ACCEPT
jun 15 14:22:57 x1.localdomain NetworkManager[2086]: <info>  [1560604977.9824] Executing: /usr/sbin/iptables --table filter --delete INPUT --in-interface p2p-wlan0-4 --protocol tcp --destination-port 67 --jump ACCEPT
jun 15 14:22:57 x1.localdomain wpa_supplicant[2195]: nl80211: deinit ifname=p2p-wlan0-4 disabled_11b_rates=1
jun 15 14:22:57 x1.localdomain NetworkManager[2086]: <info>  [1560604977.9842] Executing: /usr/sbin/iptables --table filter --delete INPUT --in-interface p2p-wlan0-4 --protocol udp --destination-port 53 --jump ACCEPT
jun 15 14:22:57 x1.localdomain NetworkManager[2086]: <info>  [1560604977.9861] Executing: /usr/sbin/iptables --table filter --delete INPUT --in-interface p2p-wlan0-4 --protocol tcp --destination-port 53 --jump ACCEPT
jun 15 14:22:57 x1.localdomain NetworkManager[2086]: <warn>  [1560604977.9880] sup-iface: failed to cancel p2p connect: P2P cancel failed
jun 15 14:22:57 x1.localdomain NetworkManager[2086]: <info>  [1560604977.9905] device (p2p-dev-wlan0): P2P Group supplicant interface state: ready -> down

error: too many arguments to function ‘nm_device_wifi_p2p_start_find’

I'm getting this error from Ninja on the latest Fedora 29, and all deps are apparently already installed.

[r@aragorn gnome-screencast]$ meson build
The Meson build system
Version: 0.49.2
Source dir: /home/r/gnome-screencast
Build dir: /home/r/gnome-screencast/build
Build type: native build
Project name: gnome-screencast
Project version: 0.1.0
Native C compiler: cc (gcc 8.2.1 "cc (GCC) 8.2.1 20181215 (Red Hat 8.2.1-6)")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Configuring gnome-screencast-config.h using configuration
Program desktop-file-validate found: YES (/usr/bin/desktop-file-validate)
Program appstream-util found: YES (/usr/bin/appstream-util)
Program glib-compile-schemas found: YES (/usr/bin/glib-compile-schemas)
Found pkg-config: /usr/bin/pkg-config (1.5.3)
Dependency gstreamer-video-1.0 found: YES 1.14.4
Dependency gstreamer-rtsp-1.0 found: YES 1.14.4
Dependency gstreamer-rtsp-server-1.0 found: YES 1.14.4
Dependency gio-2.0 found: YES 2.58.3
Dependency gtk+-3.0 found: YES 3.24.1
Dependency libnm found: YES 1.15.2
Dependency gstreamer-1.0 found: YES 1.14.4
Dependency libpulse-mainloop-glib found: YES 12.2-rebootstrapped
Program build-aux/meson/postinstall.py found: YES (/home/r/gnome-screencast/build-aux/meson/postinstall.py)
Build targets in project: 11
Found ninja-1.8.2 at /usr/bin/ninja

[r@aragorn gnome-screencast]$ cd build

[r@aragorn build]$ ninja

[3/33] Compiling C object 'src/wfd/b3fab4b@@wfd-server@sta/wfd-params.c.o'.
../src/wfd/wfd-params.c:11:22: warning: ‘params_m3_optional’ defined but not used [-Wunused-variable]
 static const gchar * params_m3_optional[] = {
                      ^~~~~~~~~~~~~~~~~~
[7/33] Compiling C object 'src/wfd/b3fab4b@@wfd-server@sta/wfd-media.c.o'.
../src/wfd/wfd-media.c:16:20: warning: ‘properties’ defined but not used [-Wunused-variable]
 static GParamSpec *properties[N_PROPS];
                    ^~~~~~~~~~
[8/33] Compiling C object 'src/wfd/b3fab4b@@wfd-server@sta/wfd-server.c.o'.
../src/wfd/wfd-server.c: In function ‘wfd_server_get_property’:
../src/wfd/wfd-server.c:55:14: warning: unused variable ‘self’ [-Wunused-variable]
   WfdServer *self = WFD_SERVER (object);
              ^~~~
../src/wfd/wfd-server.c: In function ‘wfd_server_set_property’:
../src/wfd/wfd-server.c:70:14: warning: unused variable ‘self’ [-Wunused-variable]
   WfdServer *self = WFD_SERVER (object);
              ^~~~
At top level:
../src/wfd/wfd-server.c:19:20: warning: ‘properties’ defined but not used [-Wunused-variable]
 static GParamSpec *properties[N_PROPS];
                    ^~~~~~~~~~
[9/33] Compiling C object 'src/wfd/b3f...wfd-server@sta/wfd-media-factory.c.o'.
../src/wfd/wfd-media-factory.c: In function ‘wfd_media_factory_construct’:
../src/wfd/wfd-media-factory.c:548:18: warning: variable ‘client’ set but not used [-Wunused-but-set-variable]
   GstRTSPClient *client;
                  ^~~~~~
../src/wfd/wfd-media-factory.c: In function ‘wfd_media_factory_finalize’:
../src/wfd/wfd-media-factory.c:573:20: warning: unused variable ‘self’ [-Wunused-variable]
   WfdMediaFactory *self = (WfdMediaFactory *) object;
                    ^~~~
../src/wfd/wfd-media-factory.c: In function ‘wfd_media_factory_get_property’:
../src/wfd/wfd-media-factory.c:584:20: warning: unused variable ‘self’ [-Wunused-variable]
   WfdMediaFactory *self = WFD_MEDIA_FACTORY (object);
                    ^~~~
../src/wfd/wfd-media-factory.c: In function ‘wfd_media_factory_set_property’:
../src/wfd/wfd-media-factory.c:599:20: warning: unused variable ‘self’ [-Wunused-variable]
   WfdMediaFactory *self = WFD_MEDIA_FACTORY (object);
                    ^~~~
At top level:
../src/wfd/wfd-media-factory.c:33:20: warning: ‘properties’ defined but not used [-Wunused-variable]
 static GParamSpec *properties[N_PROPS];
                    ^~~~~~~~~~
[10/33] Compiling C object 'src/wfd/b3fab4b@@wfd-server@sta/wfd-client.c.o'.
../src/wfd/wfd-client.c: In function ‘wfd_client_get_property’:
../src/wfd/wfd-client.c:81:14: warning: unused variable ‘self’ [-Wunused-variable]
   WfdClient *self = WFD_CLIENT (object);
              ^~~~
../src/wfd/wfd-client.c: In function ‘wfd_client_set_property’:
../src/wfd/wfd-client.c:96:14: warning: unused variable ‘self’ [-Wunused-variable]
   WfdClient *self = WFD_CLIENT (object);
              ^~~~
../src/wfd/wfd-client.c: In function ‘wfd_client_make_path_from_uri’:
../src/wfd/wfd-client.c:371:27: warning: comparison between ‘GstRTSPMsgType’ {aka ‘enum <anonymous>’} and ‘enum <anonymous>’ [-Wenum-compare]
       (ctx->request->type != GST_RTSP_PLAY ||
                           ^~
../src/wfd/wfd-client.c:372:27: warning: comparison between ‘GstRTSPMsgType’ {aka ‘enum <anonymous>’} and ‘enum <anonymous>’ [-Wenum-compare]
        ctx->request->type != GST_RTSP_PAUSE))
                           ^~
At top level:
../src/wfd/wfd-client.c:38:20: warning: ‘properties’ defined but not used [-Wunused-variable]
 static GParamSpec *properties[N_PROPS];
                    ^~~~~~~~~~
[25/33] Compiling C object 'src/25a663...screencast@exe/screencast-portal.c.o'.
../src/screencast-portal.c: In function ‘screencast_portal_get_property’:
../src/screencast-portal.c:469:21: warning: unused variable ‘self’ [-Wunused-variable]
   ScreencastPortal *self = SCREENCAST_PORTAL (object);
                     ^~~~
../src/screencast-portal.c: In function ‘screencast_portal_set_property’:
../src/screencast-portal.c:484:21: warning: unused variable ‘self’ [-Wunused-variable]
   ScreencastPortal *self = SCREENCAST_PORTAL (object);
                     ^~~~
At top level:
../src/screencast-portal.c:40:20: warning: ‘properties’ defined but not used [-Wunused-variable]
 static GParamSpec *properties[N_PROPS];
                    ^~~~~~~~~~
[29/33] Compiling C object 'src/25a663...encast@exe/screencast-pulseaudio.c.o'.
../src/screencast-pulseaudio.c: In function ‘screencast_pulseaudio_get_property’:
../src/screencast-pulseaudio.c:304:25: warning: unused variable ‘self’ [-Wunused-variable]
   ScreencastPulseaudio *self = SCREENCAST_PULSEAUDIO (object);
                         ^~~~
../src/screencast-pulseaudio.c: In function ‘screencast_pulseaudio_set_property’:
../src/screencast-pulseaudio.c:319:25: warning: unused variable ‘self’ [-Wunused-variable]
   ScreencastPulseaudio *self = SCREENCAST_PULSEAUDIO (object);
                         ^~~~
At top level:
../src/screencast-pulseaudio.c:44:20: warning: ‘properties’ defined but not used [-Wunused-variable]
 static GParamSpec *properties[N_PROPS];
                    ^~~~~~~~~~
[30/33] Compiling C object 'src/25a663...@exe/screencast-wfd-p2p-provider.c.o'.
FAILED: src/25a6634@@gnome-screencast@exe/screencast-wfd-p2p-provider.c.o 
cc -Isrc/25a6634@@gnome-screencast@exe -Isrc -I../src -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/libdrm -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/libnm -I/usr/include/gstreamer-1.0 -I/usr/include/orc-0.4 -I/home/r/gnome-screencast/build -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -pthread -D_REENTRANT  -MD -MQ 'src/25a6634@@gnome-screencast@exe/screencast-wfd-p2p-provider.c.o' -MF 'src/25a6634@@gnome-screencast@exe/screencast-wfd-p2p-provider.c.o.d' -o 'src/25a6634@@gnome-screencast@exe/screencast-wfd-p2p-provider.c.o' -c ../src/screencast-wfd-p2p-provider.c
../src/screencast-wfd-p2p-provider.c: In function ‘device_restart_find_timeout’:
../src/screencast-wfd-p2p-provider.c:128:3: error: too many arguments to function ‘nm_device_wifi_p2p_start_find’
   nm_device_wifi_p2p_start_find (NM_DEVICE_WIFI_P2P (provider->nm_device), NULL, NULL, NULL, NULL);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libnm/NetworkManager.h:54,
                 from ../src/screencast-wfd-p2p-provider.h:21,
                 from ../src/screencast-wfd-p2p-provider.c:20:
/usr/include/libnm/nm-device-wifi-p2p.h:62:26: note: declared here
 void                     nm_device_wifi_p2p_start_find        (NMDeviceWifiP2P     *device,
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/screencast-wfd-p2p-provider.c: In function ‘screencast_wfd_p2p_provider_set_property’:
../src/screencast-wfd-p2p-provider.c:167:11: error: too many arguments to function ‘nm_device_wifi_p2p_start_find’
           nm_device_wifi_p2p_start_find (NM_DEVICE_WIFI_P2P (provider->nm_device), NULL, NULL, NULL, NULL);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libnm/NetworkManager.h:54,
                 from ../src/screencast-wfd-p2p-provider.h:21,
                 from ../src/screencast-wfd-p2p-provider.c:20:
/usr/include/libnm/nm-device-wifi-p2p.h:62:26: note: declared here
 void                     nm_device_wifi_p2p_start_find        (NMDeviceWifiP2P     *device,
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/screencast-wfd-p2p-provider.c:183:11: error: too many arguments to function ‘nm_device_wifi_p2p_start_find’
           nm_device_wifi_p2p_start_find (NM_DEVICE_WIFI_P2P (provider->nm_device), NULL, NULL, NULL, NULL);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/libnm/NetworkManager.h:54,
                 from ../src/screencast-wfd-p2p-provider.h:21,
                 from ../src/screencast-wfd-p2p-provider.c:20:
/usr/include/libnm/nm-device-wifi-p2p.h:62:26: note: declared here
 void                     nm_device_wifi_p2p_start_find        (NMDeviceWifiP2P     *device,
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[32/33] Compiling C object 'src/25a663...cast@exe/screencast-wfd-p2p-sink.c.o'.
ninja: build stopped: subcommand failed.

packets drop even with the dummy sink

Unable to stream even to the dummy display.
After running gnome-network-displays with NETWORK_DISPLAYS_DUMMY=1 and G_MESSAGES_DEBUG=all, I get the following log after selecting the dummy display and connecting to the rtsp server using vlc.

(gnome-network-displays:24467): GLib-GIO-DEBUG: 15:40:48.460: _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
(gnome-network-displays:24467): Gtk-DEBUG: 15:40:48.485: Connecting to session manager
** (gnome-network-displays:24467): DEBUG: 15:40:48.507: Adding dummy provider
** (gnome-network-displays:24467): DEBUG: 15:40:48.507: SinkList: Adding a sink
** (gnome-network-displays:24467): DEBUG: 15:40:48.538: WFDP2PRegistry: Found a new device, creating provider
** (gnome-network-displays:24467): DEBUG: 15:40:48.538: WFDP2PProvider: Found a new sink with peer 0x232d090 on device 0x27bbf80
** (gnome-network-displays:24467): DEBUG: 15:40:48.538: WfdP2PProvider: Discover is now set to 1
** (gnome-network-displays:24467): DEBUG: 15:40:48.538: SinkList: Adding a sink
** (gnome-network-displays:24467): DEBUG: 15:40:48.539: NdScreencastPortal: Aquired Portal proxy
** (gnome-network-displays:24467): DEBUG: 15:40:48.539: task is: 0x2758190
** (gnome-network-displays:24467): DEBUG: 15:40:48.540: WFDP2PRegistry: Got NMClient
** (gnome-network-displays:24467): DEBUG: 15:40:48.540: NdPulseaudio: Querying sink info by name
** (gnome-network-displays:24467): DEBUG: 15:40:48.540: NdPulseaudio: Error querying sink info
** (gnome-network-displays:24467): DEBUG: 15:40:48.540: NdPulseaudio: Got a sink info for the expected name
** (gnome-network-displays:24467): DEBUG: 15:40:48.541: NdScreencastPortal: Received CreateSession response
** (gnome-network-displays:24467): DEBUG: 15:40:48.541: simple variant lookup: /org/freedesktop/portal/desktop/session/1_175/gtk469611202
** (gnome-network-displays:24467): DEBUG: 15:40:48.542: NdScreencastPortal: Received SelectSource response
** (gnome-network-displays:24467): DEBUG: 15:40:51.975: NdScreencastPortal: Received Start response
** (gnome-network-displays:24467): DEBUG: 15:40:51.975: Got a stream with node ID: 11
** (gnome-network-displays:24467): DEBUG: 15:40:53.144: Found openh264enc for video encoding.
** (gnome-network-displays:24467): DEBUG: 15:40:53.144: Found x264enc for video encoding.
** (gnome-network-displays:24467): DEBUG: 15:40:53.144: Found fdkaacenc for audio encoding.
** (gnome-network-displays:24467): DEBUG: 15:40:53.144: Found faac for audio encoding.
** (gnome-network-displays:24467): DEBUG: 15:40:53.144: Found openh264enc for video encoding.
** (gnome-network-displays:24467): DEBUG: 15:40:53.144: Found x264enc for video encoding.
** (gnome-network-displays:24467): DEBUG: 15:40:53.145: Found fdkaacenc for audio encoding.
** (gnome-network-displays:24467): DEBUG: 15:40:53.145: Found faac for audio encoding.
** (gnome-network-displays:24467): DEBUG: 15:40:53.145: NdDummyWFDSink: You should now be able to connect to rtsp://localhost:7236/wfd1.0
** (gnome-network-displays:24467): DEBUG: 15:40:53.146: Got state change notification from streaming sink to state ND_SINK_STATE_WAIT_SOCKET
** (gnome-network-displays:24467): DEBUG: 15:40:53.147: WfdP2PProvider: Discover is now set to 0
** (gnome-network-displays:24467): DEBUG: 15:41:12.987: NdWfdP2PSink: Got client connection
** (gnome-network-displays:24467): DEBUG: 15:41:12.987: Got state change notification from streaming sink to state ND_SINK_STATE_WAIT_STREAMING

** (gnome-network-displays:24467): WARNING **: 15:41:12.988: WfdClient: Got OPTIONS before getting reply querying WFD support; assuming normal RTSP connection.
** (gnome-network-displays:24467): DEBUG: 15:41:12.989: use x11: 0
** (gnome-network-displays:24467): DEBUG: 15:41:13.040: WfdMedia init: Got 1 streams
** (gnome-network-displays:24467): DEBUG: 15:41:15.073: QOS: proportion: 0.500, processed: 1, dropped: 1
** (gnome-network-displays:24467): DEBUG: 15:41:15.076: QOS: proportion: 0.500, processed: 1, dropped: 2
** (gnome-network-displays:24467): DEBUG: 15:41:15.079: QOS: proportion: 0.500, processed: 1, dropped: 3
** (gnome-network-displays:24467): DEBUG: 15:41:15.081: QOS: proportion: 0.500, processed: 1, dropped: 4
** (gnome-network-displays:24467): DEBUG: 15:41:15.085: QOS: proportion: 0.500, processed: 1, dropped: 5
** (gnome-network-displays:24467): DEBUG: 15:41:15.088: QOS: proportion: 0.500, processed: 1, dropped: 6
** (gnome-network-displays:24467): DEBUG: 15:41:15.092: QOS: proportion: 0.500, processed: 1, dropped: 7
** (gnome-network-displays:24467): DEBUG: 15:41:15.097: QOS: proportion: 0.500, processed: 1, dropped: 8
** (gnome-network-displays:24467): DEBUG: 15:41:15.102: QOS: proportion: 0.500, processed: 1, dropped: 9
** (gnome-network-displays:24467): DEBUG: 15:41:15.107: QOS: proportion: 0.500, processed: 1, dropped: 10
** (gnome-network-displays:24467): DEBUG: 15:41:15.110: QOS: proportion: 0.500, processed: 1, dropped: 11
** (gnome-network-displays:24467): DEBUG: 15:41:15.113: QOS: proportion: 0.500, processed: 1, dropped: 12
** (gnome-network-displays:24467): DEBUG: 15:41:15.116: QOS: proportion: 0.500, processed: 1, dropped: 13
** (gnome-network-displays:24467): DEBUG: 15:41:15.120: QOS: proportion: 0.500, processed: 1, dropped: 14
** (gnome-network-displays:24467): DEBUG: 15:41:15.124: QOS: proportion: 0.500, processed: 1, dropped: 15
** (gnome-network-displays:24467): DEBUG: 15:41:15.127: QOS: proportion: 0.500, processed: 1, dropped: 16
** (gnome-network-displays:24467): DEBUG: 15:41:15.130: QOS: proportion: 0.500, processed: 1, dropped: 17
** (gnome-network-displays:24467): DEBUG: 15:41:15.133: QOS: proportion: 0.500, processed: 1, dropped: 18
** (gnome-network-displays:24467): DEBUG: 15:41:15.138: QOS: proportion: 0.500, processed: 1, dropped: 19
** (gnome-network-displays:24467): DEBUG: 15:41:15.138: QOS: proportion: 0.500, processed: 1, dropped: 20
** (gnome-network-displays:24467): DEBUG: 15:41:15.141: QOS: proportion: 0.500, processed: 1, dropped: 21
** (gnome-network-displays:24467): DEBUG: 15:41:15.143: QOS: proportion: 0.500, processed: 1, dropped: 22
** (gnome-network-displays:24467): DEBUG: 15:41:15.146: QOS: proportion: 0.500, processed: 1, dropped: 23
** (gnome-network-displays:24467): DEBUG: 15:41:15.148: QOS: proportion: 0.500, processed: 1, dropped: 24
** (gnome-network-displays:24467): DEBUG: 15:41:15.150: QOS: proportion: 0.500, processed: 1, dropped: 25
** (gnome-network-displays:24467): DEBUG: 15:41:15.152: QOS: proportion: 0.500, processed: 1, dropped: 26
** (gnome-network-displays:24467): DEBUG: 15:41:15.154: QOS: proportion: 0.500, processed: 1, dropped: 27
** (gnome-network-displays:24467): DEBUG: 15:41:15.156: QOS: proportion: 0.500, processed: 1, dropped: 28
** (gnome-network-displays:24467): DEBUG: 15:41:15.157: QOS: proportion: 0.500, processed: 1, dropped: 29
** (gnome-network-displays:24467): DEBUG: 15:41:15.159: QOS: proportion: 0.500, processed: 1, dropped: 30
** (gnome-network-displays:24467): DEBUG: 15:41:15.167: QOS: proportion: 0.500, processed: 1, dropped: 31
** (gnome-network-displays:24467): DEBUG: 15:41:15.167: QOS: proportion: 0.500, processed: 1, dropped: 32
** (gnome-network-displays:24467): DEBUG: 15:41:15.167: QOS: proportion: 0.500, processed: 1, dropped: 33
** (gnome-network-displays:24467): DEBUG: 15:41:15.167: QOS: proportion: 0.500, processed: 1, dropped: 34
** (gnome-network-displays:24467): DEBUG: 15:41:15.167: QOS: proportion: 0.500, processed: 1, dropped: 35
** (gnome-network-displays:24467): DEBUG: 15:41:15.167: QOS: proportion: 0.500, processed: 1, dropped: 36
** (gnome-network-displays:24467): DEBUG: 15:41:15.167: QOS: proportion: 0.500, processed: 1, dropped: 37
** (gnome-network-displays:24467): DEBUG: 15:41:15.167: QOS: proportion: 0.500, processed: 1, dropped: 38
** (gnome-network-displays:24467): DEBUG: 15:41:15.167: QOS: proportion: 0.500, processed: 1, dropped: 39
** (gnome-network-displays:24467): DEBUG: 15:41:15.169: QOS: proportion: 0.500, processed: 1, dropped: 40
** (gnome-network-displays:24467): DEBUG: 15:41:15.173: QOS: proportion: 0.500, processed: 1, dropped: 41
** (gnome-network-displays:24467): DEBUG: 15:41:15.175: QOS: proportion: 0.500, processed: 1, dropped: 42
** (gnome-network-displays:24467): DEBUG: 15:41:15.176: QOS: proportion: 0.500, processed: 1, dropped: 43
** (gnome-network-displays:24467): DEBUG: 15:41:15.176: QOS: proportion: 0.500, processed: 1, dropped: 44
** (gnome-network-displays:24467): DEBUG: 15:41:15.177: QOS: proportion: 0.500, processed: 1, dropped: 45
** (gnome-network-displays:24467): DEBUG: 15:41:15.192: QOS: proportion: 0.500, processed: 1, dropped: 46
** (gnome-network-displays:24467): DEBUG: 15:41:15.193: QOS: proportion: 0.500, processed: 1, dropped: 47
** (gnome-network-displays:24467): DEBUG: 15:41:15.202: QOS: proportion: 0.500, processed: 1, dropped: 48
** (gnome-network-displays:24467): DEBUG: 15:41:15.204: QOS: proportion: 0.500, processed: 1, dropped: 49
** (gnome-network-displays:24467): DEBUG: 15:41:15.208: QOS: proportion: 0.500, processed: 1, dropped: 50
** (gnome-network-displays:24467): DEBUG: 15:41:15.211: QOS: proportion: 0.500, processed: 1, dropped: 51
** (gnome-network-displays:24467): DEBUG: 15:41:15.211: QOS: proportion: 0.500, processed: 1, dropped: 52
** (gnome-network-displays:24467): DEBUG: 15:41:15.219: QOS: proportion: 0.500, processed: 1, dropped: 53
** (gnome-network-displays:24467): DEBUG: 15:41:15.221: QOS: proportion: 0.500, processed: 1, dropped: 54
** (gnome-network-displays:24467): DEBUG: 15:41:15.232: QOS: proportion: 0.500, processed: 1, dropped: 55
** (gnome-network-displays:24467): DEBUG: 15:41:15.232: QOS: proportion: 0.500, processed: 1, dropped: 56
** (gnome-network-displays:24467): DEBUG: 15:41:15.235: QOS: proportion: 0.500, processed: 1, dropped: 57
** (gnome-network-displays:24467): DEBUG: 15:41:15.240: QOS: proportion: 0.500, processed: 1, dropped: 58
** (gnome-network-displays:24467): DEBUG: 15:41:15.251: An audiocodec has been selected: yes
[E][connection.c:513 pw_protocol_native_connection_flush()] could not sendmsg: Destination address required
** (gnome-network-displays:24467): DEBUG: 15:41:28.520: WFDP2PProvider: Peer removed
** (gnome-network-displays:24467): DEBUG: 15:41:28.521: MetaSink: No usable sink is left, object has become invalid.
** (gnome-network-displays:24467): DEBUG: 15:41:28.521: SinkList: Removing a sink
** (gnome-network-displays:24467): DEBUG: 15:41:40.181: WfdClient: Doing keep-alive

Not sure what's causing the problem. The log mentions that it found the video and audio codecs.
Running on Fedora 30. I am aware multiple displays could cause a problem, but I have the same result even after disabling(and removing) the other monitors. Please let me know if you need the output of any other logs.

package x264 is not recognized as an encoder on Arch Linux

** (gnome-network-displays:23400): ERROR **: 21:24:32.263: WFD: Did not find any usable H264 video encoder, missing dependencies!
[0] % pacman -Q x264       
x264 2:157.r72db4377-1


[133] % pacman -Ql x264                   
x264 /usr/
x264 /usr/bin/
x264 /usr/bin/x264
x264 /usr/include/
x264 /usr/include/x264.h
x264 /usr/include/x264_config.h
x264 /usr/lib/
x264 /usr/lib/libx264.so
x264 /usr/lib/libx264.so.157
x264 /usr/lib/pkgconfig/
x264 /usr/lib/pkgconfig/x264.pc

I've 'x264' installed, why would screencast possibly tell me it won't find an encoder? Tried on a laptop using both the intel GPU and AMD GPU with the same result.

Gnome-screencast crash

After connecting to the tv the application crash with the following messages:

** (gnome-screencast:3347): WARNING **: 10:11:11.347: WfdClient: No resolution found, falling back to standard FullHD resolution.

(gnome-screencast:3347): GStreamer-CRITICAL **: 10:11:11.421: gst_bin_add: assertion 'GST_IS_ELEMENT (element)' failed

(gnome-screencast:3347): GLib-GObject-CRITICAL **: 10:11:11.421: g_object_set: assertion 'G_IS_OBJECT (object)' failed

(gnome-screencast:3347): GLib-GObject-CRITICAL **: 10:11:11.421: g_object_set_data: assertion 'G_IS_OBJECT (object)' failed

** (gnome-screencast:3347): ERROR **: 10:11:11.464: WfdMediaFactory: Error creating encoding pipeline. If gstreamer is compiled with debugging and GST_DEBUG_DUMP_DOT_DIR is set, then the pipeline will have been dumped.

Chromecast support

It would be nice to support other devices and not only Miracast (revision 1).

One such device that a lot of users at home would likely benefit from is the Chromecast. An implementation is available in VLC.

In principle it looks like the following is needed:

  • Implement a stream that can be downloaded via HTTP from our machine (i.e. we need a simple "HTTP server" that is able to serve the stream as one large "file". We can probably use the same codecs as for WFD, but we'll need a different container.
  • Implement discovery of chromecasts (using avahi)
  • Implement the command and control required to start/stop/restart streaming on the chromecast

Streaming freezes after a few seconds

I have tried with both the Screencast portal and the X11 interface, it streams successfully for a few seconds (albeit it lags a lot, whereas streaming from my phone is pretty smooth). After like 20-30 seconds my TV simply gets stuck on one frame (at least that's what I see). There are no errors/warnings in the output with the Screencast portal, except that audio can't be recorded fast enough. Tell me if I can provide any more information or how I can debug it, I find the project super cool :)

Virtual Screens?

It would be interesting to have the option to instead of casting the contents of the existing screen, to create a new virtual screen to be casted.

This would be useful for presentations and also cases where people have niche screen sizes, like ultrawidescreen monitors.

Destination address required

I basically get the same as #37. However I have installed the latest git version. The stick I'm trying to connect to is a microsoft miracast stick. I don't know what the exact name of that thing is. It just says Wireless Display Adapter on the side, but its some years old by now.

Debug Log:

(gnome-network-displays:13029): GLib-GIO-DEBUG: 22:15:33.555: _g_io_module_get_default: Found default implementation gvfs (GDaemonVfs) for ‘gio-vfs’
(gnome-network-displays:13029): Gtk-DEBUG: 22:15:33.578: Connecting to session manager
** (gnome-network-displays:13029): DEBUG: 22:15:33.634: WFDP2PRegistry: Found a new device, creating provider
** (gnome-network-displays:13029): DEBUG: 22:15:33.634: WfdP2PProvider: Discover is now set to 1
** (gnome-network-displays:13029): DEBUG: 22:15:33.636: NdScreencastPortal: Aquired Portal proxy
** (gnome-network-displays:13029): DEBUG: 22:15:33.636: task is: 0x5565f84743f0
** (gnome-network-displays:13029): DEBUG: 22:15:33.642: NdScreencastPortal: Received CreateSession response
** (gnome-network-displays:13029): DEBUG: 22:15:33.642: simple variant lookup: /org/freedesktop/portal/desktop/session/1_135/gtk1099756116
** (gnome-network-displays:13029): DEBUG: 22:15:33.642: WFDP2PRegistry: Got NMClient
** (gnome-network-displays:13029): DEBUG: 22:15:33.645: NdScreencastPortal: Received SelectSource response
** (gnome-network-displays:13029): DEBUG: 22:15:33.645: NdPulseaudio: Querying sink info by name
** (gnome-network-displays:13029): DEBUG: 22:15:33.645: NdPulseaudio: Error querying sink info
** (gnome-network-displays:13029): DEBUG: 22:15:33.646: NdPulseaudio: Got a sink info for the expected name
** (gnome-network-displays:13029): DEBUG: 22:15:36.341: NdScreencastPortal: Received Start response
** (gnome-network-displays:13029): DEBUG: 22:15:36.341: Got a stream with node ID: 17
** (gnome-network-displays:13029): DEBUG: 22:15:37.939: WFDP2PProvider: Found a new sink with peer 0x5565f84bb420 on device 0x5565f84c1f90
** (gnome-network-displays:13029): DEBUG: 22:15:37.939: SinkList: Adding a sink
** (gnome-network-displays:13029): DEBUG: 22:15:42.537: Found x264enc for video encoding.
** (gnome-network-displays:13029): DEBUG: 22:15:42.537: Found vaapih264enc for video encoding.
** (gnome-network-displays:13029): DEBUG: 22:15:42.537: Found fdkaacenc for audio encoding.
** (gnome-network-displays:13029): DEBUG: 22:15:42.537: Found faac for audio encoding.
** (gnome-network-displays:13029): DEBUG: 22:15:42.537: Got state change notification from streaming sink to state ND_SINK_STATE_WAIT_P2P
** (gnome-network-displays:13029): DEBUG: 22:15:42.538: WfdP2PProvider: Discover is now set to 0
** (gnome-network-displays:13029): DEBUG: 22:15:42.554: NdWfdP2PSink: Got P2P connection
** (gnome-network-displays:13029): DEBUG: 22:15:42.554: Found x264enc for video encoding.
** (gnome-network-displays:13029): DEBUG: 22:15:42.554: Found vaapih264enc for video encoding.
** (gnome-network-displays:13029): DEBUG: 22:15:42.554: Found fdkaacenc for audio encoding.
** (gnome-network-displays:13029): DEBUG: 22:15:42.554: Found faac for audio encoding.
** (gnome-network-displays:13029): DEBUG: 22:15:42.555: Got state change notification from streaming sink to state ND_SINK_STATE_WAIT_SOCKET
** (gnome-network-displays:13029): DEBUG: 22:15:53.242: NdWfdP2PSink: Got client connection
** (gnome-network-displays:13029): DEBUG: 22:15:53.242: Got state change notification from streaming sink to state ND_SINK_STATE_WAIT_STREAMING
** (gnome-network-displays:13029): DEBUG: 22:15:53.746: WfdClient: OPTIONS querying done
** (gnome-network-displays:13029): DEBUG: 22:15:53.747: WFD query params
** (gnome-network-displays:13029): DEBUG: 22:15:53.808: WfdClient: GET_PARAMS done
** (gnome-network-displays:13029): DEBUG: 22:15:53.809: Add audio codec to params:
** (gnome-network-displays:13029): DEBUG: 22:15:53.809: WfdAudioCodec: LPCM, 15, latency: 0
** (gnome-network-displays:13029): DEBUG: 22:15:53.809: Add audio codec to params:
** (gnome-network-displays:13029): DEBUG: 22:15:53.809: WfdAudioCodec: AAC, 7, latency: 0
** (gnome-network-displays:13029): DEBUG: 22:15:53.809: Add audio codec to params:
** (gnome-network-displays:13029): DEBUG: 22:15:53.809: WfdAudioCodec: AC3, 0, latency: 0
** (gnome-network-displays:13029): DEBUG: 22:15:53.809: Add codec to params:
** (gnome-network-displays:13029): DEBUG: 22:15:53.809: WfdVideoCodec:
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * profile: 2
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * level: 4
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * native: 1920x1080 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809: Supported resolutions:
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 800x480 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 800x480 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 854x480 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 854x480 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 864x480 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 864x480 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 640x360 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 640x360 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 960x540 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 960x540 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 848x480 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 848x480 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 640x480 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 720x480 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 720x576 50p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 1280x720 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 1280x720 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 1920x1080 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 1290x720 25p
** (gnome-network-displays:13029): DEBUG: 22:15:53.809:  * 1280x720 50p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1920x1080 25p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1280x720 24p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1920x1080 25p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 800x600 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 800x600 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1024x768 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1024x768 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1152x864 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1152x864 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1280x768 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1280x768 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1280x800 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1280x800 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1360x768 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1360x768 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1366x768 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1366x768 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1280x1024 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1440x900 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1440x900 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1600x900 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1600x900 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1680x1024 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 1680x1050 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810: Add codec to params:
** (gnome-network-displays:13029): DEBUG: 22:15:53.810: WfdVideoCodec:
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * profile: 1
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * level: 4
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * native: 1920x1080 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810: Supported resolutions:
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 800x480 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 800x480 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 854x480 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 854x480 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 864x480 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 864x480 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.810:  * 640x360 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 640x360 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 960x540 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 960x540 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 848x480 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 848x480 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 640x480 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 720x480 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 720x576 50p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1280x720 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1280x720 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1920x1080 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1290x720 25p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1280x720 50p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1920x1080 25p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1280x720 24p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1920x1080 25p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 800x600 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 800x600 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1024x768 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1024x768 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1152x864 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1152x864 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1280x768 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1280x768 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1280x800 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1280x800 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1360x768 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1360x768 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1366x768 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1366x768 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1280x1024 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1440x900 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1440x900 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1600x900 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1600x900 60p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1680x1024 30p
** (gnome-network-displays:13029): DEBUG: 22:15:53.811:  * 1680x1050 30p

** (gnome-network-displays:13029): WARNING **: 22:15:53.812: WfdClient: No resolution found, falling back to standard FullHD resolution.
** (gnome-network-displays:13029): DEBUG: 22:15:53.812: selected resolution 1920, 1080 @30
** (gnome-network-displays:13029): DEBUG: 22:15:53.817: WfdClient: SET_PARAMS done
** (gnome-network-displays:13029): DEBUG: 22:15:53.823: WfdClient: Initialization done!
** (gnome-network-displays:13029): DEBUG: 22:15:53.824: use x11: 0
** (gnome-network-displays:13029): DEBUG: 22:15:53.884: WfdMedia init: Got 1 streams
** (gnome-network-displays:13029): DEBUG: 22:15:53.972: An audiocodec has been selected: yes
[E][connection.c:513 pw_protocol_native_connection_flush()] could not sendmsg: Destination address required
** (gnome-network-displays:13029): DEBUG: 22:16:14.839: MetaSink: No usable sink is left, object has become invalid.

(gnome-network-displays:13029): GLib-GObject-CRITICAL **: 22:16:14.839: g_binding_unbind: assertion 'G_IS_BINDING (binding)' failed

(gnome-network-displays:13029): GLib-GObject-CRITICAL **: 22:16:14.839: g_binding_unbind: assertion 'G_IS_BINDING (binding)' failed

(gnome-network-displays:13029): GLib-GObject-CRITICAL **: 22:16:14.839: g_binding_unbind: assertion 'G_IS_BINDING (binding)' failed

(gnome-network-displays:13029): GLib-GObject-CRITICAL **: 22:16:14.839: g_binding_unbind: assertion 'G_IS_BINDING (binding)' failed

LG webOS failure to connect

webOS TV Version: 4.5.0-39120 (goldilocks2-grandcanyon)
Fedora 30 with COPR.

Permissions requested on TV and connection attempts to be made:

"XXXXX requests screen sharing to your TV."

"Unable to connect with Screen Share. Try again."

Logs from G_MESSAGES_DEBUG=all gnome-network-displays: gnome-network-displays.log

Notable from logs:

** (gnome-network-displays:25873): DEBUG: 18:11:18.284: Got state change notification from streaming sink to state ND_SINK_STATE_WAIT_SOCKET
** (gnome-network-displays:25873): DEBUG: 18:11:26.930: WFDP2PProvider: Peer removed
** (gnome-network-displays:25873): DEBUG: 18:11:26.930: MetaSink: No usable sink is left, object has become invalid.
** (gnome-network-displays:25873): DEBUG: 18:11:26.930: SinkList: Removing a sink
** (gnome-network-displays:25873): DEBUG: 18:11:29.879: WfdServer: Finalize
** (gnome-network-displays:25873): DEBUG: 18:11:29.879: Got state change notification from streaming sink to state ND_SINK_STATE_ERROR

Note: I had a compatible audio codec installed, but removed it in an attempt to isolate the issue. The logs are from when the audio codec was not available (which does not appear to limit the function)

Thanks for putting this together, it feels like we are very close!!!

This appears to be different than #30 as the error mentioned pipeline creation (which is not visible in my logs)

App Icon

As discussed on IRC, here's the app icon I've been playing with:

image

This would work for all the generic new app names proposed in #22, but if the name ends up changing, I can try something else.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.