Stack sizes set as, for example:
int iSSRCStack[SRC_CHANNELS_PER_INSTANCE][SSRC_STACK_LENGTH_MULT * SRC_N_IN_SAMPLES]; // Buffers between processing stages
e.g.
|
int ssrc_stack[SSRC_CHANNELS_PER_INSTANCE][SSRC_STACK_LENGTH_MULT * SSRC_N_IN_SAMPLES]; //Buffers between processing stages |
Based on
|
#define SSRC_STACK_LENGTH_MULT (SSRC_N_CHANNELS * SSRC_N_IN_SAMPLES) // Multiplier for stack length (stack length = this value x the number of input samples to process) |
I think they should just be:
int iSSRCStack[SRC_CHANNELS_PER_INSTANCE][SSRC_STACK_LENGTH_MULT]; // Buffers between processing stages
@ed-xmos any thoughts? I wonder if this crept in when adding support for multiple instances. Its unclear to me why each instance would need stack space related to the total channel count, not just the instance channel count.