Skip to content

Update ASRC task to dynamically set FIFO length to improve latency #133

@ed-xmos

Description

@ed-xmos

Currently all SRs in and out use the same FIFO length. This means it needs to be sized for the worst case and consequently causes higher than needed latencies at lower output rates. Currently it gets sized by the app and passed in as a constant:

void asrc_task(chanend_t c_asrc_input, asrc_in_out_t *asrc_io, asynchronous_fifo_t *fifo, unsigned fifo_length){

We now have the figures (and equation) of how large it should be this could be optimised depending on SR to improve low rate group delay by quite a lot (35% or better).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions