26 #ifndef PIPEWIRE_EXT_SESSION_MANAGER_INTERFACES_H 27 #define PIPEWIRE_EXT_SESSION_MANAGER_INTERFACES_H 43 #define PW_TYPE_INTERFACE_Session PW_TYPE_INFO_INTERFACE_BASE "Session" 44 #define PW_VERSION_SESSION 0 47 #define PW_TYPE_INTERFACE_Endpoint PW_TYPE_INFO_INTERFACE_BASE "Endpoint" 48 #define PW_VERSION_ENDPOINT 0 51 #define PW_TYPE_INTERFACE_EndpointStream PW_TYPE_INFO_INTERFACE_BASE "EndpointStream" 52 #define PW_VERSION_ENDPOINT_STREAM 0 55 #define PW_TYPE_INTERFACE_EndpointLink PW_TYPE_INFO_INTERFACE_BASE "EndpointLink" 56 #define PW_VERSION_ENDPOINT_LINK 0 61 #define PW_SESSION_EVENT_INFO 0 62 #define PW_SESSION_EVENT_PARAM 1 63 #define PW_SESSION_EVENT_NUM 2 66 #define PW_VERSION_SESSION_EVENTS 0 87 void (*
param) (
void *object,
int seq,
88 uint32_t
id, uint32_t index, uint32_t next,
92 #define PW_SESSION_METHOD_ADD_LISTENER 0 93 #define PW_SESSION_METHOD_SUBSCRIBE_PARAMS 1 94 #define PW_SESSION_METHOD_ENUM_PARAMS 2 95 #define PW_SESSION_METHOD_SET_PARAM 3 96 #define PW_SESSION_METHOD_CREATE_LINK 4 97 #define PW_SESSION_METHOD_NUM 5 100 #define PW_VERSION_SESSION_METHODS 0 132 uint32_t id, uint32_t start, uint32_t num,
142 int (*
set_param) (
void *object, uint32_t id, uint32_t flags,
146 #define pw_session_method(o,method,version,...) \ 148 int _res = -ENOTSUP; \ 149 spa_interface_call_res((struct spa_interface*)o, \ 150 struct pw_session_methods, _res, \ 151 method, version, ##__VA_ARGS__); \ 155 #define pw_session_add_listener(c,...) pw_session_method(c,add_listener,0,__VA_ARGS__) 156 #define pw_session_subscribe_params(c,...) pw_session_method(c,subscribe_params,0,__VA_ARGS__) 157 #define pw_session_enum_params(c,...) pw_session_method(c,enum_params,0,__VA_ARGS__) 158 #define pw_session_set_param(c,...) pw_session_method(c,set_param,0,__VA_ARGS__) 163 #define PW_ENDPOINT_EVENT_INFO 0 164 #define PW_ENDPOINT_EVENT_PARAM 1 165 #define PW_ENDPOINT_EVENT_NUM 2 168 #define PW_VERSION_ENDPOINT_EVENTS 0 189 void (*
param) (
void *object,
int seq,
190 uint32_t
id, uint32_t index, uint32_t next,
194 #define PW_ENDPOINT_METHOD_ADD_LISTENER 0 195 #define PW_ENDPOINT_METHOD_SUBSCRIBE_PARAMS 1 196 #define PW_ENDPOINT_METHOD_ENUM_PARAMS 2 197 #define PW_ENDPOINT_METHOD_SET_PARAM 3 198 #define PW_ENDPOINT_METHOD_CREATE_LINK 4 199 #define PW_ENDPOINT_METHOD_NUM 5 202 #define PW_VERSION_ENDPOINT_METHODS 0 234 uint32_t id, uint32_t start, uint32_t num,
244 int (*
set_param) (
void *object, uint32_t id, uint32_t flags,
250 #define pw_endpoint_method(o,method,version,...) \ 252 int _res = -ENOTSUP; \ 253 spa_interface_call_res((struct spa_interface*)o, \ 254 struct pw_endpoint_methods, _res, \ 255 method, version, ##__VA_ARGS__); \ 259 #define pw_endpoint_add_listener(c,...) pw_endpoint_method(c,add_listener,0,__VA_ARGS__) 260 #define pw_endpoint_subscribe_params(c,...) pw_endpoint_method(c,subscribe_params,0,__VA_ARGS__) 261 #define pw_endpoint_enum_params(c,...) pw_endpoint_method(c,enum_params,0,__VA_ARGS__) 262 #define pw_endpoint_set_param(c,...) pw_endpoint_method(c,set_param,0,__VA_ARGS__) 263 #define pw_endpoint_create_link(c,...) pw_endpoint_method(c,create_link,0,__VA_ARGS__) 267 #define PW_ENDPOINT_STREAM_EVENT_INFO 0 268 #define PW_ENDPOINT_STREAM_EVENT_PARAM 1 269 #define PW_ENDPOINT_STREAM_EVENT_NUM 2 272 #define PW_VERSION_ENDPOINT_STREAM_EVENTS 0 293 void (*
param) (
void *object,
int seq,
294 uint32_t
id, uint32_t index, uint32_t next,
298 #define PW_ENDPOINT_STREAM_METHOD_ADD_LISTENER 0 299 #define PW_ENDPOINT_STREAM_METHOD_SUBSCRIBE_PARAMS 1 300 #define PW_ENDPOINT_STREAM_METHOD_ENUM_PARAMS 2 301 #define PW_ENDPOINT_STREAM_METHOD_SET_PARAM 3 302 #define PW_ENDPOINT_STREAM_METHOD_NUM 4 305 #define PW_VERSION_ENDPOINT_STREAM_METHODS 0 337 uint32_t id, uint32_t start, uint32_t num,
347 int (*
set_param) (
void *object, uint32_t id, uint32_t flags,
351 #define pw_endpoint_stream_method(o,method,version,...) \ 353 int _res = -ENOTSUP; \ 354 spa_interface_call_res((struct spa_interface*)o, \ 355 struct pw_endpoint_stream_methods, _res, \ 356 method, version, ##__VA_ARGS__); \ 360 #define pw_endpoint_stream_add_listener(c,...) pw_endpoint_stream_method(c,add_listener,0,__VA_ARGS__) 361 #define pw_endpoint_stream_subscribe_params(c,...) pw_endpoint_stream_method(c,subscribe_params,0,__VA_ARGS__) 362 #define pw_endpoint_stream_enum_params(c,...) pw_endpoint_stream_method(c,enum_params,0,__VA_ARGS__) 363 #define pw_endpoint_stream_set_param(c,...) pw_endpoint_stream_method(c,set_param,0,__VA_ARGS__) 367 #define PW_ENDPOINT_LINK_EVENT_INFO 0 368 #define PW_ENDPOINT_LINK_EVENT_PARAM 1 369 #define PW_ENDPOINT_LINK_EVENT_NUM 2 372 #define PW_VERSION_ENDPOINT_LINK_EVENTS 0 393 void (*
param) (
void *object,
int seq,
394 uint32_t
id, uint32_t index, uint32_t next,
398 #define PW_ENDPOINT_LINK_METHOD_ADD_LISTENER 0 399 #define PW_ENDPOINT_LINK_METHOD_SUBSCRIBE_PARAMS 1 400 #define PW_ENDPOINT_LINK_METHOD_ENUM_PARAMS 2 401 #define PW_ENDPOINT_LINK_METHOD_SET_PARAM 3 402 #define PW_ENDPOINT_LINK_METHOD_REQUEST_STATE 4 403 #define PW_ENDPOINT_LINK_METHOD_DESTROY 5 404 #define PW_ENDPOINT_LINK_METHOD_NUM 6 407 #define PW_VERSION_ENDPOINT_LINK_METHODS 0 439 uint32_t id, uint32_t start, uint32_t num,
449 int (*
set_param) (
void *object, uint32_t id, uint32_t flags,
455 #define pw_endpoint_link_method(o,method,version,...) \ 457 int _res = -ENOTSUP; \ 458 spa_interface_call_res((struct spa_interface*)o, \ 459 struct pw_endpoint_link_methods, _res, \ 460 method, version, ##__VA_ARGS__); \ 464 #define pw_endpoint_link_add_listener(c,...) pw_endpoint_link_method(c,add_listener,0,__VA_ARGS__) 465 #define pw_endpoint_link_subscribe_params(c,...) pw_endpoint_link_method(c,subscribe_params,0,__VA_ARGS__) 466 #define pw_endpoint_link_enum_params(c,...) pw_endpoint_link_method(c,enum_params,0,__VA_ARGS__) 467 #define pw_endpoint_link_set_param(c,...) pw_endpoint_link_method(c,set_param,0,__VA_ARGS__) 468 #define pw_endpoint_link_request_state(c,...) pw_endpoint_link_method(c,request_state,0,__VA_ARGS__) void(* param)(void *object, int seq, uint32_t id, uint32_t index, uint32_t next, const struct spa_pod *param)
Notify a endpoint link param.
Definition: interfaces.h:523
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:587
uint32_t id
the session id (global)
Definition: introspect.h:57
uint32_t version
version of this structure
Definition: interfaces.h:128
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:158
void(* info)(void *object, const struct pw_endpoint_info *info)
Notify endpoint info.
Definition: interfaces.h:231
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:576
int(* subscribe_params)(void *object, uint32_t *ids, uint32_t n_ids)
Subscribe to parameter changes.
Definition: interfaces.h:281
uint32_t id
the stream id (local or global)
Definition: introspect.h:103
void(* param)(void *object, int seq, uint32_t id, uint32_t index, uint32_t next, const struct spa_pod *param)
Notify a session param.
Definition: interfaces.h:107
Definition: introspect.h:121
pipewire/extensions/session-manager/introspect.h
void(* info)(void *object, const struct pw_endpoint_stream_info *info)
Notify endpoint stream info.
Definition: interfaces.h:376
int(* add_listener)(void *object, struct spa_hook *listener, const struct pw_session_events *events, void *data)
Definition: interfaces.h:130
A hook, contains the structure with functions and the data passed to the functions.
Definition: hook.h:342
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:295
int(* subscribe_params)(void *object, uint32_t *ids, uint32_t n_ids)
Subscribe to parameter changes.
Definition: interfaces.h:562
uint32_t id
the endpoint id (global)
Definition: introspect.h:74
int(* add_listener)(void *object, struct spa_hook *listener, const struct pw_endpoint_link_events *events, void *data)
Definition: interfaces.h:548
uint32_t version
version of this structure
Definition: interfaces.h:408
uint32_t id
the link id (global)
Definition: introspect.h:125
void(* info)(void *object, const struct pw_endpoint_link_info *info)
Notify endpoint link info.
Definition: interfaces.h:510
Definition: interfaces.h:500
Definition: interfaces.h:84
uint32_t version
version of this structure
Definition: interfaces.h:369
int(* create_link)(void *object, const struct spa_dict *props)
Definition: interfaces.h:309
uint32_t version
version of this structure
Definition: interfaces.h:224
Definition: interfaces.h:221
Definition: interfaces.h:405
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:438
Definition: introspect.h:53
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:449
int(* add_listener)(void *object, struct spa_hook *listener, const struct pw_endpoint_stream_events *events, void *data)
Definition: interfaces.h:410
int(* add_listener)(void *object, struct spa_hook *listener, const struct pw_endpoint_events *events, void *data)
Definition: interfaces.h:267
void(* param)(void *object, int seq, uint32_t id, uint32_t index, uint32_t next, const struct spa_pod *param)
Notify a endpoint param.
Definition: interfaces.h:244
Definition: interfaces.h:366
int(* subscribe_params)(void *object, uint32_t *ids, uint32_t n_ids)
Subscribe to parameter changes.
Definition: interfaces.h:424
uint32_t version
version of this structure
Definition: interfaces.h:87
int(* request_state)(void *object, enum pw_endpoint_link_state state)
Definition: interfaces.h:590
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:169
Definition: introspect.h:99
uint32_t version
version of this structure
Definition: interfaces.h:265
uint32_t version
version of this structure
Definition: interfaces.h:503
void(* param)(void *object, int seq, uint32_t id, uint32_t index, uint32_t next, const struct spa_pod *param)
Notify a endpoint stream param.
Definition: interfaces.h:389
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:306
Definition: introspect.h:70
Definition: interfaces.h:125
Definition: interfaces.h:262
void(* info)(void *object, const struct pw_session_info *info)
Notify session info.
Definition: interfaces.h:94
int(* subscribe_params)(void *object, uint32_t *ids, uint32_t n_ids)
Subscribe to parameter changes.
Definition: interfaces.h:144
Definition: interfaces.h:543
pw_endpoint_link_state
Definition: introspect.h:46