summaryrefslogtreecommitdiff
path: root/src/pipewire.h
Commit message (Collapse)AuthorAge
* Revert "pipewire: Destroy registry object with remote"Georges Basile Stavracas Neto2021-12-22
| | | | | | This reverts commit fbe26534e14c48481d578da6908d47a53915b77b. The commit introduced a crash.
* pipewire: Destroy registry object with remotemsizanoen12021-11-18
| | | | | | | | | | | | | | 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.
* pipewire: Ensure roundtrips have a timeoutRyan Gonzalez2021-09-15
| | | | | | | | | | 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.
* PipeWire: update to 0.3 APIWim Taymans2020-02-18
|
* camera: Add IsCameraPresent propertyJonas Ådahl2019-05-22
| | | | | | 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.
* pipewire: Keep track of the globals treeJonas Ådahl2019-05-22
| | | | | We will need to know the parents of globals to properly set up permissions.
* pipewire: Put registry listener in heapJonas Ådahl2019-05-22
| | | | We'll still use it after finding the node factory.
* screen-cast: Set pipewire.access.portal.* propertiesJonas Ådahl2019-05-22
| | | | | | | | | | | | | | 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.
* pipewire: Generalize round trippingJonas Ådahl2019-05-06
| | | | So that it can be used again elsewhere.
* screen-cast: Generalize and move pipewire codeJonas Ådahl2019-05-06
So that it can be reused outside of the screen-cast code.