diff --git a/src/audio/copier/copier.c b/src/audio/copier/copier.c index 0b57d167fb22..0d1f87de55c4 100644 --- a/src/audio/copier/copier.c +++ b/src/audio/copier/copier.c @@ -390,7 +390,7 @@ static int copier_comp_trigger(struct comp_dev *dev, int cmd) buffer = list_first_item(&dai_copier->bsource_list, struct comp_buffer, sink_list); pipe_reg.stream_start_offset = posn.dai_posn + - latency * audio_stream_get_size(&buffer->stream); + latency * audio_stream_period_bytes(&buffer->stream, dev->frames); pipe_reg.stream_end_offset = 0; mailbox_sw_regs_write(cd->pipeline_reg_offset, &pipe_reg, sizeof(pipe_reg)); } else if (cmd == COMP_TRIGGER_PAUSE) { @@ -413,7 +413,8 @@ static int copier_comp_trigger(struct comp_dev *dev, int cmd) } buffer = list_first_item(&dai_copier->bsource_list, struct comp_buffer, sink_list); - pipe_reg.stream_start_offset += latency * audio_stream_get_size(&buffer->stream); + pipe_reg.stream_start_offset += latency * + audio_stream_period_bytes(&buffer->stream, dev->frames); mailbox_sw_regs_write(cd->pipeline_reg_offset, &pipe_reg.stream_start_offset, sizeof(pipe_reg.stream_start_offset)); }