26#ifndef PIPEWIRE_EXT_SESSION_MANAGER_INTROSPECT_FUNCS_H
27#define PIPEWIRE_EXT_SESSION_MANAGER_INTROSPECT_FUNCS_H
46 struct extended_info {
55 ext = (
struct extended_info *) calloc(1,
sizeof(*ext));
60 info->
id = update->
id;
68 if (!ext->props_storage) {
70 info->props = &ext->props_storage->dict;
77 free((
void *) info->
params);
92 struct extended_info {
98 free((
void *) info->
params);
106 struct extended_info {
115 ext = (
struct extended_info *) calloc(1,
sizeof(*ext));
120 info->
id = update->
id;
121 info->name = strdup(update->name);
138 if (!ext->props_storage) {
140 info->props = &ext->props_storage->dict;
147 free((
void *) info->
params);
162 struct extended_info {
170 free((
void *) info->
params);
178 struct extended_info {
187 ext = (
struct extended_info *) calloc(1,
sizeof(*ext));
192 info->
id = update->
id;
194 info->name = strdup(update->name);
207 if (!ext->props_storage) {
209 info->props = &ext->props_storage->dict;
216 free((
void *) info->
params);
231 struct extended_info {
239 free((
void *) info->
params);
248 struct extended_info {
257 ext = (
struct extended_info *) calloc(1,
sizeof(*ext));
262 info->
id = update->
id;
280 if (!ext->props_storage) {
282 info->props = &ext->props_storage->dict;
289 free((
void *) info->
params);
304 struct extended_info {
311 free((
void *) info->
params);
void pw_properties_free(struct pw_properties *properties)
Free a properties object.
Definition: properties.c:368
struct pw_properties * pw_properties_new(const char *key,...) 1
Make a new properties object.
Definition: properties.c:102
int pw_properties_update(struct pw_properties *props, const struct spa_dict *dict)
Update properties.
Definition: properties.c:302
void pw_properties_clear(struct pw_properties *properties)
Clear a properties object.
Definition: properties.c:281
#define PW_ENDPOINT_STREAM_CHANGE_MASK_PARAMS
Definition: introspect.h:111
static void pw_endpoint_info_free(struct pw_endpoint_info *info)
Definition: introspect-funcs.h:164
#define PW_SESSION_CHANGE_MASK_PROPS
Definition: introspect.h:59
#define PW_ENDPOINT_CHANGE_MASK_SESSION
Definition: introspect.h:84
#define PW_ENDPOINT_STREAM_CHANGE_MASK_PROPS
Definition: introspect.h:109
#define PW_ENDPOINT_CHANGE_MASK_STREAMS
Definition: introspect.h:82
static void pw_session_info_free(struct pw_session_info *info)
Definition: introspect-funcs.h:94
static struct pw_session_info * pw_session_info_update(struct pw_session_info *info, const struct pw_session_info *update)
Definition: introspect-funcs.h:47
#define PW_ENDPOINT_CHANGE_MASK_PROPS
Definition: introspect.h:86
#define PW_ENDPOINT_LINK_CHANGE_MASK_PARAMS
Definition: introspect.h:136
static struct pw_endpoint_stream_info * pw_endpoint_stream_info_update(struct pw_endpoint_stream_info *info, const struct pw_endpoint_stream_info *update)
Definition: introspect-funcs.h:179
static struct pw_endpoint_link_info * pw_endpoint_link_info_update(struct pw_endpoint_link_info *info, const struct pw_endpoint_link_info *update)
Definition: introspect-funcs.h:249
#define PW_ENDPOINT_CHANGE_MASK_PARAMS
Definition: introspect.h:88
#define PW_ENDPOINT_LINK_CHANGE_MASK_PROPS
Definition: introspect.h:134
#define PW_SESSION_CHANGE_MASK_PARAMS
Definition: introspect.h:61
static void pw_endpoint_stream_info_free(struct pw_endpoint_stream_info *info)
Definition: introspect-funcs.h:233
static void pw_endpoint_link_info_free(struct pw_endpoint_link_info *info)
Definition: introspect-funcs.h:306
#define PW_ENDPOINT_STREAM_CHANGE_MASK_LINK_PARAMS
Definition: introspect.h:107
static struct pw_endpoint_info * pw_endpoint_info_update(struct pw_endpoint_info *info, const struct pw_endpoint_info *update)
Definition: introspect-funcs.h:107
#define PW_ENDPOINT_LINK_CHANGE_MASK_STATE
Definition: introspect.h:132
static struct spa_pod * spa_pod_copy(const struct spa_pod *pod)
Copy a pod structure.
Definition: builder.h:708
#define SPA_CONTAINER_OF(p, t, m)
Definition: defs.h:224
pipewire/extensions/session-manager/introspect.h
Definition: introspect.h:70
struct spa_param_info * params
parameters
Definition: introspect.h:95
uint32_t id
the endpoint id (global)
Definition: introspect.h:74
uint64_t change_mask
bitfield of changed fields since last call
Definition: introspect.h:91
enum pw_direction direction
direction of the endpoint
Definition: introspect.h:77
uint32_t n_params
number of items in params
Definition: introspect.h:96
uint32_t flags
additional flags
Definition: introspect.h:80
char * media_class
media class of the endpoint
Definition: introspect.h:76
uint32_t session_id
the id of the controlling session
Definition: introspect.h:93
uint32_t n_streams
number of streams available
Definition: introspect.h:92
Definition: introspect.h:121
uint32_t id
the link id (global)
Definition: introspect.h:125
uint64_t change_mask
bitfield of changed fields since last call
Definition: introspect.h:139
uint32_t output_endpoint_id
the output endpoint id (global)
Definition: introspect.h:127
uint32_t input_endpoint_id
the input endpoint id (global)
Definition: introspect.h:129
char * error
error string if state == ERROR
Definition: introspect.h:141
struct spa_param_info * params
parameters
Definition: introspect.h:143
enum pw_endpoint_link_state state
the state of the link
Definition: introspect.h:140
uint32_t n_params
number of items in params
Definition: introspect.h:144
uint32_t output_stream_id
the output stream id (local or global)
Definition: introspect.h:128
uint32_t input_stream_id
the input stream id (local or global)
Definition: introspect.h:130
uint32_t session_id
the session id (global)
Definition: introspect.h:126
Definition: introspect.h:99
uint32_t n_params
number of items in params
Definition: introspect.h:118
struct spa_param_info * params
parameters
Definition: introspect.h:117
uint32_t endpoint_id
the endpoint id (global)
Definition: introspect.h:104
struct spa_pod * link_params
information for linking this stream
Definition: introspect.h:115
uint32_t id
the stream id (local or global)
Definition: introspect.h:103
uint64_t change_mask
bitfield of changed fields since last call
Definition: introspect.h:114
Definition: properties.h:53
Definition: introspect.h:53
struct spa_param_info * params
parameters
Definition: introspect.h:66
uint64_t change_mask
bitfield of changed fields since last call
Definition: introspect.h:64
uint32_t id
the session id (global)
Definition: introspect.h:57
uint32_t n_params
number of items in params
Definition: introspect.h:67
information about a parameter
Definition: param.h:70