From 9a19091ac75a0dd57b289820183521b1b92b3c26 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 16 Jun 2026 18:24:14 +0200 Subject: [PATCH] buffers: tweak some limits Allow max 64 metadatas on a buffer --- src/modules/module-client-node/client-node.c | 1 - src/modules/module-client-node/protocol-native.c | 2 +- src/pipewire/buffers.c | 3 ++- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/module-client-node/client-node.c b/src/modules/module-client-node/client-node.c index e79b616ea..b693c8e92 100644 --- a/src/modules/module-client-node/client-node.c +++ b/src/modules/module-client-node/client-node.c @@ -30,7 +30,6 @@ PW_LOG_TOPIC_EXTERN(mod_topic); #define AREA_SLOT (sizeof(struct spa_io_async_buffers)) #define AREA_SIZE (4096u / AREA_SLOT) -#define MAX_AREAS 32 #define CHECK_FREE_PORT(impl,d,p) (p <= pw_map_get_size(&impl->ports[d]) && !CHECK_PORT(impl,d,p)) #define CHECK_PORT(impl,d,p) (pw_map_lookup(&impl->ports[d], p) != NULL) diff --git a/src/modules/module-client-node/protocol-native.c b/src/modules/module-client-node/protocol-native.c index 17f8e2da1..f7f380642 100644 --- a/src/modules/module-client-node/protocol-native.c +++ b/src/modules/module-client-node/protocol-native.c @@ -17,7 +17,7 @@ #define MAX_PARAMS 4096 #define MAX_PARAM_INFO 128 #define MAX_BUFFERS 64 -#define MAX_METAS 16u +#define MAX_METAS 64u #define MAX_DATAS 256u PW_LOG_TOPIC_EXTERN(mod_topic); diff --git a/src/pipewire/buffers.c b/src/pipewire/buffers.c index 63e16bf43..e445b7700 100644 --- a/src/pipewire/buffers.c +++ b/src/pipewire/buffers.c @@ -18,6 +18,7 @@ PW_LOG_TOPIC_EXTERN(log_buffers); #define PW_LOG_TOPIC_DEFAULT log_buffers #define MAX_ALIGN 32u +#define MAX_METAS 64u #define MAX_BLOCKS 256u struct port { @@ -252,7 +253,7 @@ int pw_buffers_negotiate(struct pw_context *context, uint32_t flags, if ((res = param_filter(result, &input, &output, SPA_PARAM_Meta, &b)) > 0) n_params += res; - if (n_params > 4096) + if (n_params > MAX_METAS) return -EINVAL; metas = alloca(sizeof(struct spa_meta) * n_params * 2);