mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-03 09:01:54 -05:00
ffmeg: fix default number of buffers
Make the MAX buffers different from the min and make sure the default value is between min and max.
This commit is contained in:
parent
437e486d6e
commit
1515e46d50
1 changed files with 6 additions and 5 deletions
|
|
@ -43,7 +43,7 @@
|
||||||
SPA_LOG_TOPIC_DEFINE_STATIC(log_topic, "spa.videoconvert.ffmpeg");
|
SPA_LOG_TOPIC_DEFINE_STATIC(log_topic, "spa.videoconvert.ffmpeg");
|
||||||
|
|
||||||
#define MAX_ALIGN 64u
|
#define MAX_ALIGN 64u
|
||||||
#define MAX_BUFFERS 32
|
#define MAX_BUFFERS 32u
|
||||||
#define MAX_DATAS 4
|
#define MAX_DATAS 4
|
||||||
#define MAX_PORTS (1+1)
|
#define MAX_PORTS (1+1)
|
||||||
|
|
||||||
|
|
@ -1218,7 +1218,7 @@ impl_node_port_enum_params(void *object, int seq,
|
||||||
break;
|
break;
|
||||||
case SPA_PARAM_Buffers:
|
case SPA_PARAM_Buffers:
|
||||||
{
|
{
|
||||||
uint32_t size, min, max;
|
uint32_t size, min, max, def;
|
||||||
|
|
||||||
if (!port->have_format)
|
if (!port->have_format)
|
||||||
return -EIO;
|
return -EIO;
|
||||||
|
|
@ -1233,15 +1233,16 @@ impl_node_port_enum_params(void *object, int seq,
|
||||||
|
|
||||||
other = GET_PORT(this, SPA_DIRECTION_REVERSE(direction), port_id);
|
other = GET_PORT(this, SPA_DIRECTION_REVERSE(direction), port_id);
|
||||||
if (other->n_buffers > 0) {
|
if (other->n_buffers > 0) {
|
||||||
min = max = other->n_buffers;
|
min = other->n_buffers;
|
||||||
} else {
|
} else {
|
||||||
min = 2;
|
min = 2;
|
||||||
max = MAX_BUFFERS;
|
|
||||||
}
|
}
|
||||||
|
max = MAX_BUFFERS;
|
||||||
|
def = SPA_CLAMP(8u, min, MAX_BUFFERS);
|
||||||
|
|
||||||
param = spa_pod_builder_add_object(&b,
|
param = spa_pod_builder_add_object(&b,
|
||||||
SPA_TYPE_OBJECT_ParamBuffers, id,
|
SPA_TYPE_OBJECT_ParamBuffers, id,
|
||||||
SPA_PARAM_BUFFERS_buffers, SPA_POD_CHOICE_RANGE_Int(8, min, max),
|
SPA_PARAM_BUFFERS_buffers, SPA_POD_CHOICE_RANGE_Int(def, min, max),
|
||||||
SPA_PARAM_BUFFERS_blocks, SPA_POD_Int(port->blocks),
|
SPA_PARAM_BUFFERS_blocks, SPA_POD_Int(port->blocks),
|
||||||
SPA_PARAM_BUFFERS_size, SPA_POD_CHOICE_RANGE_Int(
|
SPA_PARAM_BUFFERS_size, SPA_POD_CHOICE_RANGE_Int(
|
||||||
size * port->stride,
|
size * port->stride,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue