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
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
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
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
the node is running but there is no active port
Definition: introspect.h:38
#define PW_NODE_CHANGE_MASK_PROPS
Definition: introspect.h:148
the link is unlinked
Definition: introspect.h:58
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
Definition: introspect.h:47
pw_link_state
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
the link is allocating buffers
Definition: introspect.h:61
void pw_port_info_free(struct pw_port_info *info)
Definition: introspect.c:256
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
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
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
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
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
error state
Definition: introspect.h:34
#define PW_FACTORY_CHANGE_MASK_PROPS
Definition: introspect.h:191
The node information.
Definition: introspect.h:142
the link is initialized
Definition: introspect.h:59
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