From 9e93fe3c36c5020ef131155eac12ea6d54286fab Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 19 May 2022 15:35:58 +0200 Subject: [PATCH] audioconvert2: remap volumes to right channels We get the volumes with a channelmap of the input/output, remap this to the channelmixer internal layout. --- spa/plugins/audioconvert/audioconvert2.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/spa/plugins/audioconvert/audioconvert2.c b/spa/plugins/audioconvert/audioconvert2.c index 511452856..d728cd703 100644 --- a/spa/plugins/audioconvert/audioconvert2.c +++ b/spa/plugins/audioconvert/audioconvert2.c @@ -1147,6 +1147,8 @@ static int remap_volumes(struct impl *this, const struct spa_audio_info *info) static void set_volume(struct impl *this) { struct volumes *vol; + uint32_t i; + float volumes[SPA_AUDIO_MAX_CHANNELS]; struct dir *dir = &this->dir[this->direction]; if (dir->have_format) @@ -1160,8 +1162,11 @@ static void set_volume(struct impl *this) else vol = &this->props.channel; + for (i = 0; i < vol->n_volumes; i++) + volumes[i] = vol->volumes[dir->src_remap[i]]; + channelmix_set_volume(&this->mix, this->props.volume, vol->mute, - vol->n_volumes, vol->volumes); + vol->n_volumes, volumes); } static int setup_channelmix(struct impl *this)