PipeWire 1.1.0
Loading...
Searching...
No Matches

Port interface. More...

Files

file  port.h
 pipewire/port.h
 

Data Structures

struct  pw_port_info
 
struct  pw_port_events
 Port events. More...
 
struct  pw_port_methods
 Port methods. More...
 
struct  pw_port
 

Macros

#define PW_TYPE_INTERFACE_Port   PW_TYPE_INFO_INTERFACE_BASE "Port"
 
#define PW_PORT_PERM_MASK   PW_PERM_R|PW_PERM_X|PW_PERM_M
 
#define PW_VERSION_PORT   3
 
#define pw_direction   spa_direction
 The direction of a port.
 
#define PW_DIRECTION_INPUT   SPA_DIRECTION_INPUT
 
#define PW_DIRECTION_OUTPUT   SPA_DIRECTION_OUTPUT
 
#define PW_PORT_CHANGE_MASK_PROPS   (1 << 0)
 
#define PW_PORT_CHANGE_MASK_PARAMS   (1 << 1)
 
#define PW_PORT_CHANGE_MASK_ALL   ((1 << 2)-1)
 
#define PW_PORT_EVENT_INFO   0
 
#define PW_PORT_EVENT_PARAM   1
 
#define PW_PORT_EVENT_NUM   2
 
#define PW_VERSION_PORT_EVENTS   0
 
#define PW_PORT_METHOD_ADD_LISTENER   0
 
#define PW_PORT_METHOD_SUBSCRIBE_PARAMS   1
 
#define PW_PORT_METHOD_ENUM_PARAMS   2
 
#define PW_PORT_METHOD_NUM   3
 
#define PW_VERSION_PORT_METHODS   0
 
#define pw_port_method(o, method, version, ...)
 
#define pw_port_add_listener(c, ...)   pw_port_method(c,add_listener,0,__VA_ARGS__)
 
#define pw_port_subscribe_params(c, ...)   pw_port_method(c,subscribe_params,0,__VA_ARGS__)
 Subscribe to parameter changes.
 
#define pw_port_enum_params(c, ...)   pw_port_method(c,enum_params,0,__VA_ARGS__)
 Enumerate port parameters.
 

Functions

const char * pw_direction_as_string (enum pw_direction direction)
 Convert a pw_direction to a readable string.
 
struct pw_port_infopw_port_info_update (struct pw_port_info *info, const struct pw_port_info *update)
 
struct pw_port_infopw_port_info_merge (struct pw_port_info *info, const struct pw_port_info *update, bool reset)
 
void pw_port_info_free (struct pw_port_info *info)
 

Detailed Description

Port interface.

Macro Definition Documentation

◆ PW_TYPE_INTERFACE_Port

#define PW_TYPE_INTERFACE_Port   PW_TYPE_INFO_INTERFACE_BASE "Port"

◆ PW_PORT_PERM_MASK

#define PW_PORT_PERM_MASK   PW_PERM_R|PW_PERM_X|PW_PERM_M

◆ PW_VERSION_PORT

#define PW_VERSION_PORT   3

◆ pw_direction

#define pw_direction   spa_direction

The direction of a port.

◆ PW_DIRECTION_INPUT

◆ PW_DIRECTION_OUTPUT

◆ PW_PORT_CHANGE_MASK_PROPS

#define PW_PORT_CHANGE_MASK_PROPS   (1 << 0)

◆ PW_PORT_CHANGE_MASK_PARAMS

#define PW_PORT_CHANGE_MASK_PARAMS   (1 << 1)

◆ PW_PORT_CHANGE_MASK_ALL

#define PW_PORT_CHANGE_MASK_ALL   ((1 << 2)-1)

◆ PW_PORT_EVENT_INFO

#define PW_PORT_EVENT_INFO   0

◆ PW_PORT_EVENT_PARAM

#define PW_PORT_EVENT_PARAM   1

◆ PW_PORT_EVENT_NUM

#define PW_PORT_EVENT_NUM   2

◆ PW_VERSION_PORT_EVENTS

#define PW_VERSION_PORT_EVENTS   0

◆ PW_PORT_METHOD_ADD_LISTENER

#define PW_PORT_METHOD_ADD_LISTENER   0

◆ PW_PORT_METHOD_SUBSCRIBE_PARAMS

#define PW_PORT_METHOD_SUBSCRIBE_PARAMS   1

◆ PW_PORT_METHOD_ENUM_PARAMS

#define PW_PORT_METHOD_ENUM_PARAMS   2

◆ PW_PORT_METHOD_NUM

#define PW_PORT_METHOD_NUM   3

◆ PW_VERSION_PORT_METHODS

#define PW_VERSION_PORT_METHODS   0

◆ pw_port_method

#define pw_port_method (   o,
  method,
  version,
  ... 
)

◆ pw_port_add_listener

#define pw_port_add_listener (   c,
  ... 
)    pw_port_method(c,add_listener,0,__VA_ARGS__)

◆ pw_port_subscribe_params

#define pw_port_subscribe_params (   c,
  ... 
)    pw_port_method(c,subscribe_params,0,__VA_ARGS__)

Subscribe to parameter changes.

Automatically emit param events for the given ids when they are changed.

Parameters
idsan array of param ids
n_idsthe number of ids in ids

This requires X permissions on the port.

See also
pw_port_methods.subscribe_params

◆ pw_port_enum_params

#define pw_port_enum_params (   c,
  ... 
)    pw_port_method(c,enum_params,0,__VA_ARGS__)

Enumerate port parameters.

Start enumeration of port parameters. For each param, a param event will be emitted.

Parameters
seqa sequence number returned in the reply
idthe parameter id to enumerate
startthe start index or 0 for the first param
numthe maximum number of params to retrieve
filtera param filter or NULL

This requires X permissions on the port.

See also
pw_port_methods.enum_params

Function Documentation

◆ pw_direction_as_string()

const char * pw_direction_as_string ( enum pw_direction  direction)

Convert a pw_direction to a readable string.

◆ pw_port_info_update()

struct pw_port_info * pw_port_info_update ( struct pw_port_info info,
const struct pw_port_info update 
)

◆ pw_port_info_merge()

struct pw_port_info * pw_port_info_merge ( struct pw_port_info info,
const struct pw_port_info update,
bool  reset 
)

◆ pw_port_info_free()

void pw_port_info_free ( struct pw_port_info info)