node.h File Reference
SPA » Node

`spa/node/node.h` More...

Go to the source code of this file.

## Data Structures

struct | spa_node
struct | spa_node_info
| Node information structure. More...
struct | spa_port_info
| Port information structure. More...
struct | spa_result_node_error
| an error result More...
struct | spa_result_node_params
| the result of enum_params or port_enum_params. More...
struct | spa_node_events
| events from the spa_node. More...
struct | spa_node_callbacks
| Node callbacks. More...
struct | spa_node_methods
| Node methods. More...

## Macros

#define | SPA_TYPE_INTERFACE_Node SPA_TYPE_INFO_INTERFACE_BASE "Node"
#define | SPA_VERSION_NODE 0
#define | SPA_NODE_CHANGE_MASK_FLAGS (1u<<0)
#define | SPA_NODE_CHANGE_MASK_PROPS (1u<<1)
#define | SPA_NODE_CHANGE_MASK_PARAMS (1u<<2)
#define | SPA_NODE_FLAG_RT (1u<<0)
| node can do real-time processing More...
#define | SPA_NODE_FLAG_IN_DYNAMIC_PORTS (1u<<1)
| input ports can be added/removed More...
#define | SPA_NODE_FLAG_OUT_DYNAMIC_PORTS (1u<<2)
| output ports can be added/removed More...
#define | SPA_NODE_FLAG_IN_PORT_CONFIG (1u<<3)
| input ports can be reconfigured with PortConfig parameter More...
#define | SPA_NODE_FLAG_OUT_PORT_CONFIG (1u<<4)
| output ports can be reconfigured with PortConfig parameter More...
#define | SPA_NODE_FLAG_NEED_CONFIGURE (1u<<5)
| node needs configuration before it can be started. More...
#define | SPA_NODE_FLAG_ASYNC (1u<<6)
| the process function might not immediately produce or consume data but might offload the work to a worker thread. More...
#define | SPA_NODE_INFO_INIT() (struct spa_node_info) { 0, }
#define | SPA_PORT_CHANGE_MASK_FLAGS (1u<<0)
#define | SPA_PORT_CHANGE_MASK_RATE (1u<<1)
#define | SPA_PORT_CHANGE_MASK_PROPS (1u<<2)
#define | SPA_PORT_CHANGE_MASK_PARAMS (1u<<3)
#define | SPA_PORT_FLAG_REMOVABLE (1u<<0)
| port can be removed More...
#define | SPA_PORT_FLAG_OPTIONAL (1u<<1)
| processing on port is optional More...
#define | SPA_PORT_FLAG_CAN_ALLOC_BUFFERS (1u<<2)
| the port can allocate buffer data More...
#define | SPA_PORT_FLAG_IN_PLACE (1u<<3)
| the port can process data in-place and will need a writable input buffer More...
#define | SPA_PORT_FLAG_NO_REF (1u<<4)
| the port does not keep a ref on the buffer. More...
#define | SPA_PORT_FLAG_LIVE (1u<<5)
| output buffers from this port are timestamped against a live clock. More...
#define | SPA_PORT_FLAG_PHYSICAL (1u<<6)
| connects to some device More...
#define | SPA_PORT_FLAG_TERMINAL (1u<<7)
| data was not created from this port or will not be made available on another port More...
#define | SPA_PORT_FLAG_DYNAMIC_DATA (1u<<8)
| data pointer on buffers can be changed. More...
#define | SPA_PORT_INFO_INIT() (struct spa_port_info) { 0, }
#define | SPA_RESULT_TYPE_NODE_ERROR 1
#define | SPA_RESULT_TYPE_NODE_PARAMS 2
#define | SPA_NODE_EVENT_INFO 0
#define | SPA_NODE_EVENT_PORT_INFO 1
#define | SPA_NODE_EVENT_RESULT 2
#define | SPA_NODE_EVENT_EVENT 3
#define | SPA_NODE_EVENT_NUM 4
#define | SPA_VERSION_NODE_EVENTS 0
#define | SPA_NODE_CALLBACK_READY 0
#define | SPA_NODE_CALLBACK_REUSE_BUFFER 1
#define | SPA_NODE_CALLBACK_XRUN 2
#define | SPA_NODE_CALLBACK_NUM 3
#define | SPA_VERSION_NODE_CALLBACKS 0
#define | SPA_NODE_PARAM_FLAG_TEST_ONLY (1 << 0)
| flags that can be passed to set_param and port_set_param functions More...
#define | SPA_NODE_PARAM_FLAG_FIXATE (1 << 1)
| Fixate the non-optional unset fields. More...
#define | SPA_NODE_PARAM_FLAG_NEAREST (1 << 2)
| Allow set fields to be rounded to the nearest allowed field value. More...
#define | SPA_NODE_BUFFERS_FLAG_ALLOC (1 << 0)
| flags to pass to the use_buffers functions More...
#define | SPA_NODE_METHOD_ADD_LISTENER 0
#define | SPA_NODE_METHOD_SET_CALLBACKS 1
#define | SPA_NODE_METHOD_SYNC 2
#define | SPA_NODE_METHOD_ENUM_PARAMS 3
#define | SPA_NODE_METHOD_SET_PARAM 4
#define | SPA_NODE_METHOD_SET_IO 5
#define | SPA_NODE_METHOD_SEND_COMMAND 6
#define | SPA_NODE_METHOD_ADD_PORT 7
#define | SPA_NODE_METHOD_REMOVE_PORT 8
#define | SPA_NODE_METHOD_PORT_ENUM_PARAMS 9
#define | SPA_NODE_METHOD_PORT_SET_PARAM 10
#define | SPA_NODE_METHOD_PORT_USE_BUFFERS 11
#define | SPA_NODE_METHOD_PORT_SET_IO 12
#define | SPA_NODE_METHOD_PORT_REUSE_BUFFER 13
#define | SPA_NODE_METHOD_PROCESS 14
#define | SPA_NODE_METHOD_NUM 15
#define | SPA_VERSION_NODE_METHODS 0
#define | spa_node_method(o, method, version, ...)
#define | spa_node_add_listener(n, ...) spa_node_method(n, add_listener, 0, __VA_ARGS__)
| Adds an event listener on node. More...
#define | spa_node_set_callbacks(n, ...) spa_node_method(n, set_callbacks, 0, __VA_ARGS__)
| Set callbacks to on node. More...
#define | spa_node_sync(n, ...) spa_node_method(n, sync, 0, __VA_ARGS__)
| Perform a sync operation. More...
#define | spa_node_enum_params(n, ...) spa_node_method(n, enum_params, 0, __VA_ARGS__)
| Enumerate the parameters of a node. More...
#define | spa_node_set_param(n, ...) spa_node_method(n, set_param, 0, __VA_ARGS__)
| Set the configurable parameter in node. More...
#define | spa_node_set_io(n, ...) spa_node_method(n, set_io, 0, __VA_ARGS__)
| Configure the given memory area with id on node. More...
#define | spa_node_send_command(n, ...) spa_node_method(n, send_command, 0, __VA_ARGS__)
| Send a command to a node. More...
#define | spa_node_add_port(n, ...) spa_node_method(n, add_port, 0, __VA_ARGS__)
| Make a new port with port_id. More...
#define | spa_node_remove_port(n, ...) spa_node_method(n, remove_port, 0, __VA_ARGS__)
| Remove a port with port_id. More...
#define | spa_node_port_enum_params(n, ...) spa_node_method(n, port_enum_params, 0, __VA_ARGS__)
| Enumerate all possible parameters of id on port_id of node that are compatible with filter. More...
#define | spa_node_port_set_param(n, ...) spa_node_method(n, port_set_param, 0, __VA_ARGS__)
| Set a parameter on port_id of node. More...
#define | spa_node_port_use_buffers(n, ...) spa_node_method(n, port_use_buffers, 0, __VA_ARGS__)
| Tell the port to use the given buffers. More...
#define | spa_node_port_set_io(n, ...) spa_node_method(n, port_set_io, 0, __VA_ARGS__)
| Configure the given memory area with id on port_id. More...
#define | spa_node_port_reuse_buffer(n, ...) spa_node_method(n, port_reuse_buffer, 0, __VA_ARGS__)
| Tell an output port to reuse a buffer. More...
#define | spa_node_process(n) spa_node_method(n, process, 0)
| Process the node. More...

## Detailed Description

`spa/node/node.h`