mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-01 22:58:50 -04: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;
|
||||
|
||||
unsigned long rate;
|
||||
float *port[6];
|
||||
float *port[7];
|
||||
int n_samples, blocksize, tailsize;
|
||||
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->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,
|
||||
|
|
@ -346,6 +347,12 @@ static void spatializer_control_changed(void * 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)
|
||||
{
|
||||
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,
|
||||
.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 = {
|
||||
.name = "spatializer",
|
||||
|
||||
.n_ports = 6,
|
||||
.n_ports = SPA_N_ELEMENTS(spatializer_ports),
|
||||
.ports = spatializer_ports,
|
||||
|
||||
.instantiate = spatializer_instantiate,
|
||||
.connect_port = spatializer_connect_port,
|
||||
.control_changed = spatializer_control_changed,
|
||||
.activate = spatializer_activate,
|
||||
.deactivate = spatializer_deactivate,
|
||||
.run = spatializer_run,
|
||||
.cleanup = spatializer_cleanup,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue