From be0d3530b6c00cf4c8855cc638d35a64d4b81404 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); }