mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-04 13:30:12 -05:00
protocol: fix permission marshal, skip default permissions
This commit is contained in:
parent
a55330fe29
commit
2ab96db5b5
1 changed files with 12 additions and 5 deletions
|
|
@ -1093,18 +1093,25 @@ static void client_marshal_permissions(void *object, uint32_t index, uint32_t n_
|
||||||
{
|
{
|
||||||
struct pw_resource *resource = object;
|
struct pw_resource *resource = object;
|
||||||
struct spa_pod_builder *b;
|
struct spa_pod_builder *b;
|
||||||
uint32_t i;
|
uint32_t i, n = 0;
|
||||||
|
|
||||||
b = pw_protocol_native_begin_resource(resource, PW_CLIENT_PROXY_EVENT_PERMISSIONS);
|
b = pw_protocol_native_begin_resource(resource, PW_CLIENT_PROXY_EVENT_PERMISSIONS);
|
||||||
|
|
||||||
|
for (i = 0; i < n_permissions; i++) {
|
||||||
|
if (permissions[i].permissions != SPA_ID_INVALID)
|
||||||
|
n++;
|
||||||
|
}
|
||||||
|
|
||||||
spa_pod_builder_add(b,
|
spa_pod_builder_add(b,
|
||||||
"[ i", index,
|
"[ i", index,
|
||||||
"i", n_permissions, NULL);
|
"i", n, NULL);
|
||||||
|
|
||||||
for (i = 0; i < n_permissions; i++) {
|
for (i = 0; i < n_permissions; i++) {
|
||||||
|
if (permissions[i].permissions == SPA_ID_INVALID)
|
||||||
|
continue;
|
||||||
spa_pod_builder_add(b,
|
spa_pod_builder_add(b,
|
||||||
"s", permissions[i].id,
|
"i", permissions[i].id,
|
||||||
"s", permissions[i].permissions, NULL);
|
"i", permissions[i].permissions, NULL);
|
||||||
}
|
}
|
||||||
spa_pod_builder_add(b, "]", NULL);
|
spa_pod_builder_add(b, "]", NULL);
|
||||||
|
|
||||||
|
|
@ -1175,7 +1182,7 @@ static void client_marshal_get_permissions(void *object, uint32_t index, uint32_
|
||||||
|
|
||||||
spa_pod_builder_add_struct(b,
|
spa_pod_builder_add_struct(b,
|
||||||
"i", index,
|
"i", index,
|
||||||
"i", num, NULL);
|
"i", num);
|
||||||
|
|
||||||
pw_protocol_native_end_proxy(proxy, b);
|
pw_protocol_native_end_proxy(proxy, b);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue