PipeWire 1.4.1
|
Node interface More...
Files | |
file | node.h |
pipewire/node.h | |
Data Structures | |
struct | pw_node_info |
The node information. More... | |
struct | pw_node_events |
Node events. More... | |
struct | pw_node_methods |
Node methods. More... | |
struct | pw_node |
Enumerations | |
enum | pw_node_state { PW_NODE_STATE_ERROR = -1 , PW_NODE_STATE_CREATING = 0 , PW_NODE_STATE_SUSPENDED = 1 , PW_NODE_STATE_IDLE = 2 , PW_NODE_STATE_RUNNING = 3 } |
The different node states. More... | |
Macros | |
#define | PW_TYPE_INTERFACE_Node PW_TYPE_INFO_INTERFACE_BASE "Node" |
#define | PW_NODE_PERM_MASK PW_PERM_RWXML |
#define | PW_VERSION_NODE 3 |
#define | PW_API_NODE_IMPL static inline |
#define | PW_NODE_CHANGE_MASK_INPUT_PORTS (1 << 0) |
#define | PW_NODE_CHANGE_MASK_OUTPUT_PORTS (1 << 1) |
#define | PW_NODE_CHANGE_MASK_STATE (1 << 2) |
#define | PW_NODE_CHANGE_MASK_PROPS (1 << 3) |
#define | PW_NODE_CHANGE_MASK_PARAMS (1 << 4) |
#define | PW_NODE_CHANGE_MASK_ALL ((1 << 5)-1) |
#define | PW_NODE_EVENT_INFO 0 |
#define | PW_NODE_EVENT_PARAM 1 |
#define | PW_NODE_EVENT_NUM 2 |
#define | PW_VERSION_NODE_EVENTS 0 |
#define | PW_NODE_METHOD_ADD_LISTENER 0 |
#define | PW_NODE_METHOD_SUBSCRIBE_PARAMS 1 |
#define | PW_NODE_METHOD_ENUM_PARAMS 2 |
#define | PW_NODE_METHOD_SET_PARAM 3 |
#define | PW_NODE_METHOD_SEND_COMMAND 4 |
#define | PW_NODE_METHOD_NUM 5 |
#define | PW_VERSION_NODE_METHODS 0 |
Functions | |
const char * | pw_node_state_as_string (enum pw_node_state state) |
Convert a pw_node_state to a readable string. | |
struct pw_node_info * | pw_node_info_update (struct pw_node_info *info, const struct pw_node_info *update) |
struct pw_node_info * | pw_node_info_merge (struct pw_node_info *info, const struct pw_node_info *update, bool reset) |
void | pw_node_info_free (struct pw_node_info *info) |
PW_API_NODE_IMPL int | pw_node_add_listener (struct pw_node *object, struct spa_hook *listener, const struct pw_node_events *events, void *data) |
PW_API_NODE_IMPL int | pw_node_subscribe_params (struct pw_node *object, uint32_t *ids, uint32_t n_ids) |
Subscribe to parameter changes. | |
PW_API_NODE_IMPL int | pw_node_enum_params (struct pw_node *object, int seq, uint32_t id, uint32_t start, uint32_t num, const struct spa_pod *filter) |
Enumerate node parameters. | |
PW_API_NODE_IMPL int | pw_node_set_param (struct pw_node *object, uint32_t id, uint32_t flags, const struct spa_pod *param) |
Set a parameter on the node. | |
PW_API_NODE_IMPL int | pw_node_send_command (struct pw_node *object, const struct spa_command *command) |
Send a command to the node. | |
Node interface
enum pw_node_state |
The different node states.
#define PW_TYPE_INTERFACE_Node PW_TYPE_INFO_INTERFACE_BASE "Node" |
#define PW_NODE_PERM_MASK PW_PERM_RWXML |
#define PW_VERSION_NODE 3 |
#define PW_API_NODE_IMPL static inline |
#define PW_NODE_CHANGE_MASK_INPUT_PORTS (1 << 0) |
#define PW_NODE_CHANGE_MASK_OUTPUT_PORTS (1 << 1) |
#define PW_NODE_CHANGE_MASK_STATE (1 << 2) |
#define PW_NODE_CHANGE_MASK_PROPS (1 << 3) |
#define PW_NODE_CHANGE_MASK_PARAMS (1 << 4) |
#define PW_NODE_CHANGE_MASK_ALL ((1 << 5)-1) |
#define PW_NODE_EVENT_INFO 0 |
#define PW_NODE_EVENT_PARAM 1 |
#define PW_NODE_EVENT_NUM 2 |
#define PW_VERSION_NODE_EVENTS 0 |
#define PW_NODE_METHOD_ADD_LISTENER 0 |
#define PW_NODE_METHOD_SUBSCRIBE_PARAMS 1 |
#define PW_NODE_METHOD_ENUM_PARAMS 2 |
#define PW_NODE_METHOD_SET_PARAM 3 |
#define PW_NODE_METHOD_SEND_COMMAND 4 |
#define PW_NODE_METHOD_NUM 5 |
#define PW_VERSION_NODE_METHODS 0 |
const char * pw_node_state_as_string | ( | enum pw_node_state | state | ) |
Convert a pw_node_state to a readable string.
struct pw_node_info * pw_node_info_update | ( | struct pw_node_info * | info, |
const struct pw_node_info * | update ) |
struct pw_node_info * pw_node_info_merge | ( | struct pw_node_info * | info, |
const struct pw_node_info * | update, | ||
bool | reset ) |
void pw_node_info_free | ( | struct pw_node_info * | info | ) |
PW_API_NODE_IMPL int pw_node_add_listener | ( | struct pw_node * | object, |
struct spa_hook * | listener, | ||
const struct pw_node_events * | events, | ||
void * | data ) |
PW_API_NODE_IMPL int pw_node_subscribe_params | ( | struct pw_node * | object, |
uint32_t * | ids, | ||
uint32_t | n_ids ) |
Subscribe to parameter changes.
Automatically emit param events for the given ids when they are changed.
ids | an array of param ids |
n_ids | the number of ids in ids |
This requires X permissions on the node.
PW_API_NODE_IMPL int pw_node_enum_params | ( | struct pw_node * | object, |
int | seq, | ||
uint32_t | id, | ||
uint32_t | start, | ||
uint32_t | num, | ||
const struct spa_pod * | filter ) |
Enumerate node parameters.
Start enumeration of node parameters. For each param, a param event will be emitted.
seq | a sequence number to place in the reply |
id | the parameter id to enum or PW_ID_ANY for all |
start | the start index or 0 for the first param |
num | the maximum number of params to retrieve |
filter | a param filter or NULL |
This requires X permissions on the node.
PW_API_NODE_IMPL int pw_node_set_param | ( | struct pw_node * | object, |
uint32_t | id, | ||
uint32_t | flags, | ||
const struct spa_pod * | param ) |
Set a parameter on the node.
id | the parameter id to set |
flags | extra parameter flags |
param | the parameter to set |
This requires X and W permissions on the node.
PW_API_NODE_IMPL int pw_node_send_command | ( | struct pw_node * | object, |
const struct spa_command * | command ) |
Send a command to the node.
command | the command to send |
This requires X and W permissions on the node.