Loading hal/audio_hw.c +3 −3 Original line number Original line Diff line number Diff line Loading @@ -4070,7 +4070,7 @@ int start_output_stream(struct stream_out *out) if (out->realtime) if (out->realtime) platform_set_stream_channel_map(adev->platform, out->channel_mask, platform_set_stream_channel_map(adev->platform, out->channel_mask, out->pcm_device_id, &out->channel_map_param.channel_map[0]); out->pcm_device_id, -1, &out->channel_map_param.channel_map[0]); out->pcm = pcm_open_prepare_helper(adev->snd_card, out->pcm_device_id, out->pcm = pcm_open_prepare_helper(adev->snd_card, out->pcm_device_id, flags, pcm_open_retry_count, flags, pcm_open_retry_count, Loading @@ -4096,7 +4096,7 @@ int start_output_stream(struct stream_out *out) if (!out->realtime) if (!out->realtime) platform_set_stream_channel_map(adev->platform, out->channel_mask, platform_set_stream_channel_map(adev->platform, out->channel_mask, out->pcm_device_id, &out->channel_map_param.channel_map[0]); out->pcm_device_id, -1, &out->channel_map_param.channel_map[0]); // apply volume for voip playback after path is set up // apply volume for voip playback after path is set up if (out->usecase == USECASE_AUDIO_PLAYBACK_VOIP) if (out->usecase == USECASE_AUDIO_PLAYBACK_VOIP) Loading @@ -4117,7 +4117,7 @@ int start_output_stream(struct stream_out *out) */ */ if (popcount(out->channel_mask) > 2 || out->channel_map_param.channel_map[0]) if (popcount(out->channel_mask) > 2 || out->channel_map_param.channel_map[0]) platform_set_stream_channel_map(adev->platform, out->channel_mask, platform_set_stream_channel_map(adev->platform, out->channel_mask, out->pcm_device_id, &out->channel_map_param.channel_map[0]); out->pcm_device_id, -1, &out->channel_map_param.channel_map[0]); audio_enable_asm_bit_width_enforce_mode(adev->mixer, audio_enable_asm_bit_width_enforce_mode(adev->mixer, adev->dsp_bit_width_enforce_mode, adev->dsp_bit_width_enforce_mode, true); true); Loading hal/msm8916/platform.c +7 −5 Original line number Original line Diff line number Diff line /* /* * Copyright (c) 2013-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2013-2021, The Linux Foundation. All rights reserved. * Not a Contribution. * Not a Contribution. * * * Copyright (C) 2013 The Android Open Source Project * Copyright (C) 2013 The Android Open Source Project Loading Loading @@ -7263,14 +7263,14 @@ end: } } int platform_set_stream_channel_map(void *platform, audio_channel_mask_t channel_mask, int platform_set_stream_channel_map(void *platform, audio_channel_mask_t channel_mask, int snd_id, uint8_t *input_channel_map) int snd_id, int be_idx, uint8_t *input_channel_map) { { int ret = 0, i = 0; int ret = 0, i = 0; int channels = audio_channel_count_from_out_mask(channel_mask); int channels = audio_channel_count_from_out_mask(channel_mask); char channel_map[AUDIO_CHANNEL_COUNT_MAX]; char channel_map[AUDIO_CHANNEL_COUNT_MAX]; memset(channel_map, 0, sizeof(channel_map)); memset(channel_map, 0, sizeof(channel_map)); if (*input_channel_map) { if ((input_channel_map != NULL) && *input_channel_map) { for (i = 0; i < channels; i++) { for (i = 0; i < channels; i++) { ALOGV("%s:: Channel Map channel_map[%d] - %d", __func__, i, *input_channel_map); ALOGV("%s:: Channel Map channel_map[%d] - %d", __func__, i, *input_channel_map); channel_map[i] = *input_channel_map; channel_map[i] = *input_channel_map; Loading Loading @@ -7357,7 +7357,7 @@ int platform_set_stream_channel_map(void *platform, audio_channel_mask_t channel return -1; return -1; } } } } ret = platform_set_channel_map(platform, channels, channel_map, snd_id, -1); ret = platform_set_channel_map(platform, channels, channel_map, snd_id, be_idx); return ret; return ret; } } Loading Loading @@ -7704,7 +7704,9 @@ int platform_set_edid_channels_configuration(void *platform, int channels, int b platform_set_channel_map(platform, adev_device_cfg_ptr->dev_cfg_params.channels, platform_set_channel_map(platform, adev_device_cfg_ptr->dev_cfg_params.channels, (char *)adev_device_cfg_ptr->dev_cfg_params.channel_map, -1, -1); (char *)adev_device_cfg_ptr->dev_cfg_params.channel_map, -1, -1); } else { } else { platform_set_channel_map(platform, channels, info->channel_map, -1, -1); platform_set_stream_channel_map(platform, audio_channel_out_mask_from_count(channels), -1, -1, NULL); } } if (adev_device_cfg_ptr->use_client_dev_cfg) { if (adev_device_cfg_ptr->use_client_dev_cfg) { Loading hal/msm8960/platform.c +5 −3 Original line number Original line Diff line number Diff line /* /* * Copyright (c) 2013-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2013-2019, 2021 The Linux Foundation. All rights reserved. * Not a contribution. * Not a contribution. * * * Copyright (C) 2013 The Android Open Source Project * Copyright (C) 2013 The Android Open Source Project Loading Loading @@ -1202,14 +1202,16 @@ int platform_get_edid_info(void *platform __unused) } } int platform_set_channel_map(void *platform __unused, int ch_count __unused, int platform_set_channel_map(void *platform __unused, int ch_count __unused, char *ch_map __unused, int snd_id __unused) char *ch_map __unused, int snd_id __unused, int be_idx __unused) { { return -ENOSYS; return -ENOSYS; } } int platform_set_stream_channel_map(void *platform __unused, int platform_set_stream_channel_map(void *platform __unused, audio_channel_mask_t channel_mask __unused, audio_channel_mask_t channel_mask __unused, int snd_id __unused int snd_id __unused, int be_idx __unused, uint8_t *input_channel_map __unused) uint8_t *input_channel_map __unused) { { return -ENOSYS; return -ENOSYS; Loading hal/msm8974/platform.c +6 −4 Original line number Original line Diff line number Diff line Loading @@ -10802,14 +10802,14 @@ end: } } int platform_set_stream_channel_map(void *platform, audio_channel_mask_t channel_mask, int platform_set_stream_channel_map(void *platform, audio_channel_mask_t channel_mask, int snd_id, uint8_t *input_channel_map) int snd_id, int be_idx, uint8_t *input_channel_map) { { int ret = 0, i = 0; int ret = 0, i = 0; int channels = audio_channel_count_from_out_mask(channel_mask); int channels = audio_channel_count_from_out_mask(channel_mask); char channel_map[AUDIO_CHANNEL_COUNT_MAX]; char channel_map[AUDIO_CHANNEL_COUNT_MAX]; memset(channel_map, 0, sizeof(channel_map)); memset(channel_map, 0, sizeof(channel_map)); if (*input_channel_map) { if ((input_channel_map != NULL) && *input_channel_map) { for (i = 0; i < channels; i++) { for (i = 0; i < channels; i++) { ALOGV("%s:: Channel Map channel_map[%d] - %d", __func__, i, *input_channel_map); ALOGV("%s:: Channel Map channel_map[%d] - %d", __func__, i, *input_channel_map); channel_map[i] = *input_channel_map; channel_map[i] = *input_channel_map; Loading Loading @@ -10935,7 +10935,7 @@ int platform_set_stream_channel_map(void *platform, audio_channel_mask_t channel return -1; return -1; } } } } ret = platform_set_channel_map(platform, channels, channel_map, snd_id, -1); ret = platform_set_channel_map(platform, channels, channel_map, snd_id, be_idx); return ret; return ret; } } Loading Loading @@ -11486,7 +11486,9 @@ int platform_set_edid_channels_configuration_v2(void *platform, int channels, platform_set_channel_map(platform, adev_device_cfg_ptr->dev_cfg_params.channels, platform_set_channel_map(platform, adev_device_cfg_ptr->dev_cfg_params.channels, (char *)adev_device_cfg_ptr->dev_cfg_params.channel_map, -1, be_idx); (char *)adev_device_cfg_ptr->dev_cfg_params.channel_map, -1, be_idx); } else { } else { platform_set_channel_map(platform, channels, info->channel_map, -1, be_idx); platform_set_stream_channel_map(platform, audio_channel_out_mask_from_count(channels), -1, be_idx, NULL); } } if (adev_device_cfg_ptr->use_client_dev_cfg) { if (adev_device_cfg_ptr->use_client_dev_cfg) { Loading hal/platform_api.h +2 −2 Original line number Original line Diff line number Diff line /* /* * Copyright (c) 2013-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2013-2021, The Linux Foundation. All rights reserved. * Not a contribution. * Not a contribution. * * * Copyright (C) 2013 The Android Open Source Project * Copyright (C) 2013 The Android Open Source Project Loading Loading @@ -283,7 +283,7 @@ int platform_get_supported_copp_sampling_rate(uint32_t stream_sr); int platform_set_channel_map(void *platform, int ch_count, char *ch_map, int platform_set_channel_map(void *platform, int ch_count, char *ch_map, int snd_id, int be_idx); int snd_id, int be_idx); int platform_set_stream_channel_map(void *platform, audio_channel_mask_t channel_mask, int platform_set_stream_channel_map(void *platform, audio_channel_mask_t channel_mask, int snd_id, uint8_t *input_channel_map); int snd_id, int be_idx, uint8_t *input_channel_map); int platform_set_stream_pan_scale_params(void *platform, int platform_set_stream_pan_scale_params(void *platform, int snd_id, int snd_id, struct mix_matrix_params mm_params); struct mix_matrix_params mm_params); Loading Loading
hal/audio_hw.c +3 −3 Original line number Original line Diff line number Diff line Loading @@ -4070,7 +4070,7 @@ int start_output_stream(struct stream_out *out) if (out->realtime) if (out->realtime) platform_set_stream_channel_map(adev->platform, out->channel_mask, platform_set_stream_channel_map(adev->platform, out->channel_mask, out->pcm_device_id, &out->channel_map_param.channel_map[0]); out->pcm_device_id, -1, &out->channel_map_param.channel_map[0]); out->pcm = pcm_open_prepare_helper(adev->snd_card, out->pcm_device_id, out->pcm = pcm_open_prepare_helper(adev->snd_card, out->pcm_device_id, flags, pcm_open_retry_count, flags, pcm_open_retry_count, Loading @@ -4096,7 +4096,7 @@ int start_output_stream(struct stream_out *out) if (!out->realtime) if (!out->realtime) platform_set_stream_channel_map(adev->platform, out->channel_mask, platform_set_stream_channel_map(adev->platform, out->channel_mask, out->pcm_device_id, &out->channel_map_param.channel_map[0]); out->pcm_device_id, -1, &out->channel_map_param.channel_map[0]); // apply volume for voip playback after path is set up // apply volume for voip playback after path is set up if (out->usecase == USECASE_AUDIO_PLAYBACK_VOIP) if (out->usecase == USECASE_AUDIO_PLAYBACK_VOIP) Loading @@ -4117,7 +4117,7 @@ int start_output_stream(struct stream_out *out) */ */ if (popcount(out->channel_mask) > 2 || out->channel_map_param.channel_map[0]) if (popcount(out->channel_mask) > 2 || out->channel_map_param.channel_map[0]) platform_set_stream_channel_map(adev->platform, out->channel_mask, platform_set_stream_channel_map(adev->platform, out->channel_mask, out->pcm_device_id, &out->channel_map_param.channel_map[0]); out->pcm_device_id, -1, &out->channel_map_param.channel_map[0]); audio_enable_asm_bit_width_enforce_mode(adev->mixer, audio_enable_asm_bit_width_enforce_mode(adev->mixer, adev->dsp_bit_width_enforce_mode, adev->dsp_bit_width_enforce_mode, true); true); Loading
hal/msm8916/platform.c +7 −5 Original line number Original line Diff line number Diff line /* /* * Copyright (c) 2013-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2013-2021, The Linux Foundation. All rights reserved. * Not a Contribution. * Not a Contribution. * * * Copyright (C) 2013 The Android Open Source Project * Copyright (C) 2013 The Android Open Source Project Loading Loading @@ -7263,14 +7263,14 @@ end: } } int platform_set_stream_channel_map(void *platform, audio_channel_mask_t channel_mask, int platform_set_stream_channel_map(void *platform, audio_channel_mask_t channel_mask, int snd_id, uint8_t *input_channel_map) int snd_id, int be_idx, uint8_t *input_channel_map) { { int ret = 0, i = 0; int ret = 0, i = 0; int channels = audio_channel_count_from_out_mask(channel_mask); int channels = audio_channel_count_from_out_mask(channel_mask); char channel_map[AUDIO_CHANNEL_COUNT_MAX]; char channel_map[AUDIO_CHANNEL_COUNT_MAX]; memset(channel_map, 0, sizeof(channel_map)); memset(channel_map, 0, sizeof(channel_map)); if (*input_channel_map) { if ((input_channel_map != NULL) && *input_channel_map) { for (i = 0; i < channels; i++) { for (i = 0; i < channels; i++) { ALOGV("%s:: Channel Map channel_map[%d] - %d", __func__, i, *input_channel_map); ALOGV("%s:: Channel Map channel_map[%d] - %d", __func__, i, *input_channel_map); channel_map[i] = *input_channel_map; channel_map[i] = *input_channel_map; Loading Loading @@ -7357,7 +7357,7 @@ int platform_set_stream_channel_map(void *platform, audio_channel_mask_t channel return -1; return -1; } } } } ret = platform_set_channel_map(platform, channels, channel_map, snd_id, -1); ret = platform_set_channel_map(platform, channels, channel_map, snd_id, be_idx); return ret; return ret; } } Loading Loading @@ -7704,7 +7704,9 @@ int platform_set_edid_channels_configuration(void *platform, int channels, int b platform_set_channel_map(platform, adev_device_cfg_ptr->dev_cfg_params.channels, platform_set_channel_map(platform, adev_device_cfg_ptr->dev_cfg_params.channels, (char *)adev_device_cfg_ptr->dev_cfg_params.channel_map, -1, -1); (char *)adev_device_cfg_ptr->dev_cfg_params.channel_map, -1, -1); } else { } else { platform_set_channel_map(platform, channels, info->channel_map, -1, -1); platform_set_stream_channel_map(platform, audio_channel_out_mask_from_count(channels), -1, -1, NULL); } } if (adev_device_cfg_ptr->use_client_dev_cfg) { if (adev_device_cfg_ptr->use_client_dev_cfg) { Loading
hal/msm8960/platform.c +5 −3 Original line number Original line Diff line number Diff line /* /* * Copyright (c) 2013-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2013-2019, 2021 The Linux Foundation. All rights reserved. * Not a contribution. * Not a contribution. * * * Copyright (C) 2013 The Android Open Source Project * Copyright (C) 2013 The Android Open Source Project Loading Loading @@ -1202,14 +1202,16 @@ int platform_get_edid_info(void *platform __unused) } } int platform_set_channel_map(void *platform __unused, int ch_count __unused, int platform_set_channel_map(void *platform __unused, int ch_count __unused, char *ch_map __unused, int snd_id __unused) char *ch_map __unused, int snd_id __unused, int be_idx __unused) { { return -ENOSYS; return -ENOSYS; } } int platform_set_stream_channel_map(void *platform __unused, int platform_set_stream_channel_map(void *platform __unused, audio_channel_mask_t channel_mask __unused, audio_channel_mask_t channel_mask __unused, int snd_id __unused int snd_id __unused, int be_idx __unused, uint8_t *input_channel_map __unused) uint8_t *input_channel_map __unused) { { return -ENOSYS; return -ENOSYS; Loading
hal/msm8974/platform.c +6 −4 Original line number Original line Diff line number Diff line Loading @@ -10802,14 +10802,14 @@ end: } } int platform_set_stream_channel_map(void *platform, audio_channel_mask_t channel_mask, int platform_set_stream_channel_map(void *platform, audio_channel_mask_t channel_mask, int snd_id, uint8_t *input_channel_map) int snd_id, int be_idx, uint8_t *input_channel_map) { { int ret = 0, i = 0; int ret = 0, i = 0; int channels = audio_channel_count_from_out_mask(channel_mask); int channels = audio_channel_count_from_out_mask(channel_mask); char channel_map[AUDIO_CHANNEL_COUNT_MAX]; char channel_map[AUDIO_CHANNEL_COUNT_MAX]; memset(channel_map, 0, sizeof(channel_map)); memset(channel_map, 0, sizeof(channel_map)); if (*input_channel_map) { if ((input_channel_map != NULL) && *input_channel_map) { for (i = 0; i < channels; i++) { for (i = 0; i < channels; i++) { ALOGV("%s:: Channel Map channel_map[%d] - %d", __func__, i, *input_channel_map); ALOGV("%s:: Channel Map channel_map[%d] - %d", __func__, i, *input_channel_map); channel_map[i] = *input_channel_map; channel_map[i] = *input_channel_map; Loading Loading @@ -10935,7 +10935,7 @@ int platform_set_stream_channel_map(void *platform, audio_channel_mask_t channel return -1; return -1; } } } } ret = platform_set_channel_map(platform, channels, channel_map, snd_id, -1); ret = platform_set_channel_map(platform, channels, channel_map, snd_id, be_idx); return ret; return ret; } } Loading Loading @@ -11486,7 +11486,9 @@ int platform_set_edid_channels_configuration_v2(void *platform, int channels, platform_set_channel_map(platform, adev_device_cfg_ptr->dev_cfg_params.channels, platform_set_channel_map(platform, adev_device_cfg_ptr->dev_cfg_params.channels, (char *)adev_device_cfg_ptr->dev_cfg_params.channel_map, -1, be_idx); (char *)adev_device_cfg_ptr->dev_cfg_params.channel_map, -1, be_idx); } else { } else { platform_set_channel_map(platform, channels, info->channel_map, -1, be_idx); platform_set_stream_channel_map(platform, audio_channel_out_mask_from_count(channels), -1, be_idx, NULL); } } if (adev_device_cfg_ptr->use_client_dev_cfg) { if (adev_device_cfg_ptr->use_client_dev_cfg) { Loading
hal/platform_api.h +2 −2 Original line number Original line Diff line number Diff line /* /* * Copyright (c) 2013-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2013-2021, The Linux Foundation. All rights reserved. * Not a contribution. * Not a contribution. * * * Copyright (C) 2013 The Android Open Source Project * Copyright (C) 2013 The Android Open Source Project Loading Loading @@ -283,7 +283,7 @@ int platform_get_supported_copp_sampling_rate(uint32_t stream_sr); int platform_set_channel_map(void *platform, int ch_count, char *ch_map, int platform_set_channel_map(void *platform, int ch_count, char *ch_map, int snd_id, int be_idx); int snd_id, int be_idx); int platform_set_stream_channel_map(void *platform, audio_channel_mask_t channel_mask, int platform_set_stream_channel_map(void *platform, audio_channel_mask_t channel_mask, int snd_id, uint8_t *input_channel_map); int snd_id, int be_idx, uint8_t *input_channel_map); int platform_set_stream_pan_scale_params(void *platform, int platform_set_stream_pan_scale_params(void *platform, int snd_id, int snd_id, struct mix_matrix_params mm_params); struct mix_matrix_params mm_params); Loading