PipeWire  0.3.33
Port Object

A port can be used to link two nodes. More...

Data Structures

struct  pw_impl_port_events
 Port events, use pw_impl_port_add_listener. More...
 

Enumerations

enum  pw_impl_port_state {
  PW_IMPL_PORT_STATE_ERROR = -1, PW_IMPL_PORT_STATE_INIT = 0, PW_IMPL_PORT_STATE_CONFIGURE = 1, PW_IMPL_PORT_STATE_READY = 2,
  PW_IMPL_PORT_STATE_PAUSED = 3
}
 

Functions

struct pw_impl_port * pw_context_create_port (struct pw_context *context, enum pw_direction direction, uint32_t port_id, const struct spa_port_info *info, size_t user_data_size)
 Create a new port. More...
 
enum pw_direction pw_impl_port_get_direction (struct pw_impl_port *port)
 Get the port direction. More...
 
const struct pw_propertiespw_impl_port_get_properties (struct pw_impl_port *port)
 Get the port properties. More...
 
int pw_impl_port_update_properties (struct pw_impl_port *port, const struct spa_dict *dict)
 Update the port properties. More...
 
const struct pw_port_infopw_impl_port_get_info (struct pw_impl_port *port)
 Get the port info. More...
 
uint32_t pw_impl_port_get_id (struct pw_impl_port *port)
 Get the port id. More...
 
struct pw_impl_node * pw_impl_port_get_node (struct pw_impl_port *port)
 Get the port parent node or NULL when not yet set. More...
 
int pw_impl_port_is_linked (struct pw_impl_port *port)
 check is a port has links, return 0 if not, 1 if it is linked More...
 
int pw_impl_port_add (struct pw_impl_port *port, struct pw_impl_node *node)
 Add a port to a node. More...
 
void pw_impl_port_add_listener (struct pw_impl_port *port, struct spa_hook *listener, const struct pw_impl_port_events *events, void *data)
 Add an event listener on the port. More...
 

Detailed Description

A port can be used to link two nodes.

Enumeration Type Documentation

◆ pw_impl_port_state

Enumerator
PW_IMPL_PORT_STATE_ERROR 

the port is in error

PW_IMPL_PORT_STATE_INIT 

the port is being created

PW_IMPL_PORT_STATE_CONFIGURE 

the port is ready for format negotiation

PW_IMPL_PORT_STATE_READY 

the port is ready for buffer allocation

PW_IMPL_PORT_STATE_PAUSED 

the port is paused

Function Documentation

◆ pw_context_create_port()

◆ pw_impl_port_add()

int pw_impl_port_add ( struct pw_impl_port *  port,
struct pw_impl_node *  node 
)

Add a port to a node.

References port::direction, port::node, port::port_id, and PW_DIRECTION_INPUT.

◆ pw_impl_port_add_listener()

void pw_impl_port_add_listener ( struct pw_impl_port *  port,
struct spa_hook listener,
const struct pw_impl_port_events events,
void *  data 
)

Add an event listener on the port.

References spa_hook_list_append().

◆ pw_impl_port_get_direction()

enum pw_direction pw_impl_port_get_direction ( struct pw_impl_port *  port)

Get the port direction.

◆ pw_impl_port_get_id()

uint32_t pw_impl_port_get_id ( struct pw_impl_port *  port)

Get the port id.

References port::port_id.

◆ pw_impl_port_get_info()

const struct pw_port_info* pw_impl_port_get_info ( struct pw_impl_port *  port)

Get the port info.

References port::info.

◆ pw_impl_port_get_node()

struct pw_impl_node* pw_impl_port_get_node ( struct pw_impl_port *  port)

Get the port parent node or NULL when not yet set.

References port::node.

◆ pw_impl_port_get_properties()

const struct pw_properties* pw_impl_port_get_properties ( struct pw_impl_port *  port)

Get the port properties.

◆ pw_impl_port_is_linked()

int pw_impl_port_is_linked ( struct pw_impl_port *  port)

check is a port has links, return 0 if not, 1 if it is linked

References spa_list_is_empty.

◆ pw_impl_port_update_properties()

int pw_impl_port_update_properties ( struct pw_impl_port *  port,
const struct spa_dict dict 
)

Update the port properties.