PipeWire  0.3.42
Session Manager

Session manager interface. More...

Files

file  session-manager.h
 pipewire/extensions/session-manager.h
 
file  impl-interfaces.h
 pipewire/extensions/session-manager/impl-interfaces.h
 
file  interfaces.h
 pipewire/extensions/session-manager/interfaces.h
 
file  introspect.h
 pipewire/extensions/session-manager/introspect.h
 
file  introspect-funcs.h
 pipewire/extensions/session-manager/introspect-funcs.h
 
file  keys.h
 pipewire/extensions/session-manager/keys.h
 

Data Structures

struct  pw_client_endpoint_events
 
struct  pw_client_endpoint_methods
 
struct  pw_client_session_events
 
struct  pw_client_session_methods
 
struct  pw_session_events
 
struct  pw_session_methods
 
struct  pw_endpoint_events
 
struct  pw_endpoint_methods
 
struct  pw_endpoint_stream_events
 
struct  pw_endpoint_stream_methods
 
struct  pw_endpoint_link_events
 
struct  pw_endpoint_link_methods
 
struct  pw_session_info
 
struct  pw_endpoint_info
 
struct  pw_endpoint_stream_info
 
struct  pw_endpoint_link_info
 
struct  pw_client_endpoint
 
struct  pw_client_session
 
struct  pw_session
 
struct  pw_endpoint
 
struct  pw_endpoint_stream
 
struct  pw_endpoint_link
 

Macros

#define PW_TYPE_INTERFACE_ClientEndpoint   PW_TYPE_INFO_INTERFACE_BASE "ClientEndpoint"
 
#define PW_VERSION_CLIENT_ENDPOINT   0
 
#define PW_CLIENT_ENDPOINT_EVENT_SET_SESSION_ID   0
 
#define PW_CLIENT_ENDPOINT_EVENT_SET_PARAM   1
 
#define PW_CLIENT_ENDPOINT_EVENT_STREAM_SET_PARAM   2
 
#define PW_CLIENT_ENDPOINT_EVENT_CREATE_LINK   3
 
#define PW_CLIENT_ENDPOINT_EVENT_NUM   4
 
#define PW_VERSION_CLIENT_ENDPOINT_EVENTS   0
 
#define PW_CLIENT_ENDPOINT_METHOD_ADD_LISTENER   0
 
#define PW_CLIENT_ENDPOINT_METHOD_UPDATE   1
 
#define PW_CLIENT_ENDPOINT_METHOD_STREAM_UPDATE   2
 
#define PW_CLIENT_ENDPOINT_METHOD_NUM   3
 
#define PW_VERSION_CLIENT_ENDPOINT_METHODS   0
 
#define pw_client_endpoint_method(o, method, version, ...)
 
#define pw_client_endpoint_add_listener(o, ...)   pw_client_endpoint_method(o,add_listener,0,__VA_ARGS__)
 
#define pw_client_endpoint_update(o, ...)   pw_client_endpoint_method(o,update,0,__VA_ARGS__)
 
#define pw_client_endpoint_stream_update(o, ...)   pw_client_endpoint_method(o,stream_update,0,__VA_ARGS__)
 
#define PW_TYPE_INTERFACE_ClientSession   PW_TYPE_INFO_INTERFACE_BASE "ClientSession"
 
#define PW_VERSION_CLIENT_SESSION   0
 
#define PW_CLIENT_SESSION_EVENT_SET_PARAM   0
 
#define PW_CLIENT_SESSION_EVENT_LINK_SET_PARAM   1
 
#define PW_CLIENT_SESSION_EVENT_LINK_REQUEST_STATE   2
 
#define PW_CLIENT_SESSION_EVENT_NUM   3
 
#define PW_VERSION_CLIENT_SESSION_EVENTS   0
 
#define PW_CLIENT_SESSION_METHOD_ADD_LISTENER   0
 
#define PW_CLIENT_SESSION_METHOD_UPDATE   1
 
#define PW_CLIENT_SESSION_METHOD_LINK_UPDATE   2
 
#define PW_CLIENT_SESSION_METHOD_NUM   3
 
#define PW_VERSION_CLIENT_SESSION_METHODS   0
 
#define pw_client_session_method(o, method, version, ...)
 
#define pw_client_session_add_listener(o, ...)   pw_client_session_method(o,add_listener,0,__VA_ARGS__)
 
