PipeWire Object Proxy Interfaces

WpPipewireObject

An interface for standard PipeWire objects. The common characteristic of all objects that implement this interface is the presence of an "info" structure that contains additional properties for this object (in the form of a spa_dict / pw_properties) and optionally also some parameters that can be enumerated and set on the object.


Methods

wp_pipewire_object_enum_params

wp_pipewire_object_enum_params (WpPipewireObject * self,
                                const gchar* id,
                                WpSpaPod * filter,
                                GCancellable* cancellable,
                                GAsyncReadyCallback callback,
                                gpointer user_data)

Enumerate object parameters. This will asynchronously return the result, or an error, by calling the given callback. The result is going to be a WpIterator containing WpSpaPod objects, which can be retrieved with wp_pipewire_object_enum_params_finish.

Parameters:

self

the pipewire object

id ( [nullable])

the parameter id to enumerate or NULL for all parameters

filter ( [nullable])

a param filter or NULL

cancellable ( [nullable])

a cancellable for the async operation

callback ( [scope async])

a callback to call with the result

user_data ( [closure])

data to pass to callback


wp_pipewire_object_enum_params_finish

WpIterator *
wp_pipewire_object_enum_params_finish (WpPipewireObject * self,
                                       GAsyncResult* res,
                                       GError** error)

Parameters:

self

the pipewire object

res

the async result

error ( [out][optional])

the reported error of the operation, if any

Returns ( [transfer: full][nullable])

an iterator to iterate over the collected params, or NULL if the operation resulted in error; the items in the iterator are WpSpaPod


wp_pipewire_object_enum_params_sync

WpIterator *
wp_pipewire_object_enum_params_sync (WpPipewireObject * self,
                                     const gchar* id,
                                     WpSpaPod * filter)

Parameters:

self
No description available
id
No description available
filter
No description available
Returns
No description available

wp_pipewire_object_get_native_info

gconstpointer
wp_pipewire_object_get_native_info (WpPipewireObject * self)

Requires WP_PIPEWIRE_OBJECT_FEATURE_INFO

Parameters:

self

the pipewire object

Returns ( [nullable])

the native pipewire info structure of this object (pw_node_info, pw_port_info, etc...)


wp_pipewire_object_get_param_info

GVariant*
wp_pipewire_object_get_param_info (WpPipewireObject * self)

Returns the available parameters of this pipewire object. The return value is a variant of type a{ss}, where the key of each map entry is a spa param type id (the same ids that you can pass in wp_pipewire_object_enum_params) and the value is a string that can contain the following letters, each of them representing a flag:

  • r: the param is readable (SPA_PARAM_INFO_READ)
  • w: the param is writable (SPA_PARAM_INFO_WRITE)

For params that are readable, you can query them with wp_pipewire_object_enum_params

Params that are writable can be set with wp_pipewire_object_set_param

Requires WP_PIPEWIRE_OBJECT_FEATURE_INFO

Parameters:

self

the pipewire object

Returns ( [transfer: full][nullable])

a variant of type a{ss} or NULL if the object does not support params at all


wp_pipewire_object_get_properties

WpProperties *
wp_pipewire_object_get_properties (WpPipewireObject * self)

Requires WP_PIPEWIRE_OBJECT_FEATURE_INFO

Parameters:

self

the pipewire object

Returns ( [transfer: full])

the pipewire properties of this object; normally these are the properties that are part of the info structure


wp_pipewire_object_get_property

const gchar*
wp_pipewire_object_get_property (WpPipewireObject * self,
                                 const gchar* key)

Returns the value of a single pipewire property. This is the same as getting the whole properties structure with wp_pipewire_object_get_properties and accessing a single property with wp_properties_get, but saves one call and having to clean up the WpProperties reference count afterwards.

The value is owned by the proxy, but it is guaranteed to stay alive until execution returns back to the event loop.

Requires WP_PIPEWIRE_OBJECT_FEATURE_INFO

Parameters:

self

the pipewire object

key

the property name

Returns ( [transfer: none][nullable])

the value of the pipewire property key or NULL if the property doesn't exist


wp_pipewire_object_new_properties_iterator

WpIterator *
wp_pipewire_object_new_properties_iterator (WpPipewireObject * self)

Requires WP_PIPEWIRE_OBJECT_FEATURE_INFO

Parameters:

self

the pipewire object

Returns ( [transfer: full])

an iterator that iterates over the pipewire properties of this object. Use wp_properties_iterator_item_get_key and wp_properties_iterator_item_get_value to parse the items returned by this iterator.


wp_pipewire_object_set_param

gboolean
wp_pipewire_object_set_param (WpPipewireObject * self,
                              const gchar* id,
                              guint32 flags,
                              WpSpaPod * param)

Sets a parameter on the object.

Parameters:

self

the pipewire object

id

the parameter id to set

flags

optional flags or 0

param ( [transfer: full])

the parameter to set

Returns

TRUE on success, FALSE if setting the param failed


Signals

params-changed

params_changed_callback (WpPipewireObject * self,
                         guint id,
                         gpointer user_data)

Emitted when the params for id have changed. On proxies that cache params from a remote object, this is emitted after the cached values have changed.

You can expect this to be emitted only when the relevant WP_PIPEWIRE_OBJECT_FEATURE_PARAM_* has been activated.

Parameters:

self

the pipewire object

id

the parameter id

user_data
No description available

Flags: Run First


Properties

native-info

“native-info” gpointer

Flags : Read


param-info

“param-info” GVariant*

Flags : Read


properties

“properties” WpProperties *

Flags : Read


Virtual Methods

enum_params

enum_params (WpPipewireObject * self,
             const gchar* id,
             WpSpaPod * filter,
             GCancellable* cancellable,
             GAsyncReadyCallback callback,
             gpointer user_data)

Parameters:

self
No description available
id
No description available
filter
No description available
cancellable
No description available
callback
No description available
user_data
No description available

enum_params_finish

WpIterator *
enum_params_finish (WpPipewireObject * self,
                    GAsyncResult* res,
                    GError** error)

Parameters:

self
No description available
res
No description available
error
No description available
Returns
No description available

enum_params_sync

WpIterator *
enum_params_sync (WpPipewireObject * self,
                  const gchar* id,
                  WpSpaPod * filter)

Parameters:

self
No description available
id
No description available
filter
No description available
Returns
No description available

get_native_info

gconstpointer
get_native_info (WpPipewireObject * self)

Parameters:

self
No description available
Returns
No description available

get_param_info

GVariant*
get_param_info (WpPipewireObject * self)

Parameters:

self
No description available
Returns
No description available

get_properties

WpProperties *
get_properties (WpPipewireObject * self)

Parameters:

self
No description available
Returns
No description available

set_param

gboolean
set_param (WpPipewireObject * self,
           const gchar* id,
           guint32 flags,
           WpSpaPod * param)

Parameters:

self
No description available
id
No description available
flags
No description available
param
No description available
Returns
No description available

Constants

WP_TYPE_PIPEWIRE_OBJECT

#define WP_TYPE_PIPEWIRE_OBJECT (wp_pipewire_object_get_type ())

The WpPipewireObject GType


The results of the search are