PipeWire Proxy

digraph inheritance { rankdir=LR; GObject -> WpObject; WpObject -> WpProxy; }

struct WpProxy

Base class for all objects that expose PipeWire objects using pw_proxy underneath.

This base class cannot be instantiated. It provides handling of pw_proxy’s events and exposes common functionality.

GObject Properties

GObject Signals

bound

pw-proxy-created

pw-proxy-destroyed

error

struct _WpProxyClass

Public Members

WpObjectClass parent_class
const gchar* pw_iface_type

the PipeWire type of the interface that is being proxied by this class (ex. PW_TYPE_INTERFACE_Node for WpNode

guint32 pw_iface_version

the PipeWire version of the interface that is being proxied by this class

voidpw_proxy_created)(WpProxy *self, struct pw_proxy *proxy)
voidpw_proxy_destroyed)(WpProxy *self)
voidbound)(WpProxy *self, guint32 id)
voiderror)(WpProxy *self, int seq, int res, const char *message)
enum wpproxy::WpProxyFeatures

Flags to be used as WpObjectFeatures for WpProxy subclasses.

Values:

WP_PROXY_FEATURE_BOUND = (1 << 0)
WP_PIPEWIRE_OBJECT_FEATURE_INFO = (1 << 4)
WP_PIPEWIRE_OBJECT_FEATURE_PARAM_PROPS = (1 << 5)
WP_PIPEWIRE_OBJECT_FEATURE_PARAM_FORMAT = (1 << 6)
WP_PIPEWIRE_OBJECT_FEATURE_PARAM_PROFILE = (1 << 7)
WP_PIPEWIRE_OBJECT_FEATURE_PARAM_PORT_CONFIG = (1 << 8)
WP_PIPEWIRE_OBJECT_FEATURE_PARAM_ROUTE = (1 << 9)
WP_PIPEWIRE_OBJECT_FEATURES_MINIMAL = (WP_PROXY_FEATURE_BOUND | WP_PIPEWIRE_OBJECT_FEATURE_INFO)

The minimal feature set for proxies implementing WpPipewireObject. This is a subset of WP_PIPEWIRE_OBJECT_FEATURES_ALL

WP_PIPEWIRE_OBJECT_FEATURES_ALL = (WP_PIPEWIRE_OBJECT_FEATURES_MINIMAL | WP_PIPEWIRE_OBJECT_FEATURE_PARAM_PROPS | WP_PIPEWIRE_OBJECT_FEATURE_PARAM_FORMAT | WP_PIPEWIRE_OBJECT_FEATURE_PARAM_PROFILE | WP_PIPEWIRE_OBJECT_FEATURE_PARAM_PORT_CONFIG | WP_PIPEWIRE_OBJECT_FEATURE_PARAM_ROUTE)

The complete common feature set for proxies implementing WpPipewireObject. This is a subset of WP_OBJECT_FEATURES_ALL

WP_PROXY_FEATURE_CUSTOM_START = (1 << 16)
guint32 wp_proxy_get_bound_id(WpProxy * self)

Returns the proxy bound id.

The bound id is the id that this object has on the PipeWire registry (a.k.a. the global id). The object must have the WP_PROXY_FEATURE_BOUND feature before this method can be called.

Remark

Requires WP_PROXY_FEATURE_BOUND

Return

the bound id of this object

Parameters
  • self: the proxy

const gchar* wp_proxy_get_interface_type(WpProxy * self, guint32 * version)

Gets the interface type of the proxied object.

Return

the PipeWire type of the interface that is being proxied

Parameters
  • self: the proxy

  • version: (out) (optional): the version of the interface

struct pw_proxy* wp_proxy_get_pw_proxy(WpProxy * self)

Gets the pw_proxy wrapped by this proxy object.

Return

a pointer to the underlying pw_proxy object

Parameters
  • self: the proxy

void wp_proxy_set_pw_proxy(WpProxy * self, struct pw_proxy * proxy)

Private method to be used by subclasses to set the pw_proxy pointer when it is available.

This can be called only if there is no pw_proxy already set. Takes ownership of proxy.

WP_TYPE_PROXY (wp_proxy_get_type ())

The WpProxy GType.