audioconvert: expose resampler properties

Expose the resampler PropInfo and Props and params as well. Mostly
useful for updating the resample quality at runtime.
This commit is contained in:
Wim Taymans 2022-01-18 17:43:44 +01:00
parent b9ace709dc
commit 3e73f05af4
2 changed files with 165 additions and 7 deletions

View file

@ -472,13 +472,22 @@ static int enum_params(struct impl *this,
}
result->next = 0x1000;
}
if (result->next >= 0x1000) {
if (result->next < 0x2000) {
result->next &= 0xfff;
if ((res = spa_node_enum_params_sync(this->channelmix,
id, &result->next, filter, &result->param, builder)) == 1) {
result->next |= 0x1000;
return res;
}
result->next = 0x2000;
}
if (result->next >= 0x2000) {
result->next &= 0xfff;
if ((res = spa_node_enum_params_sync(this->resample,
id, &result->next, filter, &result->param, builder)) == 1) {
result->next |= 0x2000;
return res;
}
}
return 0;
}
@ -881,6 +890,7 @@ static int impl_node_set_param(void *object, uint32_t id, uint32_t flags,
if (this->fmt[SPA_DIRECTION_INPUT] == this->merger)
res = spa_node_set_param(this->merger, id, flags, param);
res = spa_node_set_param(this->channelmix, id, flags, param);
res = spa_node_set_param(this->resample, id, flags, param);
break;
}
default: