Go to the documentation of this file.
20 #ifndef __PIPEWIRE_INTROSPECT_H__
21 #define __PIPEWIRE_INTROSPECT_H__
23 #include <spa/utils/defs.h>
24 #include <spa/param/param.h>
78 #define PW_CORE_CHANGE_MASK_USER_NAME (1 << 0)
79 #define PW_CORE_CHANGE_MASK_HOST_NAME (1 << 1)
80 #define PW_CORE_CHANGE_MASK_VERSION (1 << 2)
81 #define PW_CORE_CHANGE_MASK_NAME (1 << 3)
82 #define PW_CORE_CHANGE_MASK_COOKIE (1 << 4)
83 #define PW_CORE_CHANGE_MASK_PROPS (1 << 5)
84 #define PW_CORE_CHANGE_MASK_ALL (~0)
105 #define PW_MODULE_CHANGE_MASK_NAME (1 << 0)
106 #define PW_MODULE_CHANGE_MASK_FILENAME (1 << 1)
107 #define PW_MODULE_CHANGE_MASK_ARGS (1 << 2)
108 #define PW_MODULE_CHANGE_MASK_PROPS (1 << 3)
127 #define PW_CLIENT_CHANGE_MASK_PROPS (1 << 0)
144 #define PW_NODE_CHANGE_MASK_NAME (1 << 0)
145 #define PW_NODE_CHANGE_MASK_INPUT_PORTS (1 << 1)
146 #define PW_NODE_CHANGE_MASK_OUTPUT_PORTS (1 << 2)
147 #define PW_NODE_CHANGE_MASK_STATE (1 << 3)
148 #define PW_NODE_CHANGE_MASK_PROPS (1 << 4)
149 #define PW_NODE_CHANGE_MASK_ENUM_PARAMS (1 << 5)
170 #define PW_PORT_CHANGE_MASK_NAME (1 << 0)
171 #define PW_PORT_CHANGE_MASK_PROPS (1 << 1)
172 #define PW_PORT_CHANGE_MASK_ENUM_PARAMS (1 << 2)
191 #define PW_FACTORY_CHANGE_MASK_PROPS (1 << 0)
206 #define PW_LINK_CHANGE_MASK_OUTPUT (1 << 0)
207 #define PW_LINK_CHANGE_MASK_INPUT (1 << 1)
208 #define PW_LINK_CHANGE_MASK_FORMAT (1 << 2)
209 #define PW_LINK_CHANGE_MASK_PROPS (1 << 3)
struct spa_dict * props
the properties of the node
Definition: introspect.h:158
struct pw_factory_info * pw_factory_info_update(struct pw_factory_info *info, const struct pw_factory_info *update)
Definition: introspect.c:266
@ PW_NODE_STATE_CREATING
the node is being created
Definition: introspect.h:35
SPA_EXPORT void pw_link_info_free(struct pw_link_info *info)
Definition: introspect.c:410
struct pw_client_info * pw_client_info_update(struct pw_client_info *info, const struct pw_client_info *update)
Update and existing pw_client_info with update.
Definition: introspect.c:349
SPA_EXPORT struct pw_node_info * pw_node_info_update(struct pw_node_info *info, const struct pw_node_info *update)
Definition: introspect.c:175
uint32_t input_port_id
input port id
Definition: introspect.h:214
uint32_t id
id of the global
Definition: introspect.h:205
@ PW_DIRECTION_OUTPUT
an output port direction
Definition: introspect.h:49
The core information.
Definition: introspect.h:76
uint64_t change_mask
bitfield of changed fields since last call
Definition: introspect.h:192
const char * name
name the port, suitable for display
Definition: introspect.h:174
uint64_t change_mask
bitfield of changed fields since last call
Definition: introspect.h:173
#define PW_MODULE_CHANGE_MASK_ARGS
Definition: introspect.h:107
@ PW_DIRECTION_INPUT
an input port direction
Definition: introspect.h:48
SPA_EXPORT void pw_factory_info_free(struct pw_factory_info *info)
Definition: introspect.c:293
const char * args
arguments passed to the module
Definition: introspect.h:112
uint64_t change_mask
bitfield of changed fields since last call
Definition: introspect.h:210
struct pw_link_info * pw_link_info_update(struct pw_link_info *info, const struct pw_link_info *update)
Definition: introspect.c:380
@ PW_NODE_STATE_IDLE
the node is running but there is no active port
Definition: introspect.h:38
#define PW_NODE_CHANGE_MASK_PROPS
Definition: introspect.h:148
@ PW_LINK_STATE_UNLINKED
the link is unlinked
Definition: introspect.h:58
@ PW_LINK_STATE_NEGOTIATING
the link is negotiating formats
Definition: introspect.h:60
const char * pw_direction_as_string(enum pw_direction direction)
Convert a pw_direction to a readable string.
Definition: introspect.c:45
#define PW_NODE_CHANGE_MASK_NAME
Definition: introspect.h:144
struct pw_core_info * pw_core_info_update(struct pw_core_info *info, const struct pw_core_info *update)
Update and existing pw_core_info with update.
Definition: introspect.c:122
uint32_t id
id of the global
Definition: introspect.h:187
struct pw_module_info * pw_module_info_update(struct pw_module_info *info, const struct pw_module_info *update)
Update and existing pw_module_info with update.
Definition: introspect.c:302
const char * user_name
name of the user that started the core
Definition: introspect.h:86
const char * version
version of the core
Definition: introspect.h:88
pw_direction
The direction of a port.
Definition: introspect.h:47
pw_link_state
The different link states.
Definition: introspect.h:56
SPA_EXPORT struct pw_link_info * pw_link_info_update(struct pw_link_info *info, const struct pw_link_info *update)
Definition: introspect.c:380
uint32_t id
id of the global
Definition: introspect.h:104
#define PW_MODULE_CHANGE_MASK_PROPS
Definition: introspect.h:108
@ PW_LINK_STATE_ALLOCATING
the link is allocating buffers
Definition: introspect.h:61
void pw_port_info_free(struct pw_port_info *info)
Definition: introspect.c:256
@ PW_NODE_STATE_RUNNING
the node is running
Definition: introspect.h:40
struct spa_dict * props
the properties of the port
Definition: introspect.h:175
const char * host_name
name of the machine the core is running on
Definition: introspect.h:87
static struct spa_pod * pw_spa_pod_copy(const struct spa_pod *pod)
Copy a pod structure
Definition: utils.h:52
SPA_EXPORT struct pw_port_info * pw_port_info_update(struct pw_port_info *info, const struct pw_port_info *update)
Definition: introspect.c:228
uint32_t n_input_ports
number of inputs
Definition: introspect.h:153
uint32_t id
id of the global
Definition: introspect.h:126
Definition: introspect.h:168
SPA_EXPORT struct pw_factory_info * pw_factory_info_update(struct pw_factory_info *info, const struct pw_factory_info *update)
Definition: introspect.c:266
@ PW_LINK_STATE_RUNNING
the link is running
Definition: introspect.h:63
#define PW_MODULE_CHANGE_MASK_FILENAME
Definition: introspect.h:106
uint32_t id
id of the global
Definition: introspect.h:143
const char * pw_node_state_as_string(enum pw_node_state state)
Convert a pw_node_state to a readable string.
Definition: introspect.c:27
uint64_t change_mask
bitfield of changed fields since last call
Definition: introspect.h:85
uint32_t input_node_id
server side input node id
Definition: introspect.h:213
struct spa_dict * props
extra properties
Definition: introspect.h:91
uint64_t change_mask
bitfield of changed fields since last call
Definition: introspect.h:128
The client information.
Definition: introspect.h:125
struct spa_dict * props
extra properties
Definition: introspect.h:129
void pw_module_info_free(struct pw_module_info *info)
Free a pw_module_info.
Definition: introspect.c:337
#define PW_PORT_CHANGE_MASK_PROPS
Definition: introspect.h:171
#define PW_NODE_CHANGE_MASK_OUTPUT_PORTS
Definition: introspect.h:146
#define PW_MODULE_CHANGE_MASK_NAME
Definition: introspect.h:105
SPA_EXPORT void pw_node_info_free(struct pw_node_info *info)
Definition: introspect.c:217
void pw_core_info_free(struct pw_core_info *info)
Free a pw_core_info.
Definition: introspect.c:163
The module information.
Definition: introspect.h:103
uint32_t type
type of the factory
Definition: introspect.h:189
uint32_t n_output_ports
number of outputs
Definition: introspect.h:155
#define PW_CORE_CHANGE_MASK_VERSION
Definition: introspect.h:80
uint32_t max_input_ports
maximum number of inputs
Definition: introspect.h:152
void pw_factory_info_free(struct pw_factory_info *info)
Definition: introspect.c:293
SPA_EXPORT void pw_port_info_free(struct pw_port_info *info)
Definition: introspect.c:256
struct spa_dict * props
extra properties
Definition: introspect.h:113
@ PW_LINK_STATE_PAUSED
the link is paused
Definition: introspect.h:62
#define PW_CORE_CHANGE_MASK_PROPS
Definition: introspect.h:83
uint32_t version
version of the objects
Definition: introspect.h:190
const char * name
name the node, suitable for display
Definition: introspect.h:151
#define PW_PORT_CHANGE_MASK_NAME
Definition: introspect.h:170
#define PW_LINK_CHANGE_MASK_INPUT
Definition: introspect.h:207
void pw_link_info_free(struct pw_link_info *info)
Definition: introspect.c:410
void pw_client_info_free(struct pw_client_info *info)
Free a pw_client_info.
Definition: introspect.c:372
The factory information.
Definition: introspect.h:186
struct pw_port_info * pw_port_info_update(struct pw_port_info *info, const struct pw_port_info *update)
Definition: introspect.c:228
const char * name
name of the core
Definition: introspect.h:89
uint32_t id
id of the global
Definition: introspect.h:169
uint32_t cookie
a random cookie for identifying this instance of PipeWire
Definition: introspect.h:90
const char * name
name of the module
Definition: introspect.h:110
uint64_t change_mask
bitfield of changed fields since last call
Definition: introspect.h:109
enum pw_node_state state
the current state of the node
Definition: introspect.h:156
#define PW_CORE_CHANGE_MASK_COOKIE
Definition: introspect.h:82
The link information.
Definition: introspect.h:204
struct spa_dict * props
the properties of the factory
Definition: introspect.h:193
void pw_node_info_free(struct pw_node_info *info)
Definition: introspect.c:217
#define PW_NODE_CHANGE_MASK_INPUT_PORTS
Definition: introspect.h:145
uint32_t output_node_id
server side output node id
Definition: introspect.h:211
const char * error
an error reason if state is error
Definition: introspect.h:157
@ PW_LINK_STATE_ERROR
the link is in error
Definition: introspect.h:57
uint32_t output_port_id
output port id
Definition: introspect.h:212
#define PW_CORE_CHANGE_MASK_HOST_NAME
Definition: introspect.h:79
#define PW_LINK_CHANGE_MASK_OUTPUT
Definition: introspect.h:206
const char * name
name the factory
Definition: introspect.h:188
#define PW_NODE_CHANGE_MASK_STATE
Definition: introspect.h:147
struct pw_node_info * pw_node_info_update(struct pw_node_info *info, const struct pw_node_info *update)
Definition: introspect.c:175
uint32_t id
id of the global
Definition: introspect.h:77
struct spa_pod * format
format over link
Definition: introspect.h:215
#define PW_CLIENT_CHANGE_MASK_PROPS
Definition: introspect.h:127
pw_node_state
The different node states.
Definition: introspect.h:33
const char * pw_link_state_as_string(enum pw_link_state state)
Convert a pw_link_state to a readable string.
Definition: introspect.c:59
#define PW_CORE_CHANGE_MASK_USER_NAME
Definition: introspect.h:78
#define PW_LINK_CHANGE_MASK_FORMAT
Definition: introspect.h:208
uint64_t change_mask
bitfield of changed fields since last call
Definition: introspect.h:150
struct spa_dict * props
the properties of the link
Definition: introspect.h:216
@ PW_NODE_STATE_ERROR
error state
Definition: introspect.h:34
#define PW_FACTORY_CHANGE_MASK_PROPS
Definition: introspect.h:191
The node information.
Definition: introspect.h:142
@ PW_LINK_STATE_INIT
the link is initialized
Definition: introspect.h:59
@ PW_NODE_STATE_SUSPENDED
the node is suspended, the device might be closed
Definition: introspect.h:36
const char * filename
filename of the module
Definition: introspect.h:111
uint32_t max_output_ports
maximum number of outputs
Definition: introspect.h:154
#define PW_CORE_CHANGE_MASK_NAME
Definition: introspect.h:81