| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
This reverts commit fbe26534e14c48481d578da6908d47a53915b77b.
The commit introduced a crash.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the PipeWire registry object is destroyed when
discover_node_factory_sync finishes its functionality. This causes
registry events to not be delivered to the global_removed_cb and
global_added_cb callbacks after discover_node_factory_sync, breaking
the functionality of the
org.freedesktop.portal.Camera.IsCameraPresent property in case of
camera device hot(un)plug.
This changes the discover_node_factory_sync function to store the
registry in the PipeWireRemote structure and destroy it in
pipewire_remote_destroy.
|
|
|
|
|
|
|
|
|
|
| |
This ensures the portal itself can still start successfully (albeit with
reduced abilities) if PipeWire itself is non-functional.
The most recent case I am aware of where this caused problems was a
friend's system that was upgraded to F35 but had leftover, old PipeWire
configuration files, causing PipeWire's startup to fail and thus
xdg-desktop-portal's startup timeout.
|
| |
|
|
|
|
|
|
| |
This will be true if there are any cameras, or false if there are none.
It requires a PipeWire connection. PipeWire termination are currently
not handled.
|
|
|
|
|
| |
We will need to know the parents of globals to properly set up
permissions.
|
|
|
|
| |
We'll still use it after finding the node factory.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Starting with version 0.2.6, the PipeWire daemon expects certain
properties to be set when opened by the portal, specifically
pipewire.access.portal.app_id, set to the application ID or an empty
string if unavailable, and pipewire.access.portal.media_roles, set to a
comma seperated list of media roles the PipeWire daemon should query the
portal for permissions. Media roles not present in the role list keep
their permission set by the portal before handing it over to the
application.
For the screen cast, no media roles are to be queried, as permissions
are setup up front.
|
|
|
|
| |
So that it can be used again elsewhere.
|
|
So that it can be reused outside of the screen-cast code.
|