Local Nodes

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

struct WpImplNode

A WpImplNode allows running a node implementation (struct pw_impl_node) locally, loading the implementation from factory or wrapping a manually constructed pw_impl_node. This object can then be exported to PipeWire by requesting WP_PROXY_FEATURE_BOUND.

GObject Properties


The actual node implementation, struct pw_impl_node *



WpImplNode *wp_impl_node_new_wrap(WpCore *core, struct pw_impl_node *node)

Constructs a node object from an existing pw_impl_node.

  • core – the wireplumber core

  • node – an existing pw_impl_node to wrap


(transfer full): A new WpImplNode wrapping node

WpImplNode *wp_impl_node_new_from_pw_factory(WpCore *core, const gchar *factory_name, WpProperties *properties)

Constructs a new node, locally on this process, using the specified factory_name.

To export this node to the PipeWire server, you need to call wp_object_activate() requesting WP_PROXY_FEATURE_BOUND and wait for the operation to complete.

  • core – the wireplumber core

  • factory_name – the name of the pipewire factory

  • properties – (nullable) (transfer full): properties to be passed to node constructor


(nullable) (transfer full): A new WpImplNode wrapping the node that was constructed by the factory, or NULL if the factory does not exist or was unable to construct the node

WP_TYPE_IMPL_NODE (wp_impl_node_get_type ())

The WpImplNode GType.