#define pw_client_session_update(o, ...)   pw_client_session_method(o,update,0,__VA_ARGS__)
 
#define pw_client_session_link_update(o, ...)   pw_client_session_method(o,link_update,0,__VA_ARGS__)
 
#define PW_TYPE_INTERFACE_Session   PW_TYPE_INFO_INTERFACE_BASE "Session"
 
#define PW_VERSION_SESSION   0
 
#define PW_TYPE_INTERFACE_Endpoint   PW_TYPE_INFO_INTERFACE_BASE "Endpoint"
 
#define PW_VERSION_ENDPOINT   0
 
#define PW_TYPE_INTERFACE_EndpointStream   PW_TYPE_INFO_INTERFACE_BASE "EndpointStream"
 
#define PW_VERSION_ENDPOINT_STREAM   0
 
#define PW_TYPE_INTERFACE_EndpointLink   PW_TYPE_INFO_INTERFACE_BASE "EndpointLink"
 
#define PW_VERSION_ENDPOINT_LINK   0
 
#define PW_SESSION_EVENT_INFO   0
 
#define PW_SESSION_EVENT_PARAM   1
 
#define PW_SESSION_EVENT_NUM   2
 
#define PW_VERSION_SESSION_EVENTS   0
 
#define PW_SESSION_METHOD_ADD_LISTENER   0
 
#define PW_SESSION_METHOD_SUBSCRIBE_PARAMS   1
 
#define PW_SESSION_METHOD_ENUM_PARAMS   2
 
#define PW_SESSION_METHOD_SET_PARAM   3
 
#define PW_SESSION_METHOD_CREATE_LINK   4
 
#define PW_SESSION_METHOD_NUM   5
 
#define PW_VERSION_SESSION_METHODS   0
 
#define pw_session_method(o, method, version, ...)
 
#define pw_session_add_listener(c, ...)   pw_session_method(c,add_listener,0,__VA_ARGS__)
 
#define pw_session_subscribe_params(c, ...)   pw_session_method(c,subscribe_params,0,__VA_ARGS__)
 
#define pw_session_enum_params(c, ...)   pw_session_method(c,enum_params,0,__VA_ARGS__)
 
#define pw_session_set_param(c, ...)   pw_session_method(c,set_param,0,__VA_ARGS__)
 
#define PW_ENDPOINT_EVENT_INFO   0
 
#define PW_ENDPOINT_EVENT_PARAM   1
 
#define PW_ENDPOINT_EVENT_NUM   2
 
#define PW_VERSION_ENDPOINT_EVENTS   0
 
#define PW_ENDPOINT_METHOD_ADD_LISTENER   0
 
#define PW_ENDPOINT_METHOD_SUBSCRIBE_PARAMS   1
 
#define PW_ENDPOINT_METHOD_ENUM_PARAMS   2
 
#define PW_ENDPOINT_METHOD_SET_PARAM   3
 
#define PW_ENDPOINT_METHOD_CREATE_LINK   4
 
#define PW_ENDPOINT_METHOD_NUM   5
 
#define PW_VERSION_ENDPOINT_METHODS   0
 
#define pw_endpoint_method(o, method, version, ...)
 
#define pw_endpoint_add_listener(c, ...)   pw_endpoint_method(c,add_listener,0,__VA_ARGS__)
 
#define pw_endpoint_subscribe_params(c, ...)   pw_endpoint_method(c,subscribe_params,0,__VA_ARGS__)
 
#define pw_endpoint_enum_params(c, ...)   pw_endpoint_method(c,enum_params,0,__VA_ARGS__)
 
#define pw_endpoint_set_param(c, ...)   pw_endpoint_method(c,set_param,0,__VA_ARGS__)
 
#define pw_endpoint_create_link(c, ...)   pw_endpoint_method(c,create_link,0,__VA_ARGS__)
 
#define PW_ENDPOINT_STREAM_EVENT_INFO   0
 
#define PW_ENDPOINT_STREAM_EVENT_PARAM   1
 
#define PW_ENDPOINT_STREAM_EVENT_NUM   2
 
#define PW_VERSION_ENDPOINT_STREAM_EVENTS   0
 
#define PW_ENDPOINT_STREAM_METHOD_ADD_LISTENER   0
 
#define PW_ENDPOINT_STREAM_METHOD_SUBSCRIBE_PARAMS   1
 
#define PW_ENDPOINT_STREAM_METHOD_ENUM_PARAMS   2
 
#define PW_ENDPOINT_STREAM_METHOD_SET_PARAM   3
 
#define PW_ENDPOINT_STREAM_METHOD_NUM   4
 
#define PW_VERSION_ENDPOINT_STREAM_METHODS   0
 
#define pw_endpoint_stream_method(o, method, version, ...)
 
#define pw_endpoint_stream_add_listener(c, ...)   pw_endpoint_stream_method(c,add_listener,0,__VA_ARGS__)
 
#define pw_endpoint_stream_subscribe_params(c, ...)   pw_endpoint_stream_method(c,subscribe_params,0,__VA_ARGS__)
 
#define pw_endpoint_stream_enum_params(c, ...)   pw_endpoint_stream_method(c,enum_params,0,__VA_ARGS__)
 
#define pw_endpoint_stream_set_param(c, ...)   pw_endpoint_stream_method(c,set_param,0,__VA_ARGS__)
 
#define PW_ENDPOINT_LINK_EVENT_INFO   0
 
#define PW_ENDPOINT_LINK_EVENT_PARAM   1
 
#define PW_ENDPOINT_LINK_EVENT_NUM   2
 
#define PW_VERSION_ENDPOINT_LINK_EVENTS   0
 
#define PW_ENDPOINT_LINK_METHOD_ADD_LISTENER   0
 
#define PW_ENDPOINT_LINK_METHOD_SUBSCRIBE_PARAMS   1
 
#define PW_ENDPOINT_LINK_METHOD_ENUM_PARAMS   2
 
#define PW_ENDPOINT_LINK_METHOD_SET_PARAM   3
 
#define PW_ENDPOINT_LINK_METHOD_REQUEST_STATE   4
 
#define PW_ENDPOINT_LINK_METHOD_DESTROY   5
 
#define PW_ENDPOINT_LINK_METHOD_NUM   6
 
#define PW_VERSION_ENDPOINT_LINK_METHODS   0
 
#define pw_endpoint_link_method(o, method, version, ...)
 
#define pw_endpoint_link_add_listener(c, ...)   pw_endpoint_link_method(c,add_listener,0,__VA_ARGS__)
 
#define pw_endpoint_link_subscribe_params(c, ...)   pw_endpoint_link_method(c,subscribe_params,0,__VA_ARGS__)
 
#define pw_endpoint_link_enum_params(c, ...)   pw_endpoint_link_method(c,enum_params,0,__VA_ARGS__)
 
#define pw_endpoint_link_set_param(c, ...)   pw_endpoint_link_method(c,set_param,0,__VA_ARGS__)
 
#define pw_endpoint_link_request_state(c, ...)   pw_endpoint_link_method(c,request_state,0,__VA_ARGS__)
 
#define PW_VERSION_SESSION_INFO   0
 
#define PW_SESSION_CHANGE_MASK_PROPS   (1 << 0)
 
#define PW_SESSION_CHANGE_MASK_PARAMS   (1 << 1)
 
#define PW_SESSION_CHANGE_MASK_ALL   ((1 << 2)-1)
 
#define PW_VERSION_ENDPOINT_INFO   0
 
#define PW_ENDPOINT_FLAG_PROVIDES_SESSION   (1 << 0)
 
#define PW_ENDPOINT_CHANGE_MASK_STREAMS   (1 << 0)
 
#define PW_ENDPOINT_CHANGE_MASK_SESSION   (1 << 1)
 
#define PW_ENDPOINT_CHANGE_MASK_PROPS   (1 << 2)
 
#define PW_ENDPOINT_CHANGE_MASK_PARAMS   (1 << 3)
 
#define PW_ENDPOINT_CHANGE_MASK_ALL   ((1 << 4)-1)
 
#define PW_VERSION_ENDPOINT_STREAM_INFO   0
 
#define PW_ENDPOINT_STREAM_CHANGE_MASK_LINK_PARAMS   (1 << 0)
 
#define PW_ENDPOINT_STREAM_CHANGE_MASK_PROPS   (1 << 1)
 
#define PW_ENDPOINT_STREAM_CHANGE_MASK_PARAMS   (1 << 2)
 
#define PW_ENDPOINT_STREAM_CHANGE_MASK_ALL   ((1 << 3)-1)
 
#define PW_VERSION_ENDPOINT_LINK_INFO   0
 
#define PW_ENDPOINT_LINK_CHANGE_MASK_STATE   (1 << 0)
 
#define PW_ENDPOINT_LINK_CHANGE_MASK_PROPS   (1 << 1)
 
#define PW_ENDPOINT_LINK_CHANGE_MASK_PARAMS   (1 << 2)
 
#define PW_ENDPOINT_LINK_CHANGE_MASK_ALL   ((1 << 3)-1)
 
#define PW_KEY_SESSION_ID   "session.id"
 id of a session manager More...
 
#define PW_KEY_ENDPOINT_ID   "endpoint.id"
 id of an endpoint More...
 
#define PW_KEY_ENDPOINT_NAME   "endpoint.name"
 the name of an endpoint More...
 
#define PW_KEY_ENDPOINT_MONITOR   "endpoint.monitor"
 endpoint is monitor of given endpoint More...
 
#define PW_KEY_ENDPOINT_CLIENT_ID   "endpoint.client.id"
 client of the endpoint More...
 
#define PW_KEY_ENDPOINT_ICON_NAME   "endpoint.icon-name"
 an XDG icon name for the device. More...
 
#define PW_KEY_ENDPOINT_AUTOCONNECT   "endpoint.autoconnect"
 try to automatically connect this endpoint. More...
 
#define PW_KEY_ENDPOINT_TARGET   "endpoint.target"
 the suggested target to connect to More...
 
#define PW_KEY_ENDPOINT_STREAM_ID   "endpoint-stream.id"
 id of a stream More...
 
#define PW_KEY_ENDPOINT_STREAM_NAME   "endpoint-stream.name"
 unique name of a stream More...
 
#define PW_KEY_ENDPOINT_STREAM_DESCRIPTION   "endpoint-stream.description"
 description of a stream More...
 
#define PW_KEY_ENDPOINT_LINK_OUTPUT_ENDPOINT   "endpoint-link.output.endpoint"
 output endpoint of link More...
 
#define PW_KEY_ENDPOINT_LINK_OUTPUT_STREAM   "endpoint-link.output.stream"
 output stream of link More...
 
#define PW_KEY_ENDPOINT_LINK_INPUT_ENDPOINT   "endpoint-link.input.endpoint"
 input endpoint of link More...
 
#define PW_KEY_ENDPOINT_LINK_INPUT_STREAM   "endpoint-link.input.stream"
 input stream of link More...
 

Enumerations

enum  pw_endpoint_link_state { PW_ENDPOINT_LINK_STATE_ERROR = -1, PW_ENDPOINT_LINK_STATE_PREPARING, PW_ENDPOINT_LINK_STATE_INACTIVE, PW_ENDPOINT_LINK_STATE_ACTIVE }
 

Functions

static struct pw_session_infopw_session_info_update (struct pw_session_info *info, const struct pw_session_info *update)
 
static void pw_session_info_free (struct pw_session_info *info)
 
static struct pw_endpoint_infopw_endpoint_info_update (struct pw_endpoint_info *info, const struct pw_endpoint_info *update)
 
static void pw_endpoint_info_free (struct pw_endpoint_info *info)
 
static struct pw_endpoint_stream_infopw_endpoint_stream_info_update (struct pw_endpoint_stream_info *info, const struct pw_endpoint_stream_info *update)
 
static void pw_endpoint_stream_info_free (struct pw_endpoint_stream_info *info)
 
static struct pw_endpoint_link_infopw_endpoint_link_info_update (struct pw_endpoint_link_info *info, const struct pw_endpoint_link_info *update)
 
static void pw_endpoint_link_info_free (struct pw_endpoint_link_info *info)
 

Variables

