Skip to content

Commit b629896

Browse files
ranj063macchian
authored andcommitted
module_adapter: reset input/output buffers when consuming/producing
And avoid looping through the buffers again. Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
1 parent 72fc05a commit b629896

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

src/audio/module_adapter/module_adapter.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -501,6 +501,7 @@ static void module_adapter_process_output(struct comp_dev *dev)
501501
src_buffer = container_of(_blist, struct comp_buffer, sink_list);
502502
module_copy_samples(dev, src_buffer, sink,
503503
mod->output_buffers[i].size);
504+
mod->output_buffers[i].size = 0;
504505
break;
505506
}
506507
j++;
@@ -564,10 +565,15 @@ int module_adapter_copy(struct comp_dev *dev)
564565
list_for_item(blist, &dev->bsource_list) {
565566
source = container_of(blist, struct comp_buffer, sink_list);
566567
comp_update_buffer_consume(source, mod->input_buffers[i].consumed);
568+
bzero(mod->input_buffers[i].data, size);
569+
mod->input_buffers[i].size = 0;
570+
mod->input_buffers[i].consumed = 0;
567571
i++;
568572
}
569573

570574
module_adapter_process_output(dev);
575+
576+
return 0;
571577
out:
572578
for (i = 0; i < mod->num_output_buffers; i++)
573579
mod->output_buffers[i].size = 0;

0 commit comments

Comments
 (0)