[Sound-open-firmware] [PATCH] src: return number of frames produced in copy
Seppo Ingalsuo
seppo.ingalsuo at linux.intel.com
Mon Dec 11 10:18:02 CET 2017
On 08.12.2017 22:37, Liam Girdwood wrote:
> Return the number of frames we produce in the copy() function.
>
> Signed-off-by: Liam Girdwood <liam.r.girdwood at linux.intel.com>
> ---
> src/audio/src.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/src/audio/src.c b/src/audio/src.c
> index 0103e2e..d494d96 100644
> --- a/src/audio/src.c
> +++ b/src/audio/src.c
> @@ -535,9 +535,12 @@ static int src_copy(struct comp_dev *dev)
> if (consumed > 0)
> comp_update_buffer_consume(source, consumed);
>
> - if (produced > 0)
> + if (produced > 0) {
> comp_update_buffer_produce(sink, produced);
> + return cd->param.blk_out;
I wonder if it can cause problems that this value is the minimum number
of frames for SRC to run. The actual processed is +N sometimes with
sample rates those don't have an integer number of frames in schedule
interval like with the 44.1 kHz family rates in a 48 kHz mixer.
If need the actual frames count could be get from inside the copy
function to avoid dividing the produced value.
> + }
>
> + /* produced no data */
> return 0;
> }
>
More information about the Sound-open-firmware
mailing list