Skip to content

Stack sizes for ASRC and SSRC in tests/examples seem incorrect. #101

@xross

Description

@xross

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions