Merge pull request #5957 from matrix-org/travis/voicemessages/resample
Don't recurse on arrayFastResamplepull/21833/head
commit
9b7665433f
|
@ -36,14 +36,12 @@ export function arrayFastResample(input: number[], points: number): number[] {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Smaller inputs mean we have to spread the values over the desired length. We
|
// Smaller inputs mean we have to spread the values over the desired length. We
|
||||||
// end up overshooting the target length in doing this, so we'll resample down
|
// end up overshooting the target length in doing this, but we're not looking to
|
||||||
// before returning. This recursion is risky, but mathematically should not go
|
// be super accurate so we'll let the sanity trims do their job.
|
||||||
// further than 1 level deep.
|
|
||||||
const spreadFactor = Math.ceil(points / input.length);
|
const spreadFactor = Math.ceil(points / input.length);
|
||||||
for (const val of input) {
|
for (const val of input) {
|
||||||
samples.push(...arraySeed(val, spreadFactor));
|
samples.push(...arraySeed(val, spreadFactor));
|
||||||
}
|
}
|
||||||
samples = arrayFastResample(samples, points);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sanity fill, just in case
|
// Sanity fill, just in case
|
||||||
|
|
Loading…
Reference in New Issue