The registry object is a singleton object that keeps track of global objects on the PipeWire instance. See also Global.

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 pw_core.sync methosd immediately after calling pw_core.get_registry.

A client can bind to a global object by using the bind request. 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