mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	filter-graph: add latency reporting to the sofa plugin
This commit is contained in:
		
							parent
							
								
									8bcf0460d1
								
							
						
					
					
						commit
						8e4c211a80
					
				
					 1 changed files with 15 additions and 2 deletions
				
			
		| 
						 | 
					@ -30,7 +30,7 @@ struct spatializer_impl {
 | 
				
			||||||
	struct spa_log *log;
 | 
						struct spa_log *log;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	unsigned long rate;
 | 
						unsigned long rate;
 | 
				
			||||||
	float *port[6];
 | 
						float *port[7];
 | 
				
			||||||
	int n_samples, blocksize, tailsize;
 | 
						int n_samples, blocksize, tailsize;
 | 
				
			||||||
	float *tmp[2];
 | 
						float *tmp[2];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -312,6 +312,7 @@ static void spatializer_run(void * Instance, unsigned long SampleCount)
 | 
				
			||||||
		convolver_run(impl->l_conv[0], impl->port[2], impl->port[0], SampleCount);
 | 
							convolver_run(impl->l_conv[0], impl->port[2], impl->port[0], SampleCount);
 | 
				
			||||||
		convolver_run(impl->r_conv[0], impl->port[2], impl->port[1], SampleCount);
 | 
							convolver_run(impl->r_conv[0], impl->port[2], impl->port[1], SampleCount);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						impl->port[6][0] = impl->n_samples;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void spatializer_connect_port(void * Instance, unsigned long Port,
 | 
					static void spatializer_connect_port(void * Instance, unsigned long Port,
 | 
				
			||||||
| 
						 | 
					@ -346,6 +347,12 @@ static void spatializer_control_changed(void * Instance)
 | 
				
			||||||
	spatializer_reload(Instance);
 | 
						spatializer_reload(Instance);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void spatializer_activate(void * Instance)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						struct spatializer_impl *impl = Instance;
 | 
				
			||||||
 | 
						impl->port[6][0] = impl->n_samples;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void spatializer_deactivate(void * Instance)
 | 
					static void spatializer_deactivate(void * Instance)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct spatializer_impl *impl = Instance;
 | 
						struct spatializer_impl *impl = Instance;
 | 
				
			||||||
| 
						 | 
					@ -385,17 +392,23 @@ static struct spa_fga_port spatializer_ports[] = {
 | 
				
			||||||
	  .flags = SPA_FGA_PORT_INPUT | SPA_FGA_PORT_CONTROL,
 | 
						  .flags = SPA_FGA_PORT_INPUT | SPA_FGA_PORT_CONTROL,
 | 
				
			||||||
	  .def = 1.0f, .min = 0.0f, .max = 100.0f
 | 
						  .def = 1.0f, .min = 0.0f, .max = 100.0f
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
						{ .index = 6,
 | 
				
			||||||
 | 
						  .name = "latency",
 | 
				
			||||||
 | 
						  .hint = SPA_FGA_HINT_LATENCY,
 | 
				
			||||||
 | 
						  .flags = SPA_FGA_PORT_OUTPUT | SPA_FGA_PORT_CONTROL,
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const struct spa_fga_descriptor spatializer_desc = {
 | 
					static const struct spa_fga_descriptor spatializer_desc = {
 | 
				
			||||||
	.name = "spatializer",
 | 
						.name = "spatializer",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	.n_ports = 6,
 | 
						.n_ports = SPA_N_ELEMENTS(spatializer_ports),
 | 
				
			||||||
	.ports = spatializer_ports,
 | 
						.ports = spatializer_ports,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	.instantiate = spatializer_instantiate,
 | 
						.instantiate = spatializer_instantiate,
 | 
				
			||||||
	.connect_port = spatializer_connect_port,
 | 
						.connect_port = spatializer_connect_port,
 | 
				
			||||||
	.control_changed = spatializer_control_changed,
 | 
						.control_changed = spatializer_control_changed,
 | 
				
			||||||
 | 
						.activate = spatializer_activate,
 | 
				
			||||||
	.deactivate = spatializer_deactivate,
 | 
						.deactivate = spatializer_deactivate,
 | 
				
			||||||
	.run = spatializer_run,
 | 
						.run = spatializer_run,
 | 
				
			||||||
	.cleanup = spatializer_cleanup,
 | 
						.cleanup = spatializer_cleanup,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue