diff --git a/src/audio/buffers/comp_buffer.c b/src/audio/buffers/comp_buffer.c index 8b21b06c454d..e184acc3c2a4 100644 --- a/src/audio/buffers/comp_buffer.c +++ b/src/audio/buffers/comp_buffer.c @@ -217,9 +217,6 @@ static struct comp_buffer *buffer_alloc_struct(void *stream_addr, size_t size, audio_stream_set_addr(&buffer->stream, stream_addr); buffer_init_stream(buffer, size); - audio_stream_set_underrun(&buffer->stream, !!(flags & SOF_BUF_UNDERRUN_PERMITTED)); - audio_stream_set_overrun(&buffer->stream, !!(flags & SOF_BUF_OVERRUN_PERMITTED)); - comp_buffer_reset_source_list(buffer); comp_buffer_reset_sink_list(buffer); diff --git a/src/ipc/ipc-helper.c b/src/ipc/ipc-helper.c index 896fedf15463..ba8daf65e6d5 100644 --- a/src/ipc/ipc-helper.c +++ b/src/ipc/ipc-helper.c @@ -85,6 +85,11 @@ __cold struct comp_buffer *buffer_new(const struct sof_ipc_buffer *desc, bool is buffer->stream.runtime_stream_params.pipeline_id = desc->comp.pipeline_id; buffer->core = desc->comp.core; + audio_stream_set_underrun(&buffer->stream, + !!(desc->flags & SOF_BUF_UNDERRUN_PERMITTED)); + audio_stream_set_overrun(&buffer->stream, + !!(desc->flags & SOF_BUF_OVERRUN_PERMITTED)); + memcpy_s(&buffer->tctx, sizeof(struct tr_ctx), &buffer_tr, sizeof(struct tr_ctx)); }