mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05: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