media-session: pass the client.id in the endpoint

Pass the client.id that we made this endpoint for in the endpoint
properties. This makes it possible to let pulse find the client
that belongs to the endpiont. The client.id is used to find the
client that actually made the object (the session manager)
This commit is contained in:
Wim Taymans 2019-11-15 18:49:10 +01:00
parent b518496136
commit f2ce69c4bd
4 changed files with 7 additions and 1 deletions

View file

@ -639,7 +639,9 @@ static int set_mask(pa_context *c, struct global *g)
g->event = PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT;
}
if ((str = pw_properties_get(g->props, PW_KEY_CLIENT_ID)) != NULL)
if ((str = pw_properties_get(g->props, PW_KEY_ENDPOINT_CLIENT_ID)) != NULL)
g->endpoint_info.client_id = atoi(str);
else if ((str = pw_properties_get(g->props, PW_KEY_CLIENT_ID)) != NULL)
g->endpoint_info.client_id = atoi(str);
if ((str = pw_properties_get(g->props, PW_KEY_DEVICE_ID)) != NULL)
g->endpoint_info.device_id = atoi(str);

View file

@ -244,6 +244,8 @@ static struct client_endpoint *make_endpoint(struct node *node)
pw_properties_set(props, PW_KEY_ENDPOINT_NAME, name);
if ((str = spa_dict_lookup(dict, PW_KEY_OBJECT_ID)) != NULL)
pw_properties_set(props, PW_KEY_NODE_ID, str);
if ((str = spa_dict_lookup(dict, PW_KEY_CLIENT_ID)) != NULL)
pw_properties_set(props, PW_KEY_ENDPOINT_CLIENT_ID, str);
if ((str = spa_dict_lookup(dict, PW_KEY_NODE_AUTOCONNECT)) != NULL)
pw_properties_set(props, PW_KEY_ENDPOINT_AUTOCONNECT, str);
if ((str = spa_dict_lookup(dict, PW_KEY_NODE_TARGET)) != NULL)

View file

@ -34,6 +34,7 @@ extern "C" {
#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_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

View file

@ -306,6 +306,7 @@ int endpoint_init(struct endpoint *this,
PW_KEY_MEDIA_CLASS,
PW_KEY_PRIORITY_SESSION,
PW_KEY_ENDPOINT_NAME,
PW_KEY_ENDPOINT_CLIENT_ID,
PW_KEY_ENDPOINT_ICON_NAME,
NULL
};