int(* pw_client_endpoint_methods::update )(void *object,#define PW_CLIENT_ENDPOINT_UPDATE_PARAMS#define PW_CLIENT_ENDPOINT_UPDATE_INFO uint32_t change_mask, uint32_t n_params, const struct spa_pod **params, const struct pw_endpoint_info *info)
 Update endpoint information. More...
 
int(* pw_client_endpoint_methods::stream_update )(void *object, uint32_t stream_id,#define PW_CLIENT_ENDPOINT_STREAM_UPDATE_PARAMS#define PW_CLIENT_ENDPOINT_STREAM_UPDATE_INFO#define PW_CLIENT_ENDPOINT_STREAM_UPDATE_DESTROYED uint32_t change_mask, uint32_t n_params, const struct spa_pod **params, const struct pw_endpoint_stream_info *info)
 Update stream information. More...
 
int(* pw_client_session_methods::update )(void *object,#define PW_CLIENT_SESSION_UPDATE_PARAMS#define PW_CLIENT_SESSION_UPDATE_INFO uint32_t change_mask, uint32_t n_params, const struct spa_pod **params, const struct pw_session_info *info)
 Update session information. More...
 
int(* pw_client_session_methods::link_update )(void *object, uint32_t link_id,#define PW_CLIENT_SESSION_LINK_UPDATE_PARAMS#define PW_CLIENT_SESSION_LINK_UPDATE_INFO#define PW_CLIENT_SESSION_LINK_UPDATE_DESTROYED uint32_t change_mask, uint32_t n_params, const struct spa_pod **params, const struct pw_endpoint_link_info *info)
 Update link information. More...
 

Detailed Description

Session manager interface.

Macro Definition Documentation

#define PW_TYPE_INTERFACE_ClientEndpoint   PW_TYPE_INFO_INTERFACE_BASE "ClientEndpoint"
#define PW_VERSION_CLIENT_ENDPOINT   0
#define PW_CLIENT_ENDPOINT_EVENT_SET_SESSION_ID   0
#define PW_CLIENT_ENDPOINT_EVENT_SET_PARAM   1
#define PW_CLIENT_ENDPOINT_EVENT_STREAM_SET_PARAM   2
#define PW_CLIENT_ENDPOINT_EVENT_CREATE_LINK   3
#define PW_CLIENT_ENDPOINT_EVENT_NUM   4
#define PW_VERSION_CLIENT_ENDPOINT_EVENTS   0
#define PW_CLIENT_ENDPOINT_METHOD_ADD_LISTENER   0
#define PW_CLIENT_ENDPOINT_METHOD_UPDATE   1
#define PW_CLIENT_ENDPOINT_METHOD_STREAM_UPDATE   2
#define PW_CLIENT_ENDPOINT_METHOD_NUM   3
#define PW_VERSION_CLIENT_ENDPOINT_METHODS   0
#define pw_client_endpoint_method (   o,
  method,
  version,
  ... 
)
#define pw_client_endpoint_add_listener (   o,
  ... 
)    pw_client_endpoint_method(o,add_listener,0,__VA_ARGS__)
#define pw_client_endpoint_update (   o,
  ... 
)    pw_client_endpoint_method(o,update,0,__VA_ARGS__)
#define pw_client_endpoint_stream_update (   o,
  ... 
)    pw_client_endpoint_method(o,stream_update,0,__VA_ARGS__)
#define PW_TYPE_INTERFACE_ClientSession   PW_TYPE_INFO_INTERFACE_BASE "ClientSession"
#define PW_VERSION_CLIENT_SESSION   0
#define PW_CLIENT_SESSION_EVENT_SET_PARAM   0
#define PW_CLIENT_SESSION_EVENT_LINK_SET_PARAM   1
#define PW_CLIENT_SESSION_EVENT_LINK_REQUEST_STATE   2
#define PW_CLIENT_SESSION_EVENT_NUM   3
#define PW_VERSION_CLIENT_SESSION_EVENTS   0
#define PW_CLIENT_SESSION_METHOD_ADD_LISTENER   0
#define PW_CLIENT_SESSION_METHOD_UPDATE   1
#define PW_CLIENT_SESSION_METHOD_LINK_UPDATE   2
#define PW_CLIENT_SESSION_METHOD_NUM   3
#define PW_VERSION_CLIENT_SESSION_METHODS   0
#define pw_client_session_method (   o,
  method,
  version,
  ... 
)
#define pw_client_session_add_listener (   o,
  ... 
)    pw_client_session_method(o,add_listener,0,__VA_ARGS__)
#define pw_client_session_update (   o,
  ... 
)    pw_client_session_method(o,update,0,__VA_ARGS__)
#define pw_client_session_link_update (   o,
  ... 
)    pw_client_session_method(o,link_update,0,__VA_ARGS__)
#define PW_TYPE_INTERFACE_Session   PW_TYPE_INFO_INTERFACE_BASE "Session"
#define PW_VERSION_SESSION   0
#define PW_TYPE_INTERFACE_Endpoint   PW_TYPE_INFO_INTERFACE_BASE "Endpoint"
#define PW_VERSION_ENDPOINT   0
#define PW_TYPE_INTERFACE_EndpointStream   PW_TYPE_INFO_INTERFACE_BASE "EndpointStream"
#define PW_VERSION_ENDPOINT_STREAM   0
#define PW_TYPE_INTERFACE_EndpointLink   PW_TYPE_INFO_INTERFACE_BASE "EndpointLink"
#define PW_VERSION_ENDPOINT_LINK   0
#define PW_SESSION_EVENT_INFO   0
#define PW_SESSION_EVENT_PARAM   1
#define PW_SESSION_EVENT_NUM   2
#define PW_VERSION_SESSION_EVENTS   0
#define PW_SESSION_METHOD_ADD_LISTENER   0
#define PW_SESSION_METHOD_SUBSCRIBE_PARAMS   1
#define PW_SESSION_METHOD_ENUM_PARAMS   2
#define PW_SESSION_METHOD_SET_PARAM   3
#define PW_SESSION_METHOD_CREATE_LINK   4
#define PW_SESSION_METHOD_NUM   5
#define PW_VERSION_SESSION_METHODS   0
#define pw_session_method (   o,
  method,
  version,
  ... 
)
#define pw_session_add_listener (   c,
  ... 
)    pw_session_method(c,add_listener,0,__VA_ARGS__)
#define pw_session_subscribe_params (   c,
  ... 
)    pw_session_method(c,subscribe_params,0,__VA_ARGS__)
#define pw_session_enum_params (   c,
  ... 
)    pw_session_method(c,enum_params,0,__VA_ARGS__)
#define pw_session_set_param (   c,
  ... 
)    pw_session_method(c,set_param,0,__VA_ARGS__)
#define PW_ENDPOINT_EVENT_INFO   0
#define PW_ENDPOINT_EVENT_PARAM   1
#define PW_ENDPOINT_EVENT_NUM   2
#define PW_VERSION_ENDPOINT_EVENTS   0
#define PW_ENDPOINT_METHOD_ADD_LISTENER   0
#define PW_ENDPOINT_METHOD_SUBSCRIBE_PARAMS   1
#define PW_ENDPOINT_METHOD_ENUM_PARAMS   2
#define PW_ENDPOINT_METHOD_SET_PARAM   3
#define PW_ENDPOINT_METHOD_CREATE_LINK   4
#define PW_ENDPOINT_METHOD_NUM   5
#define PW_VERSION_ENDPOINT_METHODS   0
#define pw_endpoint_method (   o,
  method,
  version,
  ... 
)
#define pw_endpoint_add_listener (   c,
  ... 
)    pw_endpoint_method(c,add_listener,0,__VA_ARGS__)
#define pw_endpoint_subscribe_params (   c,
  ... 
)    pw_endpoint_method(c,subscribe_params,0,__VA_ARGS__)
#define pw_endpoint_enum_params (   c,
  ... 
)    pw_endpoint_method(c,enum_params,0,__VA_ARGS__)
#define pw_endpoint_set_param (   c,
  ... 
)    pw_endpoint_method(c,set_param,0,__VA_ARGS__)
#define pw_endpoint_create_link (   c,
  ... 
)    pw_endpoint_method(c,create_link,0,__VA_ARGS__)
#define PW_ENDPOINT_STREAM_EVENT_INFO   0
#define PW_ENDPOINT_STREAM_EVENT_PARAM   1
#define PW_ENDPOINT_STREAM_EVENT_NUM   2
#define PW_VERSION_ENDPOINT_STREAM_EVENTS   0
#define PW_ENDPOINT_STREAM_METHOD_ADD_LISTENER   0
#define PW_ENDPOINT_STREAM_METHOD_SUBSCRIBE_PARAMS   1
#define PW_ENDPOINT_STREAM_METHOD_ENUM_PARAMS   2
#define PW_ENDPOINT_STREAM_METHOD_SET_PARAM   3
#define PW_ENDPOINT_STREAM_METHOD_NUM   4
#define PW_VERSION_ENDPOINT_STREAM_METHODS   0
#define pw_endpoint_stream_method (   o,
  method,
  version,
  ... 
)
#define pw_endpoint_stream_add_listener (   c,
  ... 
)    pw_endpoint_stream_method(c,add_listener,0,__VA_ARGS__)
#define pw_endpoint_stream_subscribe_params (   c,
  ... 
)    pw_endpoint_stream_method(c,subscribe_params,0,__VA_ARGS__)
#define pw_endpoint_stream_enum_params (   c,
  ... 
)    pw_endpoint_stream_method(c,enum_params,0,__VA_ARGS__)
#define pw_endpoint_stream_set_param (   c,
  ... 
)    pw_endpoint_stream_method(c,set_param,0,__VA_ARGS__)
#define PW_ENDPOINT_LINK_EVENT_INFO   0
#define PW_ENDPOINT_LINK_EVENT_PARAM   1
#define PW_ENDPOINT_LINK_EVENT_NUM   2
#define PW_VERSION_ENDPOINT_LINK_EVENTS   0
#define PW_ENDPOINT_LINK_METHOD_ADD_LISTENER   0
#define PW_ENDPOINT_LINK_METHOD_SUBSCRIBE_PARAMS   1
#define PW_ENDPOINT_LINK_METHOD_ENUM_PARAMS   2
#define PW_ENDPOINT_LINK_METHOD_SET_PARAM   3
#define PW_ENDPOINT_LINK_METHOD_REQUEST_STATE   4
#define PW_ENDPOINT_LINK_METHOD_DESTROY   5
#define PW_ENDPOINT_LINK_METHOD_NUM   6
#define PW_VERSION_ENDPOINT_LINK_METHODS   0
#define pw_endpoint_link_method (   o,
  method,
  version,
  ... 
)
#define pw_endpoint_link_add_listener (   c,
  ... 
)    pw_endpoint_link_method(c,add_listener,0,__VA_ARGS__)
#define pw_endpoint_link_subscribe_params (   c,
  ... 
)    pw_endpoint_link_method(c,subscribe_params,0,__VA_ARGS__)
#define pw_endpoint_link_enum_params (   c,
  ... 
)    pw_endpoint_link_method(c,enum_params,0,__VA_ARGS__)
#define pw_endpoint_link_set_param (   c,
  ... 
)    pw_endpoint_link_method(c,set_param,0,__VA_ARGS__)
#define pw_endpoint_link_request_state (   c,
  ... 
)    pw_endpoint_link_method(c,request_state,0,__VA_ARGS__)
#define PW_VERSION_SESSION_INFO   0
#define PW_SESSION_CHANGE_MASK_PROPS   (1 << 0)
#define PW_SESSION_CHANGE_MASK_PARAMS   (1 << 1)
#define PW_SESSION_CHANGE_MASK_ALL   ((1 << 2)-1)
#define PW_VERSION_ENDPOINT_INFO   0
#define PW_ENDPOINT_FLAG_PROVIDES_SESSION   (1 << 0)
#define PW_ENDPOINT_CHANGE_MASK_STREAMS   (1 << 0)
#define PW_ENDPOINT_CHANGE_MASK_SESSION   (1 << 1)
#define PW_ENDPOINT_CHANGE_MASK_PROPS   (1 << 2)
#define PW_ENDPOINT_CHANGE_MASK_PARAMS   (1 << 3)
#define PW_ENDPOINT_CHANGE_MASK_ALL   ((1 << 4)-1)
#define PW_VERSION_ENDPOINT_STREAM_INFO   0
#define PW_ENDPOINT_STREAM_CHANGE_MASK_LINK_PARAMS   (1 << 0)
#define PW_ENDPOINT_STREAM_CHANGE_MASK_PROPS   (1 << 1)
#define PW_ENDPOINT_STREAM_CHANGE_MASK_PARAMS   (1 << 2)
#define PW_ENDPOINT_STREAM_CHANGE_MASK_ALL   ((1 << 3)-1)
#define PW_VERSION_ENDPOINT_LINK_INFO   0
#define PW_ENDPOINT_LINK_CHANGE_MASK_STATE   (1 << 0)
#define PW_ENDPOINT_LINK_CHANGE_MASK_PROPS   (1 << 1)
#define PW_ENDPOINT_LINK_CHANGE_MASK_PARAMS   (1 << 2)
#define PW_ENDPOINT_LINK_CHANGE_MASK_ALL   ((1 << 3)-1)
#define PW_KEY_SESSION_ID   "session.id"

id of a session manager

#define PW_KEY_ENDPOINT_ID   "endpoint.id"

id of an endpoint

#define PW_KEY_ENDPOINT_NAME   "endpoint.name"

the name of an endpoint

#define PW_KEY_ENDPOINT_MONITOR   "endpoint.monitor"

endpoint is monitor of given endpoint

#define PW_KEY_ENDPOINT_CLIENT_ID   "endpoint.client.id"

client of the endpoint

#define PW_KEY_ENDPOINT_ICON_NAME   "endpoint.icon-name"

an XDG icon name for the device.

Ex. "sound-card-speakers-usb"

#define PW_KEY_ENDPOINT_AUTOCONNECT   "endpoint.autoconnect"

try to automatically connect this endpoint.

#define PW_KEY_ENDPOINT_TARGET   "endpoint.target"

the suggested target to connect to

#define PW_KEY_ENDPOINT_STREAM_ID   "endpoint-stream.id"

id of a stream

#define PW_KEY_ENDPOINT_STREAM_NAME   "endpoint-stream.name"

unique name of a stream

#define PW_KEY_ENDPOINT_STREAM_DESCRIPTION   "endpoint-stream.description"

description of a stream

#define PW_KEY_ENDPOINT_LINK_OUTPUT_ENDPOINT   "endpoint-link.output.endpoint"

output endpoint of link

#define PW_KEY_ENDPOINT_LINK_OUTPUT_STREAM   "endpoint-link.output.stream"

output stream of link

#define PW_KEY_ENDPOINT_LINK_INPUT_ENDPOINT   "endpoint-link.input.endpoint"

input endpoint of link

#define PW_KEY_ENDPOINT_LINK_INPUT_STREAM   "endpoint-link.input.stream"

input stream of link

Enumeration Type Documentation

Enumerator
PW_ENDPOINT_LINK_STATE_ERROR 
PW_ENDPOINT_LINK_STATE_PREPARING 
PW_ENDPOINT_LINK_STATE_INACTIVE 
PW_ENDPOINT_LINK_STATE_ACTIVE 

Function Documentation

static struct pw_session_info* pw_session_info_update ( struct pw_session_info info,
const struct pw_session_info update 
)
static
static void pw_session_info_free ( struct pw_session_info info)
inlinestatic
static struct pw_endpoint_info* pw_endpoint_info_update ( struct pw_endpoint_info info,
const struct pw_endpoint_info update 
)
static
static void pw_endpoint_info_free ( struct pw_endpoint_info info)
inlinestatic
static struct pw_endpoint_stream_info* pw_endpoint_stream_info_update ( struct pw_endpoint_stream_info info,
const struct pw_endpoint_stream_info update 
)
static
static void pw_endpoint_stream_info_free ( struct pw_endpoint_stream_info info)
inlinestatic
static struct pw_endpoint_link_info* pw_endpoint_link_info_update ( struct pw_endpoint_link_info info,
const struct pw_endpoint_link_info update 
)
static
static void pw_endpoint_link_info_free ( struct pw_endpoint_link_info info)
inlinestatic

Variable Documentation

int(* pw_client_endpoint_methods::update) (void *object, #define PW_CLIENT_ENDPOINT_UPDATE_PARAMS #define PW_CLIENT_ENDPOINT_UPDATE_INFO uint32_t change_mask, uint32_t n_params, const struct spa_pod **params, const struct pw_endpoint_info *info)

Update endpoint information.

int(* pw_client_endpoint_methods::stream_update) (void *object, uint32_t stream_id, #define PW_CLIENT_ENDPOINT_STREAM_UPDATE_PARAMS #define PW_CLIENT_ENDPOINT_STREAM_UPDATE_INFO #define PW_CLIENT_ENDPOINT_STREAM_UPDATE_DESTROYED uint32_t change_mask, uint32_t n_params, const struct spa_pod **params, const struct pw_endpoint_stream_info *info)

Update stream information.

int(* pw_client_session_methods::update) (void *object, #define PW_CLIENT_SESSION_UPDATE_PARAMS #define PW_CLIENT_SESSION_UPDATE_INFO uint32_t change_mask, uint32_t n_params, const struct spa_pod **params, const struct pw_session_info *info)

Update session information.

int(* pw_client_session_methods::link_update) (void *object, uint32_t link_id, #define PW_CLIENT_SESSION_LINK_UPDATE_PARAMS #define PW_CLIENT_SESSION_LINK_UPDATE_INFO #define PW_CLIENT_SESSION_LINK_UPDATE_DESTROYED uint32_t change_mask, uint32_t n_params, const struct spa_pod **params, const struct pw_endpoint_link_info *info)

Update link information.