Loading...
Searching...
No Matches
pw_client_session_events Struct Reference
Extensions » Session Manager

`#include <pipewire/extensions/session-manager/impl-interfaces.h>`

## Data Fields

uint32_t | version
| version of this structure
int(* | set_param )(void *data, uint32_t id, uint32_t flags, const struct spa_pod *param)
| Set the configurable parameter in session.
int(* | link_set_param )(void *data, uint32_t link_id, uint32_t id, uint32_t flags, const struct spa_pod *param)
| Set a parameter on link_id of session.
int(* | link_request_state )(void *data, uint32_t link_id, uint32_t state)

## Field Documentation

## version

uint32_t pw_client_session_events::version

version of this structure

## set_param

int(* pw_client_session_events::set_param) (void *data, uint32_t id, uint32_t flags, const struct spa_pod *param)

Set the configurable parameter in session.

Usually, param will be obtained from enum_params and then modified but it is also possible to set another spa_pod as long as its keys and types match a supported object.

Objects with property keys that are not known are ignored.

This function must be called from the main thread.

Parameters

  session | a #struct pw_session
  id | the parameter id to configure
  flags | additional flags
  param | the parameter to configure

Returns
  0 on success -EINVAL when session is NULL -ENOTSUP when there are no parameters implemented on session -ENOENT the parameter is unknown

## link_set_param

int(* pw_client_session_events::link_set_param) (void *data, uint32_t link_id, uint32_t id, uint32_t flags, const struct spa_pod *param)

Set a parameter on link_id of session.

When param is NULL, the parameter will be unset.

This function must be called from the main thread.

Parameters

  session | a #struct pw_session
  link_id | the link to configure
  id | the parameter id to set
  flags | optional flags
  param | a #struct spa_pod with the parameter to set

Returns
  0 on success 1 on success, the value of param might have been changed depending on flags and the final value can be found by doing link_enum_params. -EINVAL when session is NULL or invalid arguments are given -ESRCH when the type or size of a property is not correct. -ENOENT when the param id is not found

## link_request_state

int(* pw_client_session_events::link_request_state) (void *data, uint32_t link_id, uint32_t state)

The documentation for this struct was generated from the following file:

- pipewire/extensions/session-manager/impl-interfaces.h