hal: qahw: Add support for Input channel map config
Add new set param api to configure input channel map to DSP
Change-Id: I47f8c165040be59c4da70b13b0cbc66c8802f71b
diff --git a/hal/audio_extn/utils.c b/hal/audio_extn/utils.c
index 0331fc4..660bd6b 100644
--- a/hal/audio_extn/utils.c
+++ b/hal/audio_extn/utils.c
@@ -2114,3 +2114,30 @@
return 0;
}
#endif
+
+int audio_extn_utils_set_channel_map(
+ struct stream_out *out,
+ struct audio_out_channel_map_param *channel_map_param)
+{
+ int ret = -EINVAL, i = 0;
+ int channels = audio_channel_count_from_out_mask(out->channel_mask);
+
+ if (channel_map_param == NULL) {
+ ALOGE("%s:: Invalid channel_map", __func__);
+ goto exit;
+ }
+
+ if (channel_map_param->channels != channels) {
+ ALOGE("%s:: Channels(%d) does not match stream channels(%d)",
+ __func__, channel_map_param->channels, channels);
+ goto exit;
+ }
+
+ for ( i = 0; i < channels; i++) {
+ ALOGV("%s:: channel_map[%d]- %d", __func__, i, channel_map_param->channel_map[i]);
+ out->channel_map_param.channel_map[i] = channel_map_param->channel_map[i];
+ }
+ ret = 0;
+exit:
+ return ret;
+}