PipeWire: Client Node

PipeWire 1.4.2 |

Loading...
Searching...
No Matches
Files | Data Structures | Macros | Functions | Variables
Client Node
Extensions

Client node interface. More...

## Files
file | client-node.h
| `pipewire/extensions/client-node.h`

## Data Structures
struct | pw_client_node_buffer
| information about a buffer More...
struct | pw_client_node_events
| Client Node events More...
struct | pw_client_node_methods
| Client Node methods More...
struct | pw_client_node

## Macros
#define | PW_TYPE_INTERFACE_ClientNode PW_TYPE_INFO_INTERFACE_BASE "ClientNode"
#define | PW_VERSION_CLIENT_NODE 6
#define | PW_API_CLIENT_NODE_IMPL static inline
#define | PW_EXTENSION_MODULE_CLIENT_NODE PIPEWIRE_MODULE_PREFIX "module-client-node"
#define | PW_CLIENT_NODE_EVENT_TRANSPORT 0
#define | PW_CLIENT_NODE_EVENT_SET_PARAM 1
#define | PW_CLIENT_NODE_EVENT_SET_IO 2
#define | PW_CLIENT_NODE_EVENT_EVENT 3
#define | PW_CLIENT_NODE_EVENT_COMMAND 4
#define | PW_CLIENT_NODE_EVENT_ADD_PORT 5
#define | PW_CLIENT_NODE_EVENT_REMOVE_PORT 6
#define | PW_CLIENT_NODE_EVENT_PORT_SET_PARAM 7
#define | PW_CLIENT_NODE_EVENT_PORT_USE_BUFFERS 8
#define | PW_CLIENT_NODE_EVENT_PORT_SET_IO 9
#define | PW_CLIENT_NODE_EVENT_SET_ACTIVATION 10
#define | PW_CLIENT_NODE_EVENT_PORT_SET_MIX_INFO 11
#define | PW_CLIENT_NODE_EVENT_NUM 12
#define | PW_VERSION_CLIENT_NODE_EVENTS 1
#define | PW_CLIENT_NODE_METHOD_ADD_LISTENER 0
#define | PW_CLIENT_NODE_METHOD_GET_NODE 1
#define | PW_CLIENT_NODE_METHOD_UPDATE 2
#define | PW_CLIENT_NODE_METHOD_PORT_UPDATE 3
#define | PW_CLIENT_NODE_METHOD_SET_ACTIVE 4
#define | PW_CLIENT_NODE_METHOD_EVENT 5
#define | PW_CLIENT_NODE_METHOD_PORT_BUFFERS 6
#define | PW_CLIENT_NODE_METHOD_NUM 7
#define | PW_VERSION_CLIENT_NODE_METHODS 0

## Functions
PW_API_CLIENT_NODE_IMPL int | pw_client_node_add_listener (struct pw_client_node *object, struct spa_hook *listener, const struct pw_client_node_events *events, void *data)
PW_API_CLIENT_NODE_IMPL struct pw_node * | pw_client_node_get_node (struct pw_client_node *p, uint32_t version, size_t user_data_size)
PW_API_CLIENT_NODE_IMPL int | pw_client_node_update (struct pw_client_node *object, uint32_t change_mask, uint32_t n_params, const struct spa_pod **params, const struct spa_node_info *info)
PW_API_CLIENT_NODE_IMPL int | pw_client_node_port_update (struct pw_client_node *object, enum spa_direction direction, uint32_t port_id, uint32_t change_mask, uint32_t n_params, const struct spa_pod **params, const struct spa_port_info *info)
PW_API_CLIENT_NODE_IMPL int | pw_client_node_set_active (struct pw_client_node *object, bool active)
PW_API_CLIENT_NODE_IMPL int | pw_client_node_event (struct pw_client_node *object, const struct spa_event *event)
PW_API_CLIENT_NODE_IMPL int | pw_client_node_port_buffers (struct pw_client_node *object, enum spa_direction direction, uint32_t port_id, uint32_t mix_id, uint32_t n_buffers, struct spa_buffer **buffers)

