channelmix: fix control handling

We need to use the control type of the control we're actually going
to use.
This commit is contained in:
Wim Taymans 2022-06-13 16:17:53 +02:00
parent 8bd1d4c7c9
commit a1d4b41c34

View file

@ -1398,22 +1398,18 @@ static int channelmix_process_control(struct impl *this, struct port *ctrlport,
continue; continue;
} }
switch (c->type) { if (prev) {
switch (prev->type) {
case SPA_CONTROL_Midi: case SPA_CONTROL_Midi:
{
if (prev)
apply_midi(this, &prev->value); apply_midi(this, &prev->value);
break; break;
}
case SPA_CONTROL_Properties: case SPA_CONTROL_Properties:
{
if (prev)
apply_props(this, &prev->value); apply_props(this, &prev->value);
break; break;
}
default: default:
continue; continue;
} }
}
chunk = SPA_MIN(avail_samples, c->offset - ctrlport->ctrl_offset); chunk = SPA_MIN(avail_samples, c->offset - ctrlport->ctrl_offset);