PipeWire  0.3.59

A link is the connection between 2 nodes (Node). More...

Files

 

Data Structures

struct  pw_link_info
 The link information. More...
 
struct  pw_link_events
 Link events. More...
 
struct  pw_link_methods
 Link methods. More...
 
struct  pw_link
 

Macros

#define PW_TYPE_INTERFACE_Link   PW_TYPE_INFO_INTERFACE_BASE "Link"
 
#define PW_VERSION_LINK   3
 
#define PW_LINK_CHANGE_MASK_STATE   (1 << 0)
 
#define PW_LINK_CHANGE_MASK_FORMAT   (1 << 1)
 
#define PW_LINK_CHANGE_MASK_PROPS   (1 << 2)
 
#define PW_LINK_CHANGE_MASK_ALL   ((1 << 3)-1)
 
#define PW_LINK_EVENT_INFO   0
 
#define PW_LINK_EVENT_NUM   1
 
#define PW_VERSION_LINK_EVENTS   0
 
#define PW_LINK_METHOD_ADD_LISTENER   0
 
#define PW_LINK_METHOD_NUM   1
 
#define PW_VERSION_LINK_METHODS   0
 
#define pw_link_method(o, method, version, ...)
 
#define pw_link_add_listener(c, ...)   pw_link_method(c,add_listener,0,__VA_ARGS__)
 

Enumerations

enum  pw_link_state {
  PW_LINK_STATE_ERROR = -2 , PW_LINK_STATE_UNLINKED = -1 , PW_LINK_STATE_INIT = 0 , PW_LINK_STATE_NEGOTIATING = 1 ,
  PW_LINK_STATE_ALLOCATING = 2 , PW_LINK_STATE_PAUSED = 3 , PW_LINK_STATE_ACTIVE = 4
}
 The different link states. More...
 

Functions

const char * pw_link_state_as_string (enum pw_link_state state)
 Convert a pw_link_state to a readable string. More...
 
struct pw_link_infopw_link_info_update (struct pw_link_info *info, const struct pw_link_info *update)
 
struct pw_link_infopw_link_info_merge (struct pw_link_info *info, const struct pw_link_info *update, bool reset)
 
void pw_link_info_free (struct pw_link_info *info)
 

Detailed Description

A link is the connection between 2 nodes (Node).

Nodes are linked together on ports.

The link is responsible for negotiating the format and buffers for the nodes.

Macro Definition Documentation

◆ PW_TYPE_INTERFACE_Link

#define PW_TYPE_INTERFACE_Link   PW_TYPE_INFO_INTERFACE_BASE "Link"
Examples
local-v4l2.c.

◆ PW_VERSION_LINK

#define PW_VERSION_LINK   3
Examples
local-v4l2.c.

◆ PW_LINK_CHANGE_MASK_STATE

#define PW_LINK_CHANGE_MASK_STATE   (1 << 0)

◆ PW_LINK_CHANGE_MASK_FORMAT

#define PW_LINK_CHANGE_MASK_FORMAT   (1 << 1)

◆ PW_LINK_CHANGE_MASK_PROPS

#define PW_LINK_CHANGE_MASK_PROPS   (1 << 2)

◆ PW_LINK_CHANGE_MASK_ALL

#define PW_LINK_CHANGE_MASK_ALL   ((1 << 3)-1)

◆ PW_LINK_EVENT_INFO

#define PW_LINK_EVENT_INFO   0

◆ PW_LINK_EVENT_NUM

#define PW_LINK_EVENT_NUM   1

◆ PW_VERSION_LINK_EVENTS

#define PW_VERSION_LINK_EVENTS   0

◆ PW_LINK_METHOD_ADD_LISTENER

#define PW_LINK_METHOD_ADD_LISTENER   0

◆ PW_LINK_METHOD_NUM

#define PW_LINK_METHOD_NUM   1

◆ PW_VERSION_LINK_METHODS

#define PW_VERSION_LINK_METHODS   0

◆ pw_link_method

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

◆ pw_link_add_listener

#define pw_link_add_listener (   c,
  ... 
)    pw_link_method(c,add_listener,0,__VA_ARGS__)

Enumeration Type Documentation

◆ pw_link_state

The different link states.

Enumerator
PW_LINK_STATE_ERROR 

the link is in error

PW_LINK_STATE_UNLINKED 

the link is unlinked

PW_LINK_STATE_INIT 

the link is initialized

PW_LINK_STATE_NEGOTIATING 

the link is negotiating formats

PW_LINK_STATE_ALLOCATING 

the link is allocating buffers

PW_LINK_STATE_PAUSED 

the link is paused

PW_LINK_STATE_ACTIVE 

the link is active

Function Documentation

◆ pw_link_state_as_string()

const char* pw_link_state_as_string ( enum pw_link_state  state)

Convert a pw_link_state to a readable string.

◆ pw_link_info_update()

struct pw_link_info* pw_link_info_update ( struct pw_link_info info,
const struct pw_link_info update 
)

◆ pw_link_info_merge()

struct pw_link_info* pw_link_info_merge ( struct pw_link_info info,
const struct pw_link_info update,
bool  reset 
)

◆ pw_link_info_free()

void pw_link_info_free ( struct pw_link_info info)