PipeWire
0.1.4
|
PipeWire node class. More...
Public Member Functions | |
const char * | pw_node_state_as_string (enum pw_node_state state) |
Convert a pw_node_state to a readable string. More... | |
void | pw_node_destroy (struct pw_node *node) |
Destroy a node. More... | |
struct pw_port * | pw_node_get_free_port (struct pw_node *node, enum pw_direction direction) |
pw_node_get_free_port: More... | |
int | pw_node_set_state (struct pw_node *node, enum pw_node_state state) |
Set th node state. More... | |
void | pw_node_update_state (struct pw_node *node, enum pw_node_state state, char *error) |
Update the node state. More... | |
struct pw_node * | pw_node_new (struct pw_core *core, struct pw_resource *owner, struct pw_global *parent, const char *name, struct pw_properties *properties, size_t user_data_size) |
Create a new node. More... | |
Data Fields | |
struct pw_core * | core |
core object More... | |
struct spa_list | link |
link in core node_list More... | |
struct pw_global * | global |
global for this node More... | |
struct pw_resource * | owner |
owner resource if any More... | |
struct pw_properties * | properties |
properties of the node More... | |
struct pw_node_info | info |
introspectable node info More... | |
bool | live |
if the node is live More... | |
struct spa_clock * | clock |
handle to SPA clock if any More... | |
struct spa_list | resource_list |
list of resources for this node More... | |
const struct pw_node_implementation * | implementation |
Implementation of core node functions. More... | |
void * | implementation_data |
struct spa_list | input_ports |
list of input ports More... | |
struct pw_map | input_port_map |
map from port_id to port More... | |
uint32_t | n_used_input_links |
number of active input links More... | |
uint32_t | idle_used_input_links |
number of active input to be idle More... | |
struct spa_list | output_ports |
list of output ports More... | |
struct pw_map | output_port_map |
map from port_id to port More... | |
uint32_t | n_used_output_links |
number of active output links More... | |
uint32_t | idle_used_output_links |
number of active output to be idle More... | |
struct spa_hook_list | listener_list |
struct pw_loop * | data_loop |
the data loop for this node More... | |
struct { | |
struct spa_graph * graph | |
struct spa_graph_node node | |
} | rt |
void * | user_data |
extra user data More... | |
PipeWire node class.
void pw_node_destroy | ( | struct pw_node * | node | ) |
Destroy a node.
node | a node to destroy |
Remove node. This will stop the transfer on the node and free the resources allocated by node.
References data_loop, listener_list, pw_port::port, and pw_loop_invoke.
struct pw_port * pw_node_get_free_port | ( | struct pw_node * | node, |
enum pw_direction | direction | ||
) |
pw_node_get_free_port:
node | a pw_node |
direction | a pw_direction |
Find a new unused port in node with direction
References pw_node_implementation::add_port, implementation, implementation_data, info, input_port_map, input_ports, pw_node_info::max_input_ports, pw_node_info::max_output_ports, pw_node_info::n_input_ports, pw_node_info::n_output_ports, output_port_map, output_ports, PW_DIRECTION_INPUT, PW_DIRECTION_OUTPUT, and pw_map::pw_map_insert_new().
struct pw_node * pw_node_new | ( | struct pw_core * | core, |
struct pw_resource * | owner, | ||
struct pw_global * | parent, | ||
const char * | name, | ||
struct pw_properties * | properties, | ||
size_t | user_data_size | ||
) |
Create a new node.
core | the core |
owner | optional owner |
parent | optional parent |
name | node name |
properties | extra properties |
user_data_size | user data size |
int pw_node_set_state | ( | struct pw_node * | node, |
enum pw_node_state | state | ||
) |
Set th node state.
node | a pw_node |
state | a pw_node_state |
Set the state of node to state.
References listener_list, pw_node_state_as_string(), PW_NODE_STATE_CREATING, and PW_NODE_STATE_SUSPENDED.
const char * pw_node_state_as_string | ( | enum pw_node_state | state | ) |
Convert a pw_node_state to a readable string.
void pw_node_update_state | ( | struct pw_node * | node, |
enum pw_node_state | state, | ||
char * | error | ||
) |
Update the node state.
node | a pw_node |
state | a pw_node_state |
error | error when state is PW_NODE_STATE_ERROR |
Update the state of a node. This method is used from inside node itself.
References pw_node_info::error, info, pw_node_state_as_string(), PW_NODE_STATE_IDLE, and pw_node_info::state.
struct spa_clock* pw_node::clock |
handle to SPA clock if any
Referenced by pw_link_new().
struct pw_core* pw_node::core |
core object
Referenced by pw_link_new(), pw_node_get_core(), and pw_node_new().
struct pw_loop* pw_node::data_loop |
the data loop for this node
Referenced by pw_link_new(), pw_node_destroy(), pw_node_new(), pw_port_add(), pw_port_alloc_buffers(), pw_port_destroy(), and pw_port_use_buffers().
struct pw_global* pw_node::global |
global for this node
Referenced by pw_core::pw_core_find_port(), pw_link_new(), and pw_node_get_global().
struct spa_graph* pw_node::graph |
Referenced by pw_port_add().
uint32_t pw_node::idle_used_input_links |
number of active input to be idle
Referenced by pw_link_inc_idle().
uint32_t pw_node::idle_used_output_links |
number of active output to be idle
Referenced by pw_link_inc_idle().
const struct pw_node_implementation* pw_node::implementation |
Implementation of core node functions.
Referenced by pw_node_get_free_port(), pw_node_set_implementation(), and pw_port_set_implementation().
void* pw_node::implementation_data |
Referenced by pw_node_get_free_port(), and pw_node_set_implementation().
struct pw_node_info pw_node::info |
introspectable node info
Referenced by pw_core::pw_core_find_format(), pw_link_new(), pw_node_get_free_port(), pw_node_get_info(), pw_node_new(), pw_node_set_max_ports(), pw_node_update_properties(), pw_node_update_state(), and pw_port_add().
struct pw_map pw_node::input_port_map |
map from port_id to port
Referenced by pw_node_find_port(), pw_node_get_free_port(), pw_node_new(), and pw_port_add().
struct spa_list pw_node::input_ports |
list of input ports
Referenced by pw_node_for_each_port(), pw_node_get_free_port(), pw_node_new(), and pw_port_add().
struct spa_list pw_node::link |
link in core node_list
Referenced by pw_core::pw_core_find_port().
struct spa_hook_list pw_node::listener_list |
bool pw_node::live |
if the node is live
Referenced by pw_link_new().
uint32_t pw_node::n_used_input_links |
number of active input links
uint32_t pw_node::n_used_output_links |
number of active output links
struct spa_graph_node pw_node::node |
struct pw_map pw_node::output_port_map |
map from port_id to port
Referenced by pw_node_find_port(), pw_node_get_free_port(), pw_node_new(), and pw_port_add().
struct spa_list pw_node::output_ports |
list of output ports
Referenced by pw_node_for_each_port(), pw_node_get_free_port(), pw_node_new(), and pw_port_add().
struct pw_resource* pw_node::owner |
owner resource if any
Referenced by pw_node_get_owner(), and pw_node_new().
struct pw_properties* pw_node::properties |
properties of the node
Referenced by pw_link_new(), pw_node_get_properties(), pw_node_new(), and pw_node_update_properties().
struct spa_list pw_node::resource_list |
list of resources for this node
Referenced by pw_link_new(), pw_node_new(), and pw_node_update_properties().
struct { ... } pw_node::rt |
Referenced by pw_link_new(), pw_node_new(), and pw_port_add().
void* pw_node::user_data |
extra user data
Referenced by pw_link_new(), pw_node_get_user_data(), and pw_node_new().