From 974dc9083209a138a0a6a5c8a8f708bf684822ca Mon Sep 17 00:00:00 2001 From: Rander Wang Date: Tue, 12 Dec 2023 16:33:16 +0800 Subject: [PATCH] module_adapter: build params first then verify it We need to build params based on module base config first then we can verify it since the income params is built for the source of the this module. In comp_verify_params the params is applied to buffer so the sequence is vital. And also remove redundant stream_param set. Signed-off-by: Rander Wang --- src/audio/module_adapter/module_adapter.c | 3 ++- src/audio/module_adapter/module_adapter_ipc4.c | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/audio/module_adapter/module_adapter.c b/src/audio/module_adapter/module_adapter.c index e30c6cbc51cb..203283b1b8f5 100644 --- a/src/audio/module_adapter/module_adapter.c +++ b/src/audio/module_adapter/module_adapter.c @@ -581,6 +581,8 @@ int module_adapter_params(struct comp_dev *dev, struct sof_ipc_stream_params *pa int ret; struct processing_module *mod = comp_get_drvdata(dev); + module_adapter_set_params(mod, params); + ret = comp_verify_params(dev, mod->verify_params_flags, params); if (ret < 0) { comp_err(dev, "module_adapter_params(): comp_verify_params() failed."); @@ -610,7 +612,6 @@ int module_adapter_params(struct comp_dev *dev, struct sof_ipc_stream_params *pa return ret; } - module_adapter_set_params(mod, params); return 0; } diff --git a/src/audio/module_adapter/module_adapter_ipc4.c b/src/audio/module_adapter/module_adapter_ipc4.c index 65ca8e806e3f..5e090cc77d95 100644 --- a/src/audio/module_adapter/module_adapter_ipc4.c +++ b/src/audio/module_adapter/module_adapter_ipc4.c @@ -67,7 +67,6 @@ void module_adapter_check_data(struct processing_module *mod, struct comp_dev *d void module_adapter_set_params(struct processing_module *mod, struct sof_ipc_stream_params *params) { ipc4_base_module_cfg_to_stream_params(&mod->priv.cfg.base_cfg, params); - ipc4_base_module_cfg_to_stream_params(&mod->priv.cfg.base_cfg, mod->stream_params); } int module_adapter_set_state(struct processing_module *mod, struct comp_dev *dev,