emersion / xdg-desktop-portal-wlr

xdg-desktop-portal backend for wlroots
MIT License
591 stars 56 forks source link

Wireplumber interaction fails due of stream wrong id #168

Closed thuck closed 2 years ago

thuck commented 2 years ago

Screenshare is not working when using wireplumber instead of media-session.
After the investigation with the wireplumber devs 87; looks like the problem is the ID provided by wlr.
There is a closed issue here #97 about this problem, but rolling back to media-session won't be an option in the future.

From the dev of wireplumber: right, this confirms it. 4294967295 is practically -1 wrapping around in an unsigned 32-bit integer, so the node id that is sent over D-Bus from the wlr portal to the script is in fact invalid.

columbarius commented 2 years ago

Could you try it with xdpw build from master, please? 5f5a29ccfdbd24e7efd874eb8317fb01e908a301 should have fixed that.

thuck commented 2 years ago

@columbarius just tested, it works fine using the master:

session /org/freedesktop/portal/desktop/session/1_3620/u1 created
sources selected
streams:
stream 114
emersion commented 2 years ago

Closing since this is fixed in master.

616b2f commented 2 years ago

@emersion is there any timeline when this fix is released or hotfixed maybe? Because fedora 35 uses wireplumber now and screencasting does not work with the current release version

columbarius commented 2 years ago

Fedora has already backported that change. It's probably in testing. https://src.fedoraproject.org/rpms/xdg-desktop-portal-wlr/commits/rawhide

emersion commented 2 years ago

Released a new version with the fix: https://github.com/emersion/xdg-desktop-portal-wlr/releases/tag/v0.5.0