From f30a8f689504a616f134d02e5594e1d1a2466427 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 30 Jun 2020 20:23:23 +0200 Subject: [PATCH] context: fix context_id, use the client bound id --- pipewire-pulseaudio/src/context.c | 12 +++++++++++- pipewire-pulseaudio/src/introspect.c | 2 ++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/pipewire-pulseaudio/src/context.c b/pipewire-pulseaudio/src/context.c index 19bfa7190..2bec31f58 100644 --- a/pipewire-pulseaudio/src/context.c +++ b/pipewire-pulseaudio/src/context.c @@ -1674,7 +1674,17 @@ pa_operation *pa_context_proplist_remove(pa_context *c, const char *const keys[] SPA_EXPORT uint32_t pa_context_get_index(PA_CONST pa_context *c) { - return c->client_index; + struct pw_client *client; + + pa_assert(c); + spa_assert(c->refcount >= 1); + + PA_CHECK_VALIDITY_RETURN_ANY(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE, PA_INVALID_INDEX); + client = pw_core_get_client(c->core); + if (client == NULL) + return PA_INVALID_INDEX; + + return pw_proxy_get_bound_id((struct pw_proxy*)client); } SPA_EXPORT diff --git a/pipewire-pulseaudio/src/introspect.c b/pipewire-pulseaudio/src/introspect.c index a29792c87..28dba5be1 100644 --- a/pipewire-pulseaudio/src/introspect.c +++ b/pipewire-pulseaudio/src/introspect.c @@ -1282,6 +1282,8 @@ pa_operation* pa_context_get_server_info(pa_context *c, pa_server_info_cb_t cb, pa_assert(c->refcount >= 1); pa_assert(cb); + pa_context_ensure_registry(c); + o = pa_operation_new(c, NULL, server_info, sizeof(struct server_data)); d = o->userdata; d->context = c;