PipeWire  0.1.4
node.h File Reference
Include dependency graph for node.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  pw_node_implementation
 
struct  pw_node_events
 

Macros

#define PW_TYPE__Node   PW_TYPE_OBJECT_BASE "Node"
 
#define PW_TYPE_NODE_BASE   PW_TYPE__Node ":"
 
#define PW_VERSION_NODE_IMPLEMENTATION   0
 
#define PW_VERSION_NODE_EVENTS   0
 

Functions

void pw_node_register (struct pw_node *node)
 Complete initialization of the node and register. More...
 
void pw_node_destroy (struct pw_node *node)
 Destroy a node. More...
 
void pw_node_set_max_ports (struct pw_node *node, uint32_t max_input_ports, uint32_t max_output_ports)
 
const struct pw_node_infopw_node_get_info (struct pw_node *node)
 
void * pw_node_get_user_data (struct pw_node *node)
 
struct pw_corepw_node_get_core (struct pw_node *node)
 
struct pw_resourcepw_node_get_owner (struct pw_node *node)
 
struct pw_globalpw_node_get_global (struct pw_node *node)
 
const struct pw_propertiespw_node_get_properties (struct pw_node *node)
 
void pw_node_update_properties (struct pw_node *node, const struct spa_dict *dict)
 
void pw_node_set_implementation (struct pw_node *node, const struct pw_node_implementation *implementation, void *data)
 
void pw_node_add_listener (struct pw_node *node, struct spa_hook *listener, const struct pw_node_events *events, void *data)
 
struct spa_hook_list * pw_node_get_listeners (struct pw_node *node)
 
bool pw_node_for_each_port (struct pw_node *node, enum pw_direction direction, bool(*callback)(void *data, struct pw_port *port), void *data)
 iterate the ports in the given direction More...
 
struct pw_portpw_node_find_port (struct pw_node *node, enum pw_direction direction, uint32_t port_id)
 Find the port with direction and port_id or NULL when not found. More...
 
struct pw_portpw_node_get_free_port (struct pw_node *node, enum pw_direction direction)
 Get a free unused port from the node. More...
 
int pw_node_set_state (struct pw_node *node, enum pw_node_state state)
 Change the state of the node. More...
 
void pw_node_update_state (struct pw_node *node, enum pw_node_state state, char *error)
 Update the state of the node, mostly used by node implementations. More...
 

Macro Definition Documentation

◆ PW_TYPE__Node

#define PW_TYPE__Node   PW_TYPE_OBJECT_BASE "Node"

◆ PW_TYPE_NODE_BASE

#define PW_TYPE_NODE_BASE   PW_TYPE__Node ":"

◆ PW_VERSION_NODE_EVENTS

#define PW_VERSION_NODE_EVENTS   0

◆ PW_VERSION_NODE_IMPLEMENTATION

#define PW_VERSION_NODE_IMPLEMENTATION   0

Function Documentation

◆ pw_node_add_listener()

void pw_node_add_listener ( struct pw_node node,
struct spa_hook *  listener,
const struct pw_node_events events,
void *  data 
)

References pw_node::listener_list.

Referenced by pw_link_new(), and pw_node_new().

◆ pw_node_destroy()

void pw_node_destroy ( struct pw_node node)

Destroy a node.

◆ pw_node_find_port()

struct pw_port* pw_node_find_port ( struct pw_node node,
enum pw_direction  direction,
uint32_t  port_id 
)

Find the port with direction and port_id or NULL when not found.

References pw_node::input_port_map, pw_node::output_port_map, PW_DIRECTION_INPUT, and pw_map::pw_map_lookup().

◆ pw_node_for_each_port()

bool pw_node_for_each_port ( struct pw_node node,
enum pw_direction  direction,
bool(*)(void *data, struct pw_port *port)  callback,
void *  data 
)

iterate the ports in the given direction

References pw_node::input_ports, pw_port::link, pw_node::output_ports, and PW_DIRECTION_INPUT.

◆ pw_node_get_core()

struct pw_core* pw_node_get_core ( struct pw_node node)

References pw_node::core.

◆ pw_node_get_free_port()

struct pw_port* pw_node_get_free_port ( struct pw_node node,
enum pw_direction  direction 
)

Get a free unused port from the node.

Referenced by pw_core::pw_core_find_port().

◆ pw_node_get_global()

struct pw_global* pw_node_get_global ( struct pw_node node)

References pw_node::global.

◆ pw_node_get_info()

const struct pw_node_info* pw_node_get_info ( struct pw_node node)

References pw_node::info.

◆ pw_node_get_listeners()

struct spa_hook_list* pw_node_get_listeners ( struct pw_node node)

◆ pw_node_get_owner()

struct pw_resource* pw_node_get_owner ( struct pw_node node)

References pw_node::owner.

◆ pw_node_get_properties()

const struct pw_properties* pw_node_get_properties ( struct pw_node node)

References pw_node::properties.

◆ pw_node_get_user_data()

void* pw_node_get_user_data ( struct pw_node node)

References pw_node::user_data.

◆ pw_node_register()

void pw_node_register ( struct pw_node node)

Complete initialization of the node and register.

◆ pw_node_set_implementation()

void pw_node_set_implementation ( struct pw_node node,
const struct pw_node_implementation implementation,
void *  data 
)

◆ pw_node_set_max_ports()

void pw_node_set_max_ports ( struct pw_node node,
uint32_t  max_input_ports,
uint32_t  max_output_ports 
)

◆ pw_node_set_state()

int pw_node_set_state ( struct pw_node node,
enum pw_node_state  state 
)

Change the state of the node.

◆ pw_node_update_properties()

◆ pw_node_update_state()

void pw_node_update_state ( struct pw_node node,
enum pw_node_state  state,
char *  error 
)

Update the state of the node, mostly used by node implementations.