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_SESSION_PERM_MASK PW_PERM_RWX 25 #define PW_VERSION_SESSION 0 28 #define PW_TYPE_INTERFACE_Endpoint PW_TYPE_INFO_INTERFACE_BASE "Endpoint" 29 #define PW_ENDPOINT_PERM_MASK PW_PERM_RWX 30 #define PW_VERSION_ENDPOINT 0 33 #define PW_TYPE_INTERFACE_EndpointStream PW_TYPE_INFO_INTERFACE_BASE "EndpointStream" 34 #define PW_ENDPOINT_STREAM_PERM_MASK PW_PERM_RWX 35 #define PW_VERSION_ENDPOINT_STREAM 0 38 #define PW_TYPE_INTERFACE_EndpointLink PW_TYPE_INFO_INTERFACE_BASE "EndpointLink" 39 #define PW_ENDPOINT_LINK_PERM_MASK PW_PERM_RWX 40 #define PW_VERSION_ENDPOINT_LINK 0 45 #define PW_SESSION_EVENT_INFO 0 46 #define PW_SESSION_EVENT_PARAM 1 47 #define PW_SESSION_EVENT_NUM 2 50 #define PW_VERSION_SESSION_EVENTS 0 71 void (*
param) (
void *data,
int seq,
72 uint32_t
id, uint32_t index, uint32_t next,
76 #define PW_SESSION_METHOD_ADD_LISTENER 0 77 #define PW_SESSION_METHOD_SUBSCRIBE_PARAMS 1 78 #define PW_SESSION_METHOD_ENUM_PARAMS 2 79 #define PW_SESSION_METHOD_SET_PARAM 3 80 #define PW_SESSION_METHOD_CREATE_LINK 4 81 #define PW_SESSION_METHOD_NUM 5 84 #define PW_VERSION_SESSION_METHODS 0 120 uint32_t id, uint32_t start, uint32_t num,
132 int (*
set_param) (
void *object, uint32_t id, uint32_t flags,
136 #define pw_session_method(o,method,version,...) \ 138 int _res = -ENOTSUP; \ 139 spa_interface_call_res((struct spa_interface*)o, \ 140 struct pw_session_methods, _res, \ 141 method, version, ##__VA_ARGS__); \ 145 #define pw_session_add_listener(c,...) pw_session_method(c,add_listener,0,__VA_ARGS__) 146 #define pw_session_subscribe_params(c,...) pw_session_method(c,subscribe_params,0,__VA_ARGS__) 147 #define pw_session_enum_params(c,...) pw_session_method(c,enum_params,0,__VA_ARGS__) 148 #define pw_session_set_param(c,...) pw_session_method(c,set_param,0,__VA_ARGS__) 153 #define PW_ENDPOINT_EVENT_INFO 0 154 #define PW_ENDPOINT_EVENT_PARAM 1 155 #define PW_ENDPOINT_EVENT_NUM 2 158 #define PW_VERSION_ENDPOINT_EVENTS 0 179 void (*
param) (
void *data,
int seq,
180 uint32_t
id, uint32_t index, uint32_t next,
184 #define PW_ENDPOINT_METHOD_ADD_LISTENER 0 185 #define PW_ENDPOINT_METHOD_SUBSCRIBE_PARAMS 1 186 #define PW_ENDPOINT_METHOD_ENUM_PARAMS 2 187 #define PW_ENDPOINT_METHOD_SET_PARAM 3 188 #define PW_ENDPOINT_METHOD_CREATE_LINK 4 189 #define PW_ENDPOINT_METHOD_NUM 5 192 #define PW_VERSION_ENDPOINT_METHODS 0 228 uint32_t id, uint32_t start, uint32_t num,
240 int (*
set_param) (
void *object, uint32_t id, uint32_t flags,
251 #define pw_endpoint_method(o,method,version,...) \ 253 int _res = -ENOTSUP; \ 254 spa_interface_call_res((struct spa_interface*)o, \ 255 struct pw_endpoint_methods, _res, \ 256 method, version, ##__VA_ARGS__); \ 260 #define pw_endpoint_add_listener(c,...) pw_endpoint_method(c,add_listener,0,__VA_ARGS__) 261 #define pw_endpoint_subscribe_params(c,...) pw_endpoint_method(c,subscribe_params,0,__VA_ARGS__) 262 #define pw_endpoint_enum_params(c,...) pw_endpoint_method(c,enum_params,0,__VA_ARGS__) 263 #define pw_endpoint_set_param(c,...) pw_endpoint_method(c,set_param,0,__VA_ARGS__) 264 #define pw_endpoint_create_link(c,...) pw_endpoint_method(c,create_link,0,__VA_ARGS__) 268 #define PW_ENDPOINT_STREAM_EVENT_INFO 0 269 #define PW_ENDPOINT_STREAM_EVENT_PARAM 1 270 #define PW_ENDPOINT_STREAM_EVENT_NUM 2 273 #define PW_VERSION_ENDPOINT_STREAM_EVENTS 0 294 void (*
param) (
void *data,
int seq,
295 uint32_t
id, uint32_t index, uint32_t next,
299 #define PW_ENDPOINT_STREAM_METHOD_ADD_LISTENER 0 300 #define PW_ENDPOINT_STREAM_METHOD_SUBSCRIBE_PARAMS 1 301 #define PW_ENDPOINT_STREAM_METHOD_ENUM_PARAMS 2 302 #define PW_ENDPOINT_STREAM_METHOD_SET_PARAM 3 303 #define PW_ENDPOINT_STREAM_METHOD_NUM 4 306 #define PW_VERSION_ENDPOINT_STREAM_METHODS 0 342 uint32_t id, uint32_t start, uint32_t num,
354 int (*
set_param) (
void *object, uint32_t id, uint32_t flags,
358 #define pw_endpoint_stream_method(o,method,version,...) \ 360 int _res = -ENOTSUP; \ 361 spa_interface_call_res((struct spa_interface*)o, \ 362 struct pw_endpoint_stream_methods, _res, \ 363 method, version, ##__VA_ARGS__); \ 367 #define pw_endpoint_stream_add_listener(c,...) pw_endpoint_stream_method(c,add_listener,0,__VA_ARGS__) 368 #define pw_endpoint_stream_subscribe_params(c,...) pw_endpoint_stream_method(c,subscribe_params,0,__VA_ARGS__) 369 #define pw_endpoint_stream_enum_params(c,...) pw_endpoint_stream_method(c,enum_params,0,__VA_ARGS__) 370 #define pw_endpoint_stream_set_param(c,...) pw_endpoint_stream_method(c,set_param,0,__VA_ARGS__) 374 #define PW_ENDPOINT_LINK_EVENT_INFO 0 375 #define PW_ENDPOINT_LINK_EVENT_PARAM 1 376 #define PW_ENDPOINT_LINK_EVENT_NUM 2 379 #define PW_VERSION_ENDPOINT_LINK_EVENTS 0 401 uint32_t
id, uint32_t index, uint32_t next,
405 #define PW_ENDPOINT_LINK_METHOD_ADD_LISTENER 0 406 #define PW_ENDPOINT_LINK_METHOD_SUBSCRIBE_PARAMS 1 407 #define PW_ENDPOINT_LINK_METHOD_ENUM_PARAMS 2 408 #define PW_ENDPOINT_LINK_METHOD_SET_PARAM 3 409 #define PW_ENDPOINT_LINK_METHOD_REQUEST_STATE 4 410 #define PW_ENDPOINT_LINK_METHOD_DESTROY 5 411 #define PW_ENDPOINT_LINK_METHOD_NUM 6 414 #define PW_VERSION_ENDPOINT_LINK_METHODS 0 450 uint32_t id, uint32_t start, uint32_t num,
462 int (*
set_param) (
void *object, uint32_t id, uint32_t flags,
473 #define pw_endpoint_link_method(o,method,version,...) \ 475 int _res = -ENOTSUP; \ 476 spa_interface_call_res((struct spa_interface*)o, \ 477 struct pw_endpoint_link_methods, _res, \ 478 method, version, ##__VA_ARGS__); \ 482 #define pw_endpoint_link_add_listener(c,...) pw_endpoint_link_method(c,add_listener,0,__VA_ARGS__) 483 #define pw_endpoint_link_subscribe_params(c,...) pw_endpoint_link_method(c,subscribe_params,0,__VA_ARGS__) 484 #define pw_endpoint_link_enum_params(c,...) pw_endpoint_link_method(c,enum_params,0,__VA_ARGS__) 485 #define pw_endpoint_link_set_param(c,...) pw_endpoint_link_method(c,set_param,0,__VA_ARGS__) 486 #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:604
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:394
uint32_t version
version of this structure
Definition: interfaces.h:116
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:150
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:591
int(* subscribe_params)(void *object, uint32_t *ids, uint32_t n_ids)
Subscribe to parameter changes.
Definition: interfaces.h:277
uint32_t id
the stream id (local or global)
Definition: introspect.h:83
uint32_t version
version of this structure
Definition: interfaces.h:557
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:118
A hook, contains the structure with functions and the data passed to the functions.
Definition: hook.h:350
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:293
int(* subscribe_params)(void *object, uint32_t *ids, uint32_t n_ids)
Subscribe to parameter changes.
Definition: interfaces.h:575
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:521
int(* add_listener)(void *object, struct spa_hook *listener, const struct pw_endpoint_link_events *events, void *data)
Definition: interfaces.h:559
uint32_t version
version of this structure
Definition: interfaces.h:413
uint32_t id
the link id (global)
Definition: introspect.h:105
Definition: interfaces.h:511
Definition: interfaces.h:72
uint32_t version
version of this structure
Definition: interfaces.h:374
int(* create_link)(void *object, const struct spa_dict *props)
Create a link.
Definition: interfaces.h:314
uint32_t version
version of this structure
Definition: interfaces.h:218
Definition: interfaces.h:215
Definition: interfaces.h:410
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:447
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:460
int(* add_listener)(void *object, struct spa_hook *listener, const struct pw_endpoint_stream_events *events, void *data)
Definition: interfaces.h:415
int(* add_listener)(void *object, struct spa_hook *listener, const struct pw_endpoint_events *events, void *data)
Definition: interfaces.h:261
Definition: interfaces.h:371
int(* subscribe_params)(void *object, uint32_t *ids, uint32_t n_ids)
Subscribe to parameter changes.
Definition: interfaces.h:431
uint32_t version
version of this structure
Definition: interfaces.h:75
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:534
int(* request_state)(void *object, enum pw_endpoint_link_state state)
Request a state on the link.
Definition: interfaces.h:612
void(* info)(void *data, const struct pw_session_info *info)
Notify session info.
Definition: interfaces.h:82
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:163
Definition: introspect.h:79
uint32_t version
version of this structure
Definition: interfaces.h:259
uint32_t version
version of this structure
Definition: interfaces.h:514
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
void(* info)(void *data, const struct pw_endpoint_info *info)
Notify endpoint info.
Definition: interfaces.h:225
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:95
Definition: introspect.h:50
Definition: interfaces.h:113
void(* info)(void *data, const struct pw_endpoint_stream_info *info)
Notify endpoint stream info.
Definition: interfaces.h:381
Definition: interfaces.h:256
int(* subscribe_params)(void *object, uint32_t *ids, uint32_t n_ids)
Subscribe to parameter changes.
Definition: interfaces.h:134
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:238
Definition: interfaces.h:554
pw_endpoint_link_state
Definition: introspect.h:26