6 #ifndef PIPEWIRE_EXT_SESSION_MANAGER_INTERFACES_H 7 #define PIPEWIRE_EXT_SESSION_MANAGER_INTERFACES_H 23 #define PW_TYPE_INTERFACE_Session PW_TYPE_INFO_INTERFACE_BASE "Session" 24 #define PW_VERSION_SESSION 0 27 #define PW_TYPE_INTERFACE_Endpoint PW_TYPE_INFO_INTERFACE_BASE "Endpoint" 28 #define PW_VERSION_ENDPOINT 0 31 #define PW_TYPE_INTERFACE_EndpointStream PW_TYPE_INFO_INTERFACE_BASE "EndpointStream" 32 #define PW_VERSION_ENDPOINT_STREAM 0 35 #define PW_TYPE_INTERFACE_EndpointLink PW_TYPE_INFO_INTERFACE_BASE "EndpointLink" 36 #define PW_VERSION_ENDPOINT_LINK 0 41 #define PW_SESSION_EVENT_INFO 0 42 #define PW_SESSION_EVENT_PARAM 1 43 #define PW_SESSION_EVENT_NUM 2 46 #define PW_VERSION_SESSION_EVENTS 0 67 void (*
param) (
void *data,
int seq,
68 uint32_t
id, uint32_t index, uint32_t next,
72 #define PW_SESSION_METHOD_ADD_LISTENER 0 73 #define PW_SESSION_METHOD_SUBSCRIBE_PARAMS 1 74 #define PW_SESSION_METHOD_ENUM_PARAMS 2 75 #define PW_SESSION_METHOD_SET_PARAM 3 76 #define PW_SESSION_METHOD_CREATE_LINK 4 77 #define PW_SESSION_METHOD_NUM 5 80 #define PW_VERSION_SESSION_METHODS 0 112 uint32_t id, uint32_t start, uint32_t num,
122 int (*
set_param) (
void *object, uint32_t id, uint32_t flags,
126 #define pw_session_method(o,method,version,...) \ 128 int _res = -ENOTSUP; \ 129 spa_interface_call_res((struct spa_interface*)o, \ 130 struct pw_session_methods, _res, \ 131 method, version, ##__VA_ARGS__); \ 135 #define pw_session_add_listener(c,...) pw_session_method(c,add_listener,0,__VA_ARGS__) 136 #define pw_session_subscribe_params(c,...) pw_session_method(c,subscribe_params,0,__VA_ARGS__) 137 #define pw_session_enum_params(c,...) pw_session_method(c,enum_params,0,__VA_ARGS__) 138 #define pw_session_set_param(c,...) pw_session_method(c,set_param,0,__VA_ARGS__) 143 #define PW_ENDPOINT_EVENT_INFO 0 144 #define PW_ENDPOINT_EVENT_PARAM 1 145 #define PW_ENDPOINT_EVENT_NUM 2 148 #define PW_VERSION_ENDPOINT_EVENTS 0 170 uint32_t
id, uint32_t index, uint32_t next,
174 #define PW_ENDPOINT_METHOD_ADD_LISTENER 0 175 #define PW_ENDPOINT_METHOD_SUBSCRIBE_PARAMS 1 176 #define PW_ENDPOINT_METHOD_ENUM_PARAMS 2 177 #define PW_ENDPOINT_METHOD_SET_PARAM 3 178 #define PW_ENDPOINT_METHOD_CREATE_LINK 4 179 #define PW_ENDPOINT_METHOD_NUM 5 182 #define PW_VERSION_ENDPOINT_METHODS 0 214 uint32_t id, uint32_t start, uint32_t num,
224 int (*
set_param) (
void *object, uint32_t id, uint32_t flags,
230 #define pw_endpoint_method(o,method,version,...) \ 232 int _res = -ENOTSUP; \ 233 spa_interface_call_res((struct spa_interface*)o, \ 234 struct pw_endpoint_methods, _res, \ 235 method, version, ##__VA_ARGS__); \ 239 #define pw_endpoint_add_listener(c,...) pw_endpoint_method(c,add_listener,0,__VA_ARGS__) 240 #define pw_endpoint_subscribe_params(c,...) pw_endpoint_method(c,subscribe_params,0,__VA_ARGS__) 241 #define pw_endpoint_enum_params(c,...) pw_endpoint_method(c,enum_params,0,__VA_ARGS__) 242 #define pw_endpoint_set_param(c,...) pw_endpoint_method(c,set_param,0,__VA_ARGS__) 243 #define pw_endpoint_create_link(c,...) pw_endpoint_method(c,create_link,0,__VA_ARGS__) 247 #define PW_ENDPOINT_STREAM_EVENT_INFO 0 248 #define PW_ENDPOINT_STREAM_EVENT_PARAM 1 249 #define PW_ENDPOINT_STREAM_EVENT_NUM 2 252 #define PW_VERSION_ENDPOINT_STREAM_EVENTS 0 273 void (*
param) (
void *data,
int seq,
274 uint32_t
id, uint32_t index, uint32_t next,
278 #define PW_ENDPOINT_STREAM_METHOD_ADD_LISTENER 0 279 #define PW_ENDPOINT_STREAM_METHOD_SUBSCRIBE_PARAMS 1 280 #define PW_ENDPOINT_STREAM_METHOD_ENUM_PARAMS 2 281 #define PW_ENDPOINT_STREAM_METHOD_SET_PARAM 3 282 #define PW_ENDPOINT_STREAM_METHOD_NUM 4 285 #define PW_VERSION_ENDPOINT_STREAM_METHODS 0 317 uint32_t id, uint32_t start, uint32_t num,
327 int (*
set_param) (
void *object, uint32_t id, uint32_t flags,
331 #define pw_endpoint_stream_method(o,method,version,...) \ 333 int _res = -ENOTSUP; \ 334 spa_interface_call_res((struct spa_interface*)o, \ 335 struct pw_endpoint_stream_methods, _res, \ 336 method, version, ##__VA_ARGS__); \ 340 #define pw_endpoint_stream_add_listener(c,...) pw_endpoint_stream_method(c,add_listener,0,__VA_ARGS__) 341 #define pw_endpoint_stream_subscribe_params(c,...) pw_endpoint_stream_method(c,subscribe_params,0,__VA_ARGS__) 342 #define pw_endpoint_stream_enum_params(c,...) pw_endpoint_stream_method(c,enum_params,0,__VA_ARGS__) 343 #define pw_endpoint_stream_set_param(c,...) pw_endpoint_stream_method(c,set_param,0,__VA_ARGS__) 347 #define PW_ENDPOINT_LINK_EVENT_INFO 0 348 #define PW_ENDPOINT_LINK_EVENT_PARAM 1 349 #define PW_ENDPOINT_LINK_EVENT_NUM 2 352 #define PW_VERSION_ENDPOINT_LINK_EVENTS 0 373 void (*
param) (
void *data,
int seq,
374 uint32_t
id, uint32_t index, uint32_t next,
378 #define PW_ENDPOINT_LINK_METHOD_ADD_LISTENER 0 379 #define PW_ENDPOINT_LINK_METHOD_SUBSCRIBE_PARAMS 1 380 #define PW_ENDPOINT_LINK_METHOD_ENUM_PARAMS 2 381 #define PW_ENDPOINT_LINK_METHOD_SET_PARAM 3 382 #define PW_ENDPOINT_LINK_METHOD_REQUEST_STATE 4 383 #define PW_ENDPOINT_LINK_METHOD_DESTROY 5 384 #define PW_ENDPOINT_LINK_METHOD_NUM 6 387 #define PW_VERSION_ENDPOINT_LINK_METHODS 0 419 uint32_t id, uint32_t start, uint32_t num,
429 int (*
set_param) (
void *object, uint32_t id, uint32_t flags,
435 #define pw_endpoint_link_method(o,method,version,...) \ 437 int _res = -ENOTSUP; \ 438 spa_interface_call_res((struct spa_interface*)o, \ 439 struct pw_endpoint_link_methods, _res, \ 440 method, version, ##__VA_ARGS__); \ 444 #define pw_endpoint_link_add_listener(c,...) pw_endpoint_link_method(c,add_listener,0,__VA_ARGS__) 445 #define pw_endpoint_link_subscribe_params(c,...) pw_endpoint_link_method(c,subscribe_params,0,__VA_ARGS__) 446 #define pw_endpoint_link_enum_params(c,...) pw_endpoint_link_method(c,enum_params,0,__VA_ARGS__) 447 #define pw_endpoint_link_set_param(c,...) pw_endpoint_link_method(c,set_param,0,__VA_ARGS__) 448 #define pw_endpoint_link_request_state(c,...) pw_endpoint_link_method(c,request_state,0,__VA_ARGS__) int(* set_param)(void *object, uint32_t id, uint32_t flags, const struct spa_pod *param)
Set a parameter on the link.
Definition: interfaces.h:567
uint32_t id
the session id (global)
Definition: introspect.h:37
void(* param)(void *data, int seq, uint32_t id, uint32_t index, uint32_t next, const struct spa_pod *param)
Notify a endpoint stream param.
Definition: interfaces.h:369
uint32_t version
version of this structure
Definition: interfaces.h:108
int(* enum_params)(void *object, int seq, uint32_t id, uint32_t start, uint32_t num, const struct spa_pod *filter)
Enumerate session parameters.
Definition: interfaces.h:138
int(* enum_params)(void *object, int seq, uint32_t id, uint32_t start, uint32_t num, const struct spa_pod *filter)
Enumerate link parameters.
Definition: interfaces.h:556
int(* subscribe_params)(void *object, uint32_t *ids, uint32_t n_ids)
Subscribe to parameter changes.
Definition: interfaces.h:261
uint32_t id
the stream id (local or global)
Definition: introspect.h:83
Definition: introspect.h:101
pipewire/extensions/session-manager/introspect.h
int(* add_listener)(void *object, struct spa_hook *listener, const struct pw_session_events *events, void *data)
Definition: interfaces.h:110
A hook, contains the structure with functions and the data passed to the functions.
Definition: hook.h:331
int(* enum_params)(void *object, int seq, uint32_t id, uint32_t start, uint32_t num, const struct spa_pod *filter)
Enumerate endpoint parameters.
Definition: interfaces.h:275
int(* subscribe_params)(void *object, uint32_t *ids, uint32_t n_ids)
Subscribe to parameter changes.
Definition: interfaces.h:542
uint32_t id
the endpoint id (global)
Definition: introspect.h:54
void(* info)(void *data, const struct pw_endpoint_link_info *info)
Notify endpoint link info.
Definition: interfaces.h:490
int(* add_listener)(void *object, struct spa_hook *listener, const struct pw_endpoint_link_events *events, void *data)
Definition: interfaces.h:528
uint32_t version
version of this structure
Definition: interfaces.h:388
uint32_t id
the link id (global)
Definition: introspect.h:105
Definition: interfaces.h:480
Definition: utils/dict.h:39
Definition: interfaces.h:64
uint32_t version
version of this structure
Definition: interfaces.h:349
int(* create_link)(void *object, const struct spa_dict *props)
Definition: interfaces.h:289
uint32_t version
version of this structure
Definition: interfaces.h:204
Definition: interfaces.h:201
Definition: interfaces.h:385
int(* enum_params)(void *object, int seq, uint32_t id, uint32_t start, uint32_t num, const struct spa_pod *filter)
Enumerate stream parameters.
Definition: interfaces.h:418
Definition: introspect.h:33
int(* set_param)(void *object, uint32_t id, uint32_t flags, const struct spa_pod *param)
Set a parameter on the stream.
Definition: interfaces.h:429
int(* add_listener)(void *object, struct spa_hook *listener, const struct pw_endpoint_stream_events *events, void *data)
Definition: interfaces.h:390
int(* add_listener)(void *object, struct spa_hook *listener, const struct pw_endpoint_events *events, void *data)
Definition: interfaces.h:247
Definition: interfaces.h:346
int(* subscribe_params)(void *object, uint32_t *ids, uint32_t n_ids)
Subscribe to parameter changes.
Definition: interfaces.h:404
uint32_t version
version of this structure
Definition: interfaces.h:67
void(* param)(void *data, int seq, uint32_t id, uint32_t index, uint32_t next, const struct spa_pod *param)
Notify a endpoint link param.
Definition: interfaces.h:503
int(* request_state)(void *object, enum pw_endpoint_link_state state)
Definition: interfaces.h:570
void(* info)(void *data, const struct pw_session_info *info)
Notify session info.
Definition: interfaces.h:74
int(* set_param)(void *object, uint32_t id, uint32_t flags, const struct spa_pod *param)
Set a parameter on the session.
Definition: interfaces.h:149
Definition: introspect.h:79
uint32_t version
version of this structure
Definition: interfaces.h:245
uint32_t version
version of this structure
Definition: interfaces.h:483
int(* set_param)(void *object, uint32_t id, uint32_t flags, const struct spa_pod *param)
Set a parameter on the endpoint.
Definition: interfaces.h:286
void(* info)(void *data, const struct pw_endpoint_info *info)
Notify endpoint info.
Definition: interfaces.h:211
void(* param)(void *data, int seq, uint32_t id, uint32_t index, uint32_t next, const struct spa_pod *param)
Notify a session param.
Definition: interfaces.h:87
Definition: introspect.h:50
Definition: interfaces.h:105
void(* info)(void *data, const struct pw_endpoint_stream_info *info)
Notify endpoint stream info.
Definition: interfaces.h:356
Definition: interfaces.h:242
int(* subscribe_params)(void *object, uint32_t *ids, uint32_t n_ids)
Subscribe to parameter changes.
Definition: interfaces.h:124
void(* param)(void *data, int seq, uint32_t id, uint32_t index, uint32_t next, const struct spa_pod *param)
Notify a endpoint param.
Definition: interfaces.h:224
Definition: interfaces.h:523
pw_endpoint_link_state
Definition: introspect.h:26