Wp.ImplNode

g GObject.GInterface GObject.GInterface Wp.PipewireObject Wp.PipewireObject GObject.GInterface->Wp.PipewireObject GObject.Object GObject.Object Wp.Object Wp.Object GObject.Object->Wp.Object Wp.ImplNode Wp.ImplNode Wp.Proxy Wp.Proxy Wp.Object->Wp.Proxy Wp.PipewireObject->Wp.ImplNode Wp.Proxy->Wp.ImplNode

Subclasses:

None

Methods

Inherited:

Wp.Proxy (4), Wp.Object (12), GObject.Object (37), Wp.PipewireObject (9)

Structs:

GObject.ObjectClass (5)

class

new_from_pw_factory (core, factory_name, properties)

class

new_wrap (core, node)

Virtual Methods

Inherited:

Wp.Proxy (4), Wp.Object (4), GObject.Object (7), Wp.PipewireObject (7)

Properties

Inherited:

Wp.Proxy (2), Wp.Object (4), Wp.PipewireObject (3)

Name

Type

Flags

Short Description

pw-impl-node

int

r/w/co

The actual node implementation, struct pw_impl_node *

Signals

Inherited:

Wp.Proxy (4), GObject.Object (1), Wp.PipewireObject (1)

Fields

Inherited:

Wp.Proxy (4), GObject.Object (1), Wp.PipewireObject (1)

Class Details

class Wp.ImplNode(**kwargs)
Bases:

Wp.Proxy, Wp.PipewireObject

Abstract:

No

Structure:

Wp.ImplNodeClass

A Wp.ImplNode 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.ProxyFeatures.PROXY_FEATURE_BOUND. When the “client-context” component is loaded, which is the case in the default daemon configuration, Wp.ImplNode.new_from_pw_factory() creates the node in a secondary pw_context that runs on its own thread, so that the node is not affected by anything that blocks WirePlumber’s main loop, and exports it on that context’s connection. The Wp.ImplNode itself stays on the thread that created it: its features, signals and the rest of its API are unchanged. Nodes wrapped with Wp.ImplNode.new_wrap() belong to whichever context the given pw_impl_node was created in, which is the core’s own pw_context in most cases, and are exported on the core’s connection.

classmethod new_from_pw_factory(core, factory_name, properties)
Parameters:
  • core (Wp.Core) – the wireplumber core

  • factory_name (str) – the name of the pipewire factory

  • properties (Wp.Properties or None) – properties to be passed to node constructor

Returns:

A new Wp.ImplNode wrapping the node that was constructed by the factory, or None if the factory does not exist or was unable to construct the node

Return type:

Wp.ImplNode or None

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.ProxyFeatures.PROXY_FEATURE_BOUND and wait for the operation to complete.

classmethod new_wrap(core, node)
Parameters:
  • core (Wp.Core) – the wireplumber core

  • node (object or None) – an existing pw_impl_node to wrap

Returns:

A new Wp.ImplNode wrapping node

Return type:

Wp.ImplNode

Constructs a node object from an existing pw_impl_node.

Property Details

Wp.ImplNode.props.pw_impl_node
Name:

pw-impl-node

Type:

int

Default Value:

None

Flags:

READABLE, WRITABLE, CONSTRUCT_ONLY

The actual node implementation, struct pw_impl_node *