PipeWire  0.3.30
Link Objects

PipeWire link object. More...

Data Structures

struct  pw_impl_link_events
 link events added with pw_impl_link_add_listener More...
 

Functions

struct pw_impl_link * pw_context_create_link (struct pw_context *context, struct pw_impl_port *output, struct pw_impl_port *input, struct spa_pod *format_filter, struct pw_properties *properties, size_t user_data_size)
 Make a new link between two ports. More...
 
void pw_impl_link_destroy (struct pw_impl_link *link)
 Destroy a link. More...
 
void pw_impl_link_add_listener (struct pw_impl_link *link, struct spa_hook *listener, const struct pw_impl_link_events *events, void *data)
 Add an event listener to link. More...
 
int pw_impl_link_register (struct pw_impl_link *link, struct pw_properties *properties)
 Finish link configuration and register. More...
 
struct pw_context * pw_impl_link_get_context (struct pw_impl_link *link)
 Get the context of a link. More...
 
void * pw_impl_link_get_user_data (struct pw_impl_link *link)
 Get the user_data of a link, the size of the memory is given when constructing the link. More...
 
const struct pw_link_infopw_impl_link_get_info (struct pw_impl_link *link)
 Get the link info. More...
 
struct pw_global * pw_impl_link_get_global (struct pw_impl_link *link)
 Get the global of the link. More...
 
struct pw_impl_port * pw_impl_link_get_output (struct pw_impl_link *link)
 Get the output port of the link. More...
 
struct pw_impl_port * pw_impl_link_get_input (struct pw_impl_link *link)
 Get the input port of the link. More...
 
struct pw_impl_link * pw_impl_link_find (struct pw_impl_port *output, struct pw_impl_port *input)
 Find the link between 2 ports. More...
 

Detailed Description

PipeWire link object.

Function Documentation

◆ pw_context_create_link()

struct pw_impl_link* pw_context_create_link ( struct pw_context *  context,
struct pw_impl_port *  output,
struct pw_impl_port *  input,
struct spa_pod format_filter,
struct pw_properties properties,
size_t  user_data_size 
)

Make a new link between two ports.

Returns
a newly allocated link
Parameters
contextthe context object
outputan output port
inputan input port
format_filteran optional format filter
propertiesextra properties
user_data_sizeextra user data size

References PW_DIRECTION_INPUT, PW_DIRECTION_OUTPUT, pw_impl_link_find(), and res.

◆ pw_impl_link_add_listener()

void pw_impl_link_add_listener ( struct pw_impl_link *  link,
struct spa_hook listener,
const struct pw_impl_link_events events,
void *  data 
)

Add an event listener to link.

References NAME, pw_log_debug, and spa_hook_list_append().

◆ pw_impl_link_destroy()

void pw_impl_link_destroy ( struct pw_impl_link *  link)

◆ pw_impl_link_find()

struct pw_impl_link* pw_impl_link_find ( struct pw_impl_port *  output,
struct pw_impl_port *  input 
)

Find the link between 2 ports.

References spa_list_for_each.

Referenced by pw_context_create_link().

◆ pw_impl_link_get_context()

struct pw_context* pw_impl_link_get_context ( struct pw_impl_link *  link)

Get the context of a link.

◆ pw_impl_link_get_global()

struct pw_global* pw_impl_link_get_global ( struct pw_impl_link *  link)

Get the global of the link.

◆ pw_impl_link_get_info()

const struct pw_link_info* pw_impl_link_get_info ( struct pw_impl_link *  link)

Get the link info.

◆ pw_impl_link_get_input()

struct pw_impl_port* pw_impl_link_get_input ( struct pw_impl_link *  link)

Get the input port of the link.

◆ pw_impl_link_get_output()

struct pw_impl_port* pw_impl_link_get_output ( struct pw_impl_link *  link)

Get the output port of the link.

◆ pw_impl_link_get_user_data()

void* pw_impl_link_get_user_data ( struct pw_impl_link *  link)

Get the user_data of a link, the size of the memory is given when constructing the link.

◆ pw_impl_link_register()

int pw_impl_link_register ( struct pw_impl_link *  link,
struct pw_properties properties 
)

Finish link configuration and register.

Parameters
linkthe link to register
propertiesextra properties

References pw_global_new(), PW_KEY_CLIENT_ID, PW_KEY_FACTORY_ID, PW_KEY_LINK_INPUT_NODE, PW_KEY_LINK_INPUT_PORT, PW_KEY_LINK_OUTPUT_NODE, PW_KEY_LINK_OUTPUT_PORT, PW_KEY_MODULE_ID, PW_KEY_OBJECT_PATH, PW_TYPE_INTERFACE_Link, and PW_VERSION_LINK.