diff --git a/pipewire-jack/src/pipewire-jack.c b/pipewire-jack/src/pipewire-jack.c index 8b1dba862..c4a1c41f5 100644 --- a/pipewire-jack/src/pipewire-jack.c +++ b/pipewire-jack/src/pipewire-jack.c @@ -67,8 +67,8 @@ #define MAX_OBJECTS 8192 #define MAX_PORTS 1024 #define MAX_BUFFERS 2 -#define MAX_BUFFER_DATAS 4u -#define MAX_BUFFER_MEMS 4 +#define MAX_BUFFER_DATAS 1u +#define MAX_BUFFER_MEMS 1 #define MAX_MIX 4096 #define MAX_IO 32 @@ -1368,7 +1368,7 @@ static int param_buffers(struct client *c, struct port *p, case 1: *param = spa_pod_builder_add_object(b, SPA_TYPE_OBJECT_ParamBuffers, SPA_PARAM_Buffers, - SPA_PARAM_BUFFERS_buffers, SPA_POD_CHOICE_RANGE_Int(1, 1, MAX_BUFFERS), + SPA_PARAM_BUFFERS_buffers, SPA_POD_CHOICE_RANGE_Int(2, 1, MAX_BUFFERS), SPA_PARAM_BUFFERS_blocks, SPA_POD_Int(1), SPA_PARAM_BUFFERS_size, SPA_POD_CHOICE_STEP_Int( MAX_BUFFER_FRAMES * sizeof(float), @@ -1381,7 +1381,7 @@ static int param_buffers(struct client *c, struct port *p, case 2: *param = spa_pod_builder_add_object(b, SPA_TYPE_OBJECT_ParamBuffers, SPA_PARAM_Buffers, - SPA_PARAM_BUFFERS_buffers, SPA_POD_CHOICE_RANGE_Int(1, 1, MAX_BUFFERS), + SPA_PARAM_BUFFERS_buffers, SPA_POD_CHOICE_RANGE_Int(2, 1, MAX_BUFFERS), SPA_PARAM_BUFFERS_blocks, SPA_POD_Int(1), SPA_PARAM_BUFFERS_size, SPA_POD_CHOICE_RANGE_Int( 320 * 240 * 4 * 4, diff --git a/spa/plugins/alsa/alsa-pcm-sink.c b/spa/plugins/alsa/alsa-pcm-sink.c index 5f5f9fe85..c468b9431 100644 --- a/spa/plugins/alsa/alsa-pcm-sink.c +++ b/spa/plugins/alsa/alsa-pcm-sink.c @@ -382,7 +382,7 @@ impl_node_port_enum_params(void *object, int seq, param = spa_pod_builder_add_object(&b, SPA_TYPE_OBJECT_ParamBuffers, id, - SPA_PARAM_BUFFERS_buffers, SPA_POD_CHOICE_RANGE_Int(3, 1, MAX_BUFFERS), + SPA_PARAM_BUFFERS_buffers, SPA_POD_CHOICE_RANGE_Int(2, 1, MAX_BUFFERS), SPA_PARAM_BUFFERS_blocks, SPA_POD_Int(1), SPA_PARAM_BUFFERS_size, SPA_POD_CHOICE_RANGE_Int( this->props.max_latency * this->frame_size, diff --git a/spa/plugins/control/mixer.c b/spa/plugins/control/mixer.c index e9897fe62..4cb0b8f95 100644 --- a/spa/plugins/control/mixer.c +++ b/spa/plugins/control/mixer.c @@ -337,7 +337,7 @@ next: param = spa_pod_builder_add_object(&b, SPA_TYPE_OBJECT_ParamBuffers, id, - SPA_PARAM_BUFFERS_buffers, SPA_POD_CHOICE_RANGE_Int(1, 1, MAX_BUFFERS), + SPA_PARAM_BUFFERS_buffers, SPA_POD_CHOICE_RANGE_Int(2, 1, MAX_BUFFERS), SPA_PARAM_BUFFERS_blocks, SPA_POD_Int(1), SPA_PARAM_BUFFERS_size, SPA_POD_CHOICE_RANGE_Int(4096, 512, INT32_MAX), SPA_PARAM_BUFFERS_stride, SPA_POD_Int(1), diff --git a/src/pipewire/buffers.c b/src/pipewire/buffers.c index 59cfd2685..f56f08dbc 100644 --- a/src/pipewire/buffers.c +++ b/src/pipewire/buffers.c @@ -277,7 +277,7 @@ int pw_buffers_negotiate(struct pw_context *context, uint32_t flags, } else { pw_log_warn(NAME" %p: no buffers param", result); minsize = 8192; - max_buffers = 4; + max_buffers = 2; } if (SPA_FLAG_IS_SET(flags, PW_BUFFERS_FLAG_NO_MEM))