Skip to content

[FEATURE] Audio processing rate throttle #5425

@singalsu

Description

@singalsu

Is your feature request related to a problem? Please describe.
Yes, with timer based scheduling the number of frames per copy() varies. Then as chain reaction the component processing MCPS max can be temporarily a lot larger than average when scheduled, even double.

Describe the solution you'd like
Pass from topology to pipeline a limit for frames count vs. nominal. With e.g. +10% allowed the component could process max 52 frames when nominal is 48 (for 48 kHz audio stream scheduled every 1 ms). The components receive the adjusted limit from aligned copy limits helper function. Combining them into audio component framework makes sense.

Describe alternatives you've considered
Some components implement a version of this but it is better to have a common generic solution. It could be also updated later to be more intelligent and overall processing load aware.

Additional context
PR #5339 contained a draft example of success of processing time limiting (see the processing time plots without and with limit). It prevented the FIR processing time for 1ms of data to exceed 1 ms time. This issue could be demonstrated only in a very high load case.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions