Loading configs/msm8953/audio_policy.conf +6 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,12 @@ audio_hw_modules { formats AUDIO_FORMAT_PCM_16_BIT devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC } record_24 { sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000|96000|192000 channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_FRONT_BACK|AUDIO_CHANNEL_INDEX_MASK_3|AUDIO_CHANNEL_INDEX_MASK_4 formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_FLOAT devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_WIRED_HEADSET } voice_rx { sampling_rates 8000|16000|48000 channel_masks AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_MONO Loading configs/msm8953/audio_policy_configuration.xml +13 −0 Original line number Diff line number Diff line Loading @@ -152,6 +152,17 @@ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1"/> </mixPort> <mixPort name="record_24" role="sink"> <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED" samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/> <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT" samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/> <profile name="" format="AUDIO_FORMAT_PCM_FLOAT" samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/> </mixPort> <mixPort name="voice_rx" role="sink"> <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/> Loading Loading @@ -268,6 +279,8 @@ sources="Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/> <route type="mix" sink="surround_sound" sources="Built-In Mic,Built-In Back Mic"/> <route type="mix" sink="record_24" sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/> <route type="mix" sink="voice_rx" sources="Telephony Rx"/> </routes> Loading configs/msm8953/mixer_paths_wcd9326.xml +8 −0 Original line number Diff line number Diff line Loading @@ -2292,6 +2292,14 @@ <ctl name="MAD Input" value="DMIC0" /> </path> <path name="unprocessed-handset-mic"> <path name="handset-mic" /> </path> <path name="unprocessed-mic"> <path name="unprocessed-handset-mic" /> </path> <!-- Added for ADSP testfwk --> <path name="ADSP testfwk"> <ctl name="SLIMBUS_DL_HL Switch" value="1" /> Loading hal/msm8916/platform.c +31 −8 Original line number Diff line number Diff line Loading @@ -3431,6 +3431,7 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d AUDIO_CHANNEL_IN_MONO : adev->active_input->channel_mask; snd_device_t snd_device = SND_DEVICE_NONE; int channel_count = popcount(channel_mask); int str_bitwidth = adev->active_input->bit_width; ALOGV("%s: enter: out_device(%#x) in_device(%#x) channel_count (%d) channel_mask (0x%x)", __func__, out_device, in_device, channel_count, channel_mask); Loading Loading @@ -3538,6 +3539,8 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d } else if (source == AUDIO_SOURCE_CAMCORDER) { if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC || in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (str_bitwidth == 16) { if ((my_data->fluence_type & FLUENCE_DUAL_MIC) && (my_data->source_mic_type & SOURCE_DUAL_MIC) && (channel_count == 2)) Loading @@ -3545,6 +3548,26 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d else snd_device = SND_DEVICE_IN_CAMCORDER_MIC; } /* * for other bit widths */ else { if (((channel_mask == AUDIO_CHANNEL_IN_FRONT_BACK) || (channel_mask == AUDIO_CHANNEL_IN_STEREO)) && (my_data->source_mic_type & SOURCE_DUAL_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_STEREO_MIC; } else if (((int)channel_mask == AUDIO_CHANNEL_INDEX_MASK_3) && (my_data->source_mic_type & SOURCE_THREE_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_THREE_MIC; } else if (((int)channel_mask == AUDIO_CHANNEL_INDEX_MASK_4) && (my_data->source_mic_type & SOURCE_QUAD_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_QUAD_MIC; } else { snd_device = SND_DEVICE_IN_UNPROCESSED_MIC; } } } } else if (source == AUDIO_SOURCE_VOICE_RECOGNITION) { if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC) { if (my_data->fluence_in_voice_rec && channel_count == 1) { Loading hal/msm8974/platform.c +32 −4 Original line number Diff line number Diff line Loading @@ -3088,6 +3088,7 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d AUDIO_CHANNEL_IN_MONO : adev->active_input->channel_mask; snd_device_t snd_device = SND_DEVICE_NONE; int channel_count = popcount(channel_mask); int str_bitwidth = adev->active_input->bit_width; ALOGV("%s: enter: out_device(%#x) in_device(%#x) channel_count (%d) channel_mask (0x%x)", __func__, out_device, in_device, channel_count, channel_mask); Loading Loading @@ -3190,8 +3191,35 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d } else if (source == AUDIO_SOURCE_CAMCORDER) { if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC || in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (str_bitwidth == 16) { if ((my_data->fluence_type & FLUENCE_DUAL_MIC) && (my_data->source_mic_type & SOURCE_DUAL_MIC) && (channel_count == 2)) snd_device = SND_DEVICE_IN_HANDSET_STEREO_DMIC; else snd_device = SND_DEVICE_IN_CAMCORDER_MIC; } /* * for other bit widths */ else { if (((channel_mask == AUDIO_CHANNEL_IN_FRONT_BACK) || (channel_mask == AUDIO_CHANNEL_IN_STEREO)) && (my_data->source_mic_type & SOURCE_DUAL_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_STEREO_MIC; } else if (((int)channel_mask == AUDIO_CHANNEL_INDEX_MASK_3) && (my_data->source_mic_type & SOURCE_THREE_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_THREE_MIC; } else if (((int)channel_mask == AUDIO_CHANNEL_INDEX_MASK_4) && (my_data->source_mic_type & SOURCE_QUAD_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_QUAD_MIC; } else { snd_device = SND_DEVICE_IN_UNPROCESSED_MIC; } } } } else if (source == AUDIO_SOURCE_VOICE_RECOGNITION) { if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC) { if (my_data->fluence_in_voice_rec && channel_count == 1) { Loading Loading
configs/msm8953/audio_policy.conf +6 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,12 @@ audio_hw_modules { formats AUDIO_FORMAT_PCM_16_BIT devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC } record_24 { sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000|96000|192000 channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_FRONT_BACK|AUDIO_CHANNEL_INDEX_MASK_3|AUDIO_CHANNEL_INDEX_MASK_4 formats AUDIO_FORMAT_PCM_24_BIT_PACKED|AUDIO_FORMAT_PCM_8_24_BIT|AUDIO_FORMAT_PCM_FLOAT devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_WIRED_HEADSET } voice_rx { sampling_rates 8000|16000|48000 channel_masks AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_MONO Loading
configs/msm8953/audio_policy_configuration.xml +13 −0 Original line number Diff line number Diff line Loading @@ -152,6 +152,17 @@ samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1"/> </mixPort> <mixPort name="record_24" role="sink"> <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED" samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/> <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT" samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/> <profile name="" format="AUDIO_FORMAT_PCM_FLOAT" samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/> </mixPort> <mixPort name="voice_rx" role="sink"> <profile name="" format="AUDIO_FORMAT_PCM_16_BIT" samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/> Loading Loading @@ -268,6 +279,8 @@ sources="Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/> <route type="mix" sink="surround_sound" sources="Built-In Mic,Built-In Back Mic"/> <route type="mix" sink="record_24" sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/> <route type="mix" sink="voice_rx" sources="Telephony Rx"/> </routes> Loading
configs/msm8953/mixer_paths_wcd9326.xml +8 −0 Original line number Diff line number Diff line Loading @@ -2292,6 +2292,14 @@ <ctl name="MAD Input" value="DMIC0" /> </path> <path name="unprocessed-handset-mic"> <path name="handset-mic" /> </path> <path name="unprocessed-mic"> <path name="unprocessed-handset-mic" /> </path> <!-- Added for ADSP testfwk --> <path name="ADSP testfwk"> <ctl name="SLIMBUS_DL_HL Switch" value="1" /> Loading
hal/msm8916/platform.c +31 −8 Original line number Diff line number Diff line Loading @@ -3431,6 +3431,7 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d AUDIO_CHANNEL_IN_MONO : adev->active_input->channel_mask; snd_device_t snd_device = SND_DEVICE_NONE; int channel_count = popcount(channel_mask); int str_bitwidth = adev->active_input->bit_width; ALOGV("%s: enter: out_device(%#x) in_device(%#x) channel_count (%d) channel_mask (0x%x)", __func__, out_device, in_device, channel_count, channel_mask); Loading Loading @@ -3538,6 +3539,8 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d } else if (source == AUDIO_SOURCE_CAMCORDER) { if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC || in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (str_bitwidth == 16) { if ((my_data->fluence_type & FLUENCE_DUAL_MIC) && (my_data->source_mic_type & SOURCE_DUAL_MIC) && (channel_count == 2)) Loading @@ -3545,6 +3548,26 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d else snd_device = SND_DEVICE_IN_CAMCORDER_MIC; } /* * for other bit widths */ else { if (((channel_mask == AUDIO_CHANNEL_IN_FRONT_BACK) || (channel_mask == AUDIO_CHANNEL_IN_STEREO)) && (my_data->source_mic_type & SOURCE_DUAL_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_STEREO_MIC; } else if (((int)channel_mask == AUDIO_CHANNEL_INDEX_MASK_3) && (my_data->source_mic_type & SOURCE_THREE_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_THREE_MIC; } else if (((int)channel_mask == AUDIO_CHANNEL_INDEX_MASK_4) && (my_data->source_mic_type & SOURCE_QUAD_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_QUAD_MIC; } else { snd_device = SND_DEVICE_IN_UNPROCESSED_MIC; } } } } else if (source == AUDIO_SOURCE_VOICE_RECOGNITION) { if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC) { if (my_data->fluence_in_voice_rec && channel_count == 1) { Loading
hal/msm8974/platform.c +32 −4 Original line number Diff line number Diff line Loading @@ -3088,6 +3088,7 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d AUDIO_CHANNEL_IN_MONO : adev->active_input->channel_mask; snd_device_t snd_device = SND_DEVICE_NONE; int channel_count = popcount(channel_mask); int str_bitwidth = adev->active_input->bit_width; ALOGV("%s: enter: out_device(%#x) in_device(%#x) channel_count (%d) channel_mask (0x%x)", __func__, out_device, in_device, channel_count, channel_mask); Loading Loading @@ -3190,8 +3191,35 @@ snd_device_t platform_get_input_snd_device(void *platform, audio_devices_t out_d } else if (source == AUDIO_SOURCE_CAMCORDER) { if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC || in_device & AUDIO_DEVICE_IN_BACK_MIC) { if (str_bitwidth == 16) { if ((my_data->fluence_type & FLUENCE_DUAL_MIC) && (my_data->source_mic_type & SOURCE_DUAL_MIC) && (channel_count == 2)) snd_device = SND_DEVICE_IN_HANDSET_STEREO_DMIC; else snd_device = SND_DEVICE_IN_CAMCORDER_MIC; } /* * for other bit widths */ else { if (((channel_mask == AUDIO_CHANNEL_IN_FRONT_BACK) || (channel_mask == AUDIO_CHANNEL_IN_STEREO)) && (my_data->source_mic_type & SOURCE_DUAL_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_STEREO_MIC; } else if (((int)channel_mask == AUDIO_CHANNEL_INDEX_MASK_3) && (my_data->source_mic_type & SOURCE_THREE_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_THREE_MIC; } else if (((int)channel_mask == AUDIO_CHANNEL_INDEX_MASK_4) && (my_data->source_mic_type & SOURCE_QUAD_MIC)) { snd_device = SND_DEVICE_IN_UNPROCESSED_QUAD_MIC; } else { snd_device = SND_DEVICE_IN_UNPROCESSED_MIC; } } } } else if (source == AUDIO_SOURCE_VOICE_RECOGNITION) { if (in_device & AUDIO_DEVICE_IN_BUILTIN_MIC) { if (my_data->fluence_in_voice_rec && channel_count == 1) { Loading