Expand description
The registry is a singleton object that keeps track of global objects on the PipeWire instance.
Global objects typically represent an actual object in PipeWire (for example, a module or node) or they are singleton objects such as the core.
When a client creates a registry object, the registry object will emit a global event for each global currently in the registry.
Globals come and go as a result of device hotplugs or reconfiguration or other events, and the registry will send
out global and global_remove events to keep the client up to date with the changes. To mark the end of the initial
burst of events, the client can use the Core::sync method immediately after getting the registry from the core.
A client can bind to a global object by using bind. This creates a client-side proxy that lets the
object emit events to the client and lets the client invoke methods on the object. See
proxy.
Clients can also change the permissions of the global objects that they can see. This is interesting when you want to configure a pipewire session before handing it to another application. You can, for example, hide certain existing or new objects or limit the access permissions on an object.
This module contains wrappers for pw_registry and related items.
Structsยง
- Global
Object - Listener
- An owned listener for registry events.
- Listener
Local Builder - A builder for registering registry event callbacks.
- Registry
- Transparent wrapper around a registry.
- Registry
Box - Smart pointer providing unique ownership of a PipeWire registry.
- Registry
Rc - Reference counting smart pointer providing shared ownership of a PipeWire registry.
- Registry
Weak - Non-owning reference to a registry managed by
RegistryRc.