mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
filter-chain: accumulate node param changes
Don't just look at the last set parameter to decide if the node parameters changed but or all results together. Fixes #4331
This commit is contained in:
parent
82585b7475
commit
2a4840b991
1 changed files with 4 additions and 2 deletions
|
|
@ -1095,13 +1095,15 @@ static int port_set_control_value(struct port *port, float *value, uint32_t id)
|
|||
struct node *node = port->node;
|
||||
struct descriptor *desc = node->desc;
|
||||
float old;
|
||||
bool changed;
|
||||
|
||||
old = port->control_data[id];
|
||||
port->control_data[id] = value ? *value : desc->default_control[port->idx];
|
||||
pw_log_info("control %d %d ('%s') from %f to %f", port->idx, id,
|
||||
desc->desc->ports[port->p].name, old, port->control_data[id]);
|
||||
node->control_changed = old != port->control_data[id];
|
||||
return node->control_changed ? 1 : 0;
|
||||
changed = old != port->control_data[id];
|
||||
node->control_changed |= changed;
|
||||
return changed ? 1 : 0;
|
||||
}
|
||||
|
||||
static int set_control_value(struct node *node, const char *name, float *value)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue