49 #define SPA_TYPE_INTERFACE_Node SPA_TYPE_INFO_INTERFACE_BASE "Node" 51 #define SPA_VERSION_NODE 0 62 #define SPA_NODE_CHANGE_MASK_FLAGS (1u<<0) 63 #define SPA_NODE_CHANGE_MASK_PROPS (1u<<1) 64 #define SPA_NODE_CHANGE_MASK_PARAMS (1u<<2) 67 #define SPA_NODE_FLAG_RT (1u<<0) 68 #define SPA_NODE_FLAG_IN_DYNAMIC_PORTS (1u<<1) 69 #define SPA_NODE_FLAG_OUT_DYNAMIC_PORTS (1u<<2) 70 #define SPA_NODE_FLAG_IN_PORT_CONFIG (1u<<3) 72 #define SPA_NODE_FLAG_OUT_PORT_CONFIG (1u<<4) 74 #define SPA_NODE_FLAG_NEED_CONFIGURE (1u<<5) 76 #define SPA_NODE_FLAG_ASYNC (1u<<6) 86 #define SPA_NODE_INFO_INIT() (struct spa_node_info) { 0, } 94 #define SPA_PORT_CHANGE_MASK_FLAGS (1u<<0) 95 #define SPA_PORT_CHANGE_MASK_RATE (1u<<1) 96 #define SPA_PORT_CHANGE_MASK_PROPS (1u<<2) 97 #define SPA_PORT_CHANGE_MASK_PARAMS (1u<<3) 100 #define SPA_PORT_FLAG_REMOVABLE (1u<<0) 101 #define SPA_PORT_FLAG_OPTIONAL (1u<<1) 102 #define SPA_PORT_FLAG_CAN_ALLOC_BUFFERS (1u<<2) 103 #define SPA_PORT_FLAG_IN_PLACE (1u<<3) 105 #define SPA_PORT_FLAG_NO_REF (1u<<4) 109 #define SPA_PORT_FLAG_LIVE (1u<<5) 111 #define SPA_PORT_FLAG_PHYSICAL (1u<<6) 112 #define SPA_PORT_FLAG_TERMINAL (1u<<7) 115 #define SPA_PORT_FLAG_DYNAMIC_DATA (1u<<8) 119 struct spa_fraction rate; 120 const struct spa_dict *props; 121 struct spa_param_info *params; 125 #define SPA_PORT_INFO_INIT() (struct spa_port_info) { 0, } 127 #define SPA_RESULT_TYPE_NODE_ERROR 1 128 #define SPA_RESULT_TYPE_NODE_PARAMS 2 143 #define SPA_NODE_EVENT_INFO 0 144 #define SPA_NODE_EVENT_PORT_INFO 1 145 #define SPA_NODE_EVENT_RESULT 2 146 #define SPA_NODE_EVENT_EVENT 3 147 #define SPA_NODE_EVENT_NUM 4 156 #define SPA_VERSION_NODE_EVENTS 0 163 void (*port_info) (
void *
data,
184 uint32_t type,
const void *result);
196 #define SPA_NODE_CALLBACK_READY 0 197 #define SPA_NODE_CALLBACK_REUSE_BUFFER 1 198 #define SPA_NODE_CALLBACK_XRUN 2 199 #define SPA_NODE_CALLBACK_NUM 3 207 #define SPA_VERSION_NODE_CALLBACKS 0 217 int (*ready) (
void *
data,
int state);
229 int (*reuse_buffer) (
void *
data,
243 int (*xrun) (
void *
data, uint64_t trigger, uint64_t delay,
249 #define SPA_NODE_PARAM_FLAG_TEST_ONLY (1 << 0) 250 #define SPA_NODE_PARAM_FLAG_FIXATE (1 << 1) 251 #define SPA_NODE_PARAM_FLAG_NEAREST (1 << 2) 255 #define SPA_NODE_BUFFERS_FLAG_ALLOC (1 << 0) 260 #define SPA_NODE_METHOD_ADD_LISTENER 0 261 #define SPA_NODE_METHOD_SET_CALLBACKS 1 262 #define SPA_NODE_METHOD_SYNC 2 263 #define SPA_NODE_METHOD_ENUM_PARAMS 3 264 #define SPA_NODE_METHOD_SET_PARAM 4 265 #define SPA_NODE_METHOD_SET_IO 5 266 #define SPA_NODE_METHOD_SEND_COMMAND 6 267 #define SPA_NODE_METHOD_ADD_PORT 7 268 #define SPA_NODE_METHOD_REMOVE_PORT 8 269 #define SPA_NODE_METHOD_PORT_ENUM_PARAMS 9 270 #define SPA_NODE_METHOD_PORT_SET_PARAM 10 271 #define SPA_NODE_METHOD_PORT_USE_BUFFERS 11 272 #define SPA_NODE_METHOD_PORT_SET_IO 12 273 #define SPA_NODE_METHOD_PORT_REUSE_BUFFER 13 274 #define SPA_NODE_METHOD_PROCESS 14 275 #define SPA_NODE_METHOD_NUM 15 283 #define SPA_VERSION_NODE_METHODS 0 300 int (*add_listener) (
void *object,
317 int (*set_callbacks) (
void *object,
335 int (*sync) (
void *object,
int seq);
368 int (*enum_params) (
void *object,
int seq,
369 uint32_t
id, uint32_t start, uint32_t max,
393 int (*set_param) (
void *object,
415 int (*set_io) (
void *object,
432 int (*send_command) (
void *object,
const struct spa_command *command);
450 int (*add_port) (
void *object,
464 int (*remove_port) (
void *object,
497 int (*port_enum_params) (
void *object,
int seq,
499 uint32_t
id, uint32_t start, uint32_t max,
525 int (*port_set_param) (
void *object,
571 int (*port_use_buffers) (
void *object,
598 int (*port_set_io) (
void *object,
602 void *
data,
size_t size);
615 int (*port_reuse_buffer) (
void *object, uint32_t port_id, uint32_t buffer_id);
634 int (*process) (
void *object);
637 #define spa_node_method(o,method,version,...) \ 639 int _res = -ENOTSUP; \ 640 struct spa_node *_n = o; \ 641 spa_interface_call_res(&_n->iface, \ 642 struct spa_node_methods, _res, \ 643 method, version, ##__VA_ARGS__); \ 647 #define spa_node_add_listener(n,...) spa_node_method(n, add_listener, 0, __VA_ARGS__) 648 #define spa_node_set_callbacks(n,...) spa_node_method(n, set_callbacks, 0, __VA_ARGS__) 649 #define spa_node_sync(n,...) spa_node_method(n, sync, 0, __VA_ARGS__) 650 #define spa_node_enum_params(n,...) spa_node_method(n, enum_params, 0, __VA_ARGS__) 651 #define spa_node_set_param(n,...) spa_node_method(n, set_param, 0, __VA_ARGS__) 652 #define spa_node_set_io(n,...) spa_node_method(n, set_io, 0, __VA_ARGS__) 653 #define spa_node_send_command(n,...) spa_node_method(n, send_command, 0, __VA_ARGS__) 654 #define spa_node_add_port(n,...) spa_node_method(n, add_port, 0, __VA_ARGS__) 655 #define spa_node_remove_port(n,...) spa_node_method(n, remove_port, 0, __VA_ARGS__) 656 #define spa_node_port_enum_params(n,...) spa_node_method(n, port_enum_params, 0, __VA_ARGS__) 657 #define spa_node_port_set_param(n,...) spa_node_method(n, port_set_param, 0, __VA_ARGS__) 658 #define spa_node_port_use_buffers(n,...) spa_node_method(n, port_use_buffers, 0, __VA_ARGS__) 659 #define spa_node_port_set_io(n,...) spa_node_method(n, port_set_io, 0, __VA_ARGS__) 661 #define spa_node_port_reuse_buffer(n,...) spa_node_method(n, port_reuse_buffer, 0, __VA_ARGS__) 662 #define spa_node_process(n) spa_node_method(n, process, 0)
Definition: x86_64-redhat-linux-gnu/doc/spa/node/node.h:52
spa_direction
Definition: defs.h:77
uint64_t change_mask
Definition: x86_64-redhat-linux-gnu/doc/spa/node/node.h:104
Node information structure.
Definition: x86_64-redhat-linux-gnu/doc/spa/node/node.h:59
the result of enum_params or port_enum_params.
Definition: x86_64-redhat-linux-gnu/doc/spa/node/node.h:151
struct spa_dict * props
extra node properties
Definition: x86_64-redhat-linux-gnu/doc/spa/node/node.h:87
uint32_t n_params
number of items in params
Definition: x86_64-redhat-linux-gnu/doc/spa/node/node.h:89
A hook, contains the structure with functions and the data passed to the functions.
Definition: hook.h:76
struct spa_param_info * params
parameter information
Definition: x86_64-redhat-linux-gnu/doc/spa/node/node.h:88
static uint32_t int int res
Definition: core.h:328
an error result
Definition: x86_64-redhat-linux-gnu/doc/spa/node/node.h:146
static uint32_t int seq
Definition: core.h:328
Definition: utils/dict.h:48
static uint32_t id
Definition: core.h:328
const struct spa_dict * props
extra port properties
Definition: x86_64-redhat-linux-gnu/doc/spa/node/node.h:135
Port information structure.
Definition: x86_64-redhat-linux-gnu/doc/spa/node/node.h:99
events from the spa_node.
Definition: x86_64-redhat-linux-gnu/doc/spa/node/node.h:170
struct spa_interface iface
Definition: x86_64-redhat-linux-gnu/doc/spa/node/node.h:52
information about a parameter
Definition: param.h:63
A Buffer.
Definition: buffer/buffer.h:93
uint64_t change_mask
Definition: x86_64-redhat-linux-gnu/doc/spa/node/node.h:65
Node methods.
Definition: x86_64-redhat-linux-gnu/doc/spa/node/node.h:298
static uint32_t int int const char * message
Definition: core.h:328
uint32_t max_output_ports
Definition: x86_64-redhat-linux-gnu/doc/spa/node/node.h:61
uint64_t flags
port flags
Definition: x86_64-redhat-linux-gnu/doc/spa/node/node.h:133
uint32_t size
Definition: pod/pod.h:51
Node callbacks.
Definition: x86_64-redhat-linux-gnu/doc/spa/node/node.h:221
Definition: pod/event.h:43
Definition: pod/command.h:44
uint32_t max_input_ports
Definition: x86_64-redhat-linux-gnu/doc/spa/node/node.h:60