32 #define SPA_API_NODE SPA_API_IMPL 34 #define SPA_API_NODE static inline 39 #define SPA_TYPE_INTERFACE_Node SPA_TYPE_INFO_INTERFACE_BASE "Node" 41 #define SPA_VERSION_NODE 0 52 #define SPA_NODE_CHANGE_MASK_FLAGS (1u<<0) 53 #define SPA_NODE_CHANGE_MASK_PROPS (1u<<1) 54 #define SPA_NODE_CHANGE_MASK_PARAMS (1u<<2) 57 #define SPA_NODE_FLAG_RT (1u<<0) 58 #define SPA_NODE_FLAG_IN_DYNAMIC_PORTS (1u<<1) 59 #define SPA_NODE_FLAG_OUT_DYNAMIC_PORTS (1u<<2) 60 #define SPA_NODE_FLAG_IN_PORT_CONFIG (1u<<3) 62 #define SPA_NODE_FLAG_OUT_PORT_CONFIG (1u<<4) 64 #define SPA_NODE_FLAG_NEED_CONFIGURE (1u<<5) 66 #define SPA_NODE_FLAG_ASYNC (1u<<6) 76 #define SPA_NODE_INFO_INIT() ((struct spa_node_info) { 0, }) 84 #define SPA_PORT_CHANGE_MASK_FLAGS (1u<<0) 85 #define SPA_PORT_CHANGE_MASK_RATE (1u<<1) 86 #define SPA_PORT_CHANGE_MASK_PROPS (1u<<2) 87 #define SPA_PORT_CHANGE_MASK_PARAMS (1u<<3) 90 #define SPA_PORT_FLAG_REMOVABLE (1u<<0) 91 #define SPA_PORT_FLAG_OPTIONAL (1u<<1) 92 #define SPA_PORT_FLAG_CAN_ALLOC_BUFFERS (1u<<2) 93 #define SPA_PORT_FLAG_IN_PLACE (1u<<3) 95 #define SPA_PORT_FLAG_NO_REF (1u<<4) 99 #define SPA_PORT_FLAG_LIVE (1u<<5) 101 #define SPA_PORT_FLAG_PHYSICAL (1u<<6) 102 #define SPA_PORT_FLAG_TERMINAL (1u<<7) 105 #define SPA_PORT_FLAG_DYNAMIC_DATA (1u<<8) 109 struct spa_fraction rate; 110 const struct spa_dict *props; 111 struct spa_param_info *params; 115 #define SPA_PORT_INFO_INIT() ((struct spa_port_info) { 0, }) 117 #define SPA_RESULT_TYPE_NODE_ERROR 1 118 #define SPA_RESULT_TYPE_NODE_PARAMS 2 133 #define SPA_NODE_EVENT_INFO 0 134 #define SPA_NODE_EVENT_PORT_INFO 1 135 #define SPA_NODE_EVENT_RESULT 2 136 #define SPA_NODE_EVENT_EVENT 3 137 #define SPA_NODE_EVENT_NUM 4 146 #define SPA_VERSION_NODE_EVENTS 0 153 void (*port_info) (
void *data,
173 void (*result) (
void *data,
int seq,
int res,
174 uint32_t type,
const void *result);
183 void (*event) (
void *data,
const struct spa_event *event);
186 #define SPA_NODE_CALLBACK_READY 0 187 #define SPA_NODE_CALLBACK_REUSE_BUFFER 1 188 #define SPA_NODE_CALLBACK_XRUN 2 189 #define SPA_NODE_CALLBACK_NUM 3 197 #define SPA_VERSION_NODE_CALLBACKS 0 207 int (*ready) (
void *data,
int state);
219 int (*reuse_buffer) (
void *data,
233 int (*xrun) (
void *data, uint64_t trigger, uint64_t delay,
239 #define SPA_NODE_PARAM_FLAG_TEST_ONLY (1 << 0) 240 #define SPA_NODE_PARAM_FLAG_FIXATE (1 << 1) 241 #define SPA_NODE_PARAM_FLAG_NEAREST (1 << 2) 245 #define SPA_NODE_BUFFERS_FLAG_ALLOC (1 << 0) 250 #define SPA_NODE_METHOD_ADD_LISTENER 0 251 #define SPA_NODE_METHOD_SET_CALLBACKS 1 252 #define SPA_NODE_METHOD_SYNC 2 253 #define SPA_NODE_METHOD_ENUM_PARAMS 3 254 #define SPA_NODE_METHOD_SET_PARAM 4 255 #define SPA_NODE_METHOD_SET_IO 5 256 #define SPA_NODE_METHOD_SEND_COMMAND 6 257 #define SPA_NODE_METHOD_ADD_PORT 7 258 #define SPA_NODE_METHOD_REMOVE_PORT 8 259 #define SPA_NODE_METHOD_PORT_ENUM_PARAMS 9 260 #define SPA_NODE_METHOD_PORT_SET_PARAM 10 261 #define SPA_NODE_METHOD_PORT_USE_BUFFERS 11 262 #define SPA_NODE_METHOD_PORT_SET_IO 12 263 #define SPA_NODE_METHOD_PORT_REUSE_BUFFER 13 264 #define SPA_NODE_METHOD_PROCESS 14 265 #define SPA_NODE_METHOD_NUM 15 273 #define SPA_VERSION_NODE_METHODS 0 290 int (*add_listener) (
void *object,
307 int (*set_callbacks) (
void *object,
325 int (*sync) (
void *object,
int seq);
358 int (*enum_params) (
void *object,
int seq,
359 uint32_t
id, uint32_t start, uint32_t max,
383 int (*set_param) (
void *object,
405 int (*set_io) (
void *object,
406 uint32_t
id,
void *data,
size_t size);
422 int (*send_command) (
void *object,
const struct spa_command *command);
440 int (*add_port) (
void *object,
454 int (*remove_port) (
void *object,
490 int (*port_enum_params) (
void *object,
int seq,
492 uint32_t
id, uint32_t start, uint32_t max,
520 int (*port_set_param) (
void *object,
567 int (*port_use_buffers) (
void *object,
599 int (*port_set_io) (
void *object,
603 void *data,
size_t size);
616 int (*port_reuse_buffer) (
void *object, uint32_t port_id, uint32_t buffer_id);
641 int (*process) (
void *object);
651 listener, events, data);
666 uint32_t
id, uint32_t start, uint32_t max,
670 seq,
id, start, max, filter);
673 uint32_t
id, uint32_t
flags,
680 uint32_t
id,
void *data,
size_t size)
696 direction, port_id, props);
706 uint32_t
id, uint32_t start, uint32_t max,
710 seq, direction, port_id,
id, start, max, filter);
715 uint32_t
id, uint32_t
flags,
719 direction, port_id,
id,
flags, param);
729 direction, port_id,
flags, buffers, n_buffers);
734 uint32_t
id,
void *data,
size_t size)
737 direction, port_id,
id, data, size);
SPA_API_NODE int spa_node_remove_port(struct spa_node *object, enum spa_direction direction, uint32_t port_id)
Definition: node.h:784
SPA_API_NODE int spa_node_port_set_io(struct spa_node *object, enum spa_direction direction, uint32_t port_id, uint32_t id, void *data, size_t size)
Definition: node.h:817
uint32_t int int const char * message
Definition: core.h:432
SPA_API_NODE int spa_node_set_callbacks(struct spa_node *object, const struct spa_node_callbacks *callbacks, void *data)
Definition: node.h:739
uint64_t change_mask
Definition: node.h:118
Node information structure.
Definition: node.h:58
SPA_API_NODE int spa_node_process(struct spa_node *object)
Definition: node.h:836
the result of enum_params or port_enum_params.
Definition: node.h:177
SPA_API_NODE int spa_node_sync(struct spa_node *object, int seq)
Definition: node.h:746
uint32_t n_params
number of items in params
Definition: node.h:98
A hook, contains the structure with functions and the data passed to the functions.
Definition: hook.h:427
struct spa_param_info * params
parameter information
Definition: node.h:97
SPA_API_NODE int spa_node_port_reuse_buffer_fast(struct spa_node *object, uint32_t port_id, uint32_t buffer_id)
Definition: node.h:831
SPA_API_NODE int spa_node_add_port(struct spa_node *object, enum spa_direction direction, uint32_t port_id, const struct spa_dict *props)
Definition: node.h:777
#define spa_api_method_fast_r(rtype, def, type, o, method, version,...)
Definition: hook.h:325
SPA_API_NODE int spa_node_set_io(struct spa_node *object, uint32_t id, void *data, size_t size)
Definition: node.h:765
an error result
Definition: node.h:172
#define SPA_API_NODE
Definition: node.h:41
SPA_API_NODE int spa_node_port_use_buffers(struct spa_node *object, enum spa_direction direction, uint32_t port_id, uint32_t flags, struct spa_buffer **buffers, uint32_t n_buffers)
Definition: node.h:807
Port information structure.
Definition: node.h:109
events from the spa_node.
Definition: node.h:201
SPA_API_NODE int spa_node_port_reuse_buffer(struct spa_node *object, uint32_t port_id, uint32_t buffer_id)
Definition: node.h:826
struct spa_interface iface
Definition: node.h:51
SPA_API_NODE int spa_node_process_fast(struct spa_node *object)
Definition: node.h:840
information about a parameter
Definition: param.h:51
A Buffer.
Definition: buffer.h:114
uint64_t change_mask
Definition: node.h:67
#define spa_api_method_r(rtype, def, type, o, method, version,...)
Definition: hook.h:291
uint32_t int seq
Definition: core.h:432
SPA_API_NODE int spa_node_add_listener(struct spa_node *object, struct spa_hook *listener, const struct spa_node_events *events, void *data)
Definition: node.h:731
Node methods.
Definition: node.h:355
uint32_t max_output_ports
Definition: node.h:60
uint64_t flags
port flags
Definition: node.h:156
SPA_API_NODE int spa_node_port_enum_params(struct spa_node *object, int seq, enum spa_direction direction, uint32_t port_id, uint32_t id, uint32_t start, uint32_t max, const struct spa_pod *filter)
Definition: node.h:790
uint32_t size
Definition: pod.h:44
Node callbacks.
Definition: node.h:257
spa_direction
Definition: defs.h:106
SPA_API_NODE int spa_node_port_set_param(struct spa_node *object, enum spa_direction direction, uint32_t port_id, uint32_t id, uint32_t flags, const struct spa_pod *param)
Definition: node.h:798
uint32_t int int res
Definition: core.h:432
SPA_API_NODE int spa_node_set_param(struct spa_node *object, uint32_t id, uint32_t flags, const struct spa_pod *param)
Definition: node.h:758
SPA_API_NODE int spa_node_send_command(struct spa_node *object, const struct spa_command *command)
Definition: node.h:771
uint32_t id
Definition: core.h:432
SPA_API_NODE int spa_node_enum_params(struct spa_node *object, int seq, uint32_t id, uint32_t start, uint32_t max, const struct spa_pod *filter)
Definition: node.h:751
uint32_t max_input_ports
Definition: node.h:59