## Variables
int(* | pw_client_node_methods::update )(void *object, #define PW_CLIENT_NODE_UPDATE_PARAMS #define PW_CLIENT_NODE_UPDATE_INFO uint32_t change_mask, uint32_t n_params, const struct spa_pod **params, const struct spa_node_info *info)
| Update the node ports and properties.
int(* | pw_client_node_methods::port_update )(void *object, enum spa_direction direction, uint32_t port_id, #define PW_CLIENT_NODE_PORT_UPDATE_PARAMS #define PW_CLIENT_NODE_PORT_UPDATE_INFO uint32_t change_mask, uint32_t n_params, const struct spa_pod **params, const struct spa_port_info *info)
| Update a node port.

## Detailed Description

Client node interface.

## Macro Definition Documentation

## ◆ PW_TYPE_INTERFACE_ClientNode

#define PW_TYPE_INTERFACE_ClientNode PW_TYPE_INFO_INTERFACE_BASE "ClientNode"

## ◆ PW_VERSION_CLIENT_NODE

#define PW_VERSION_CLIENT_NODE 6

## ◆ PW_API_CLIENT_NODE_IMPL

#define PW_API_CLIENT_NODE_IMPL static inline

## ◆ PW_EXTENSION_MODULE_CLIENT_NODE

#define PW_EXTENSION_MODULE_CLIENT_NODE PIPEWIRE_MODULE_PREFIX "module-client-node"

## ◆ PW_CLIENT_NODE_EVENT_TRANSPORT

#define PW_CLIENT_NODE_EVENT_TRANSPORT 0

## ◆ PW_CLIENT_NODE_EVENT_SET_PARAM

#define PW_CLIENT_NODE_EVENT_SET_PARAM 1

## ◆ PW_CLIENT_NODE_EVENT_SET_IO

#define PW_CLIENT_NODE_EVENT_SET_IO 2

## ◆ PW_CLIENT_NODE_EVENT_EVENT

#define PW_CLIENT_NODE_EVENT_EVENT 3

## ◆ PW_CLIENT_NODE_EVENT_COMMAND

#define PW_CLIENT_NODE_EVENT_COMMAND 4

## ◆ PW_CLIENT_NODE_EVENT_ADD_PORT

#define PW_CLIENT_NODE_EVENT_ADD_PORT 5

## ◆ PW_CLIENT_NODE_EVENT_REMOVE_PORT

#define PW_CLIENT_NODE_EVENT_REMOVE_PORT 6

## ◆ PW_CLIENT_NODE_EVENT_PORT_SET_PARAM

#define PW_CLIENT_NODE_EVENT_PORT_SET_PARAM 7

## ◆ PW_CLIENT_NODE_EVENT_PORT_USE_BUFFERS

#define PW_CLIENT_NODE_EVENT_PORT_USE_BUFFERS 8

## ◆ PW_CLIENT_NODE_EVENT_PORT_SET_IO

#define PW_CLIENT_NODE_EVENT_PORT_SET_IO 9

## ◆ PW_CLIENT_NODE_EVENT_SET_ACTIVATION

#define PW_CLIENT_NODE_EVENT_SET_ACTIVATION 10

## ◆ PW_CLIENT_NODE_EVENT_PORT_SET_MIX_INFO

#define PW_CLIENT_NODE_EVENT_PORT_SET_MIX_INFO 11

## ◆ PW_CLIENT_NODE_EVENT_NUM

#define PW_CLIENT_NODE_EVENT_NUM 12

## ◆ PW_VERSION_CLIENT_NODE_EVENTS

#define PW_VERSION_CLIENT_NODE_EVENTS 1

## ◆ PW_CLIENT_NODE_METHOD_ADD_LISTENER

#define PW_CLIENT_NODE_METHOD_ADD_LISTENER 0

## ◆ PW_CLIENT_NODE_METHOD_GET_NODE

#define PW_CLIENT_NODE_METHOD_GET_NODE 1

## ◆ PW_CLIENT_NODE_METHOD_UPDATE

#define PW_CLIENT_NODE_METHOD_UPDATE 2

## ◆ PW_CLIENT_NODE_METHOD_PORT_UPDATE

#define PW_CLIENT_NODE_METHOD_PORT_UPDATE 3

## ◆ PW_CLIENT_NODE_METHOD_SET_ACTIVE

#define PW_CLIENT_NODE_METHOD_SET_ACTIVE 4

## ◆ PW_CLIENT_NODE_METHOD_EVENT

#define PW_CLIENT_NODE_METHOD_EVENT 5

## ◆ PW_CLIENT_NODE_METHOD_PORT_BUFFERS

#define PW_CLIENT_NODE_METHOD_PORT_BUFFERS 6

## ◆ PW_CLIENT_NODE_METHOD_NUM

#define PW_CLIENT_NODE_METHOD_NUM 7

## ◆ PW_VERSION_CLIENT_NODE_METHODS

#define PW_VERSION_CLIENT_NODE_METHODS 0

## Function Documentation

## ◆ pw_client_node_add_listener()

PW_API_CLIENT_NODE_IMPL int pw_client_node_add_listener | ( | struct pw_client_node * | object,
|  | struct spa_hook * | listener,
|  | const struct pw_client_node_events * | events,
|  | void * | data )

## ◆ pw_client_node_get_node()

PW_API_CLIENT_NODE_IMPL struct pw_node * pw_client_node_get_node | ( | struct pw_client_node * | p,
|  | uint32_t | version,
|  | size_t | user_data_size )

## ◆ pw_client_node_update()

PW_API_CLIENT_NODE_IMPL int pw_client_node_update | ( | struct pw_client_node * | object,
|  | uint32_t | change_mask,
|  | uint32_t | n_params,
|  | const struct spa_pod ** | params,
|  | const struct spa_node_info * | info )

## ◆ pw_client_node_port_update()

PW_API_CLIENT_NODE_IMPL int pw_client_node_port_update | ( | struct pw_client_node * | object,
|  | enum spa_direction | direction,
|  | uint32_t | port_id,
|  | uint32_t | change_mask,
|  | uint32_t | n_params,
|  | const struct spa_pod ** | params,
|  | const struct spa_port_info * | info )

## ◆ pw_client_node_set_active()

PW_API_CLIENT_NODE_IMPL int pw_client_node_set_active | ( | struct pw_client_node * | object,
|  | bool | active )

## ◆ pw_client_node_event()

PW_API_CLIENT_NODE_IMPL int pw_client_node_event | ( | struct pw_client_node * | object,
|  | const struct spa_event * | event )

## ◆ pw_client_node_port_buffers()

PW_API_CLIENT_NODE_IMPL int pw_client_node_port_buffers | ( | struct pw_client_node * | object,
|  | enum spa_direction | direction,
|  | uint32_t | port_id,
|  | uint32_t | mix_id,
|  | uint32_t | n_buffers,
|  | struct spa_buffer ** | buffers )

## Variable Documentation

## ◆ update

int(* pw_client_node_methods::update) (void *object, #define PW_CLIENT_NODE_UPDATE_PARAMS #define PW_CLIENT_NODE_UPDATE_INFO uint32_t change_mask, uint32_t n_params, const struct spa_pod **params, const struct spa_node_info *info)

Update the node ports and properties.

Update the maximum number of ports and the params of the client node.

Parameters

  change_mask | bitfield with changed parameters
  max_input_ports | new max input ports
  max_output_ports | new max output ports
  params | new params

## ◆ port_update

int(* pw_client_node_methods::port_update) (void *object, enum spa_direction direction, uint32_t port_id, #define PW_CLIENT_NODE_PORT_UPDATE_PARAMS #define PW_CLIENT_NODE_PORT_UPDATE_INFO uint32_t change_mask, uint32_t n_params, const struct spa_pod **params, const struct spa_port_info *info)

Update a node port.

Update the information of one port of a node.

Parameters

  direction | the direction of the port
  port_id | the port id to update
  change_mask | a bitfield of changed items
  n_params | number of port parameters
  params | array of port parameters
  info | port information