mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -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 spa_pod_builder *b;
|
||||
uint32_t i;
|
||||
uint32_t i, n = 0;
|
||||
|
||||
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,
|
||||
"[ i", index,
|
||||
"i", n_permissions, NULL);
|
||||
"i", n, NULL);
|
||||
|
||||
for (i = 0; i < n_permissions; i++) {
|
||||
if (permissions[i].permissions == SPA_ID_INVALID)
|
||||
continue;
|
||||
spa_pod_builder_add(b,
|
||||
"s", permissions[i].id,
|
||||
"s", permissions[i].permissions, NULL);
|
||||
"i", permissions[i].id,
|
||||
"i", permissions[i].permissions, 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,
|
||||
"i", index,
|
||||
"i", num, NULL);
|
||||
"i", num);
|
||||
|
||||
pw_protocol_native_end_proxy(proxy, b);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue