Loading...
Searching...
No Matches
pw_client_endpoint_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_session_id )(void *data, uint32_t session_id)
| Sets the session id of the endpoint.
int(* | set_param )(void *data, uint32_t id, uint32_t flags, const struct spa_pod *param)
| Set the configurable parameter in endpoint.
int(* | stream_set_param )(void *data, uint32_t stream_id, uint32_t id, uint32_t flags, const struct spa_pod *param)
| Set a parameter on stream_id of endpoint.
int(* | create_link )(void *data, const struct spa_dict *props)

## Field Documentation

## version

uint32_t pw_client_endpoint_events::version

version of this structure

## set_session_id

int(* pw_client_endpoint_events::set_session_id) (void *data, uint32_t session_id)

Sets the session id of the endpoint.

On endpoints that are not session masters, this method notifies the implementation that it has been associated with a session. The implementation is obliged to set this id in the #struct pw_endpoint_info session_id field.

Parameters

  endpoint | a pw_endpoint
  id | the session id associated with this endpoint

Returns
  0 on success -EINVAL when the session id has already been set -ENOTSUP when the endpoint is a session master

## set_param

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

Set the configurable parameter in endpoint.

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

  endpoint | a #struct pw_endpoint
  id | the parameter id to configure
  flags | additional flags
  param | the parameter to configure

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

## stream_set_param

int(* pw_client_endpoint_events::stream_set_param) (void *data, uint32_t stream_id, uint32_t id, uint32_t flags, const struct spa_pod *param)

Set a parameter on stream_id of endpoint.

When param is NULL, the parameter will be unset.

This function must be called from the main thread.

Parameters

  endpoint | a #struct pw_endpoint
  stream_id | the stream 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 stream_enum_params. -EINVAL when endpoint 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

## create_link

int(* pw_client_endpoint_events::create_link) (void *data, const struct spa_dict *props)

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

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