From 8a84d02bac581014d3cebf713064083cb9ad301a Mon Sep 17 00:00:00 2001 From: Tobiasz Dryjanski Date: Thu, 18 Apr 2024 19:59:54 +0200 Subject: [PATCH] volume: fix wrong volume ramp being chosen Fade out was not working due to wrong order of operations. Ramp type was set up before the correct type was set, so the default was always used. Signed-off-by: Tobiasz Dryjanski --- src/audio/volume/volume_ipc4.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/audio/volume/volume_ipc4.c b/src/audio/volume/volume_ipc4.c index ddac8dac0d07..947d88a323b9 100644 --- a/src/audio/volume/volume_ipc4.c +++ b/src/audio/volume/volume_ipc4.c @@ -214,7 +214,6 @@ static int volume_set_volume(struct processing_module *mod, const uint8_t *data, return -EINVAL; } - init_ramp(cd, cdata.curve_duration, cdata.target_volume); channels_count = mod->priv.cfg.base_cfg.audio_fmt.channels_count; if (channels_count > SOF_IPC_MAX_CHANNELS) { comp_err(dev, "Invalid channels count %u", channels_count); @@ -229,7 +228,7 @@ static int volume_set_volume(struct processing_module *mod, const uint8_t *data, set_volume_ipc4(cd, i, cdata.target_volume, cdata.curve_type, cdata.curve_duration); - + init_ramp(cd, cdata.curve_duration, cdata.target_volume); volume_set_chan(mod, i, cd->tvolume[i], true); } } @@ -241,7 +240,7 @@ static int volume_set_volume(struct processing_module *mod, const uint8_t *data, cdata.target_volume, cdata.curve_type, cdata.curve_duration); - + init_ramp(cd, cdata.curve_duration, cdata.target_volume); volume_set_chan(mod, cdata.channel_id, cd->tvolume[cdata.channel_id], true); }