tweak buffers a little

JACK can handle 2 buffers at most, make the default buffer allocator
allocate 2 buffers when no params are given.
Prefer 2 buffers, it allows some form of async fill/consume
This commit is contained in:
Wim Taymans 2020-02-19 10:17:00 +01:00
parent ddcb08a98a
commit ea911f2e3f
4 changed files with 7 additions and 7 deletions

View file

@ -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,

View file

@ -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,

View file

@ -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),

View file

@ -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))