6#ifndef PIPEWIRE_EXT_SESSION_MANAGER_INTROSPECT_FUNCS_H
7#define PIPEWIRE_EXT_SESSION_MANAGER_INTROSPECT_FUNCS_H
26 struct extended_info {
35 ext = (
struct extended_info *) calloc(1,
sizeof(*ext));
40 info->id = update->
id;
48 if (!ext->props_storage) {
50 info->props = &ext->props_storage->dict;
57 free((
void *) info->params);
61 memcpy(info->params, update->
params, size);
72 struct extended_info {
78 free((
void *) info->params);
86 struct extended_info {
95 ext = (
struct extended_info *) calloc(1,
sizeof(*ext));
100 info->id = update->
id;
101 info->name = strdup(update->name);
104 info->flags = update->
flags;
118 if (!ext->props_storage) {
120 info->props = &ext->props_storage->dict;
127 free((
void *) info->params);
131 memcpy(info->params, update->
params, size);
142 struct extended_info {
149 free(info->media_class);
150 free((
void *) info->params);
158 struct extended_info {
167 ext = (
struct extended_info *) calloc(1,
sizeof(*ext));
172 info->id = update->
id;
174 info->name = strdup(update->name);
182 free(info->link_params);
187 if (!ext->props_storage) {
189 info->props = &ext->props_storage->dict;
196 free((
void *) info->params);
200 memcpy(info->params, update->
params, size);
211 struct extended_info {
218 free(info->link_params);
219 free((
void *) info->params);
228 struct extended_info {
237 ext = (
struct extended_info *) calloc(1,
sizeof(*ext));
242 info->id = update->
id;
255 info->state = update->
state;
257 info->error = update->
error ? strdup(update->
error) : NULL;
260 if (!ext->props_storage) {
262 info->props = &ext->props_storage->dict;
269 free((
void *) info->params);
273 memcpy(info->params, update->
params, size);
284 struct extended_info {
291 free((
void *) info->params);
void pw_properties_free(struct pw_properties *properties)
Free a properties object.
Definition properties.c:562
struct pw_properties * pw_properties_new(const char *key,...)
Make a new properties object.
Definition properties.c:96
int pw_properties_update(struct pw_properties *props, const struct spa_dict *dict)
Update properties.
Definition properties.c:481
void pw_properties_clear(struct pw_properties *properties)
Clear a properties object.
Definition properties.c:460
#define PW_ENDPOINT_STREAM_CHANGE_MASK_PARAMS
Definition introspect.h:91
static void pw_endpoint_info_free(struct pw_endpoint_info *info)
Definition introspect-funcs.h:144
#define PW_SESSION_CHANGE_MASK_PROPS
Definition introspect.h:39
#define PW_ENDPOINT_CHANGE_MASK_SESSION
Definition introspect.h:64
#define PW_ENDPOINT_STREAM_CHANGE_MASK_PROPS
Definition introspect.h:89
#define PW_ENDPOINT_CHANGE_MASK_STREAMS
Definition introspect.h:62
static void pw_session_info_free(struct pw_session_info *info)
Definition introspect-funcs.h:74
static struct pw_session_info * pw_session_info_update(struct pw_session_info *info, const struct pw_session_info *update)
Definition introspect-funcs.h:27
#define PW_ENDPOINT_CHANGE_MASK_PROPS
Definition introspect.h:66
#define PW_ENDPOINT_LINK_CHANGE_MASK_PARAMS
Definition introspect.h:116
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:159
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:229
#define PW_ENDPOINT_CHANGE_MASK_PARAMS
Definition introspect.h:68
#define PW_ENDPOINT_LINK_CHANGE_MASK_PROPS
Definition introspect.h:114
#define PW_SESSION_CHANGE_MASK_PARAMS
Definition introspect.h:41
static void pw_endpoint_stream_info_free(struct pw_endpoint_stream_info *info)
Definition introspect-funcs.h:213
static void pw_endpoint_link_info_free(struct pw_endpoint_link_info *info)
Definition introspect-funcs.h:286
#define PW_ENDPOINT_STREAM_CHANGE_MASK_LINK_PARAMS
Definition introspect.h:87
static struct pw_endpoint_info * pw_endpoint_info_update(struct pw_endpoint_info *info, const struct pw_endpoint_info *update)
Definition introspect-funcs.h:87
#define PW_ENDPOINT_LINK_CHANGE_MASK_STATE
Definition introspect.h:112
static struct spa_pod * spa_pod_copy(const struct spa_pod *pod)
Copy a pod structure.
Definition builder.h:688
#define SPA_CONTAINER_OF(p, t, m)
Definition defs.h:235
pipewire/extensions/session-manager/introspect.h
Definition introspect.h:50
struct spa_param_info * params
parameters
Definition introspect.h:75
uint32_t id
the endpoint id (global)
Definition introspect.h:54
uint64_t change_mask
bitfield of changed fields since last call
Definition introspect.h:71
enum pw_direction direction
direction of the endpoint
Definition introspect.h:57
uint32_t n_params
number of items in params
Definition introspect.h:76
uint32_t flags
additional flags
Definition introspect.h:60
char * media_class
media class of the endpoint
Definition introspect.h:56
uint32_t session_id
the id of the controlling session
Definition introspect.h:73
uint32_t n_streams
number of streams available
Definition introspect.h:72
Definition introspect.h:101
uint32_t id
the link id (global)
Definition introspect.h:105
uint64_t change_mask
bitfield of changed fields since last call
Definition introspect.h:119
uint32_t output_endpoint_id
the output endpoint id (global)
Definition introspect.h:107
uint32_t input_endpoint_id
the input endpoint id (global)
Definition introspect.h:109
char * error
error string if state == ERROR
Definition introspect.h:121
struct spa_param_info * params
parameters
Definition introspect.h:123
enum pw_endpoint_link_state state
the state of the link
Definition introspect.h:120
uint32_t n_params
number of items in params
Definition introspect.h:124
uint32_t output_stream_id
the output stream id (local or global)
Definition introspect.h:108
uint32_t input_stream_id
the input stream id (local or global)
Definition introspect.h:110
uint32_t session_id
the session id (global)
Definition introspect.h:106
Definition introspect.h:79
uint32_t n_params
number of items in params
Definition introspect.h:98
struct spa_param_info * params
parameters
Definition introspect.h:97
uint32_t endpoint_id
the endpoint id (global)
Definition introspect.h:84
struct spa_pod * link_params
information for linking this stream
Definition introspect.h:95
uint32_t id
the stream id (local or global)
Definition introspect.h:83
uint64_t change_mask
bitfield of changed fields since last call
Definition introspect.h:94
Definition properties.h:34
Definition introspect.h:33
struct spa_param_info * params
parameters
Definition introspect.h:46
uint64_t change_mask
bitfield of changed fields since last call
Definition introspect.h:44
uint32_t id
the session id (global)
Definition introspect.h:37
uint32_t n_params
number of items in params
Definition introspect.h:47
information about a parameter
Definition param.h:51