diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2017-07-27 07:30:26 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2017-07-27 07:30:26 +0000 |
commit | ba333591104efe99609b1c417464b0f39137ffb1 (patch) | |
tree | e0eaccab5f4449fdba0df506c6c24c3dd0b7bebc | |
parent | 64bccbf4680deb8d3bcd8631c32b92ba9f77f7d8 (diff) | |
parent | f516239c4c17be2b8321ea0c8908286facf61695 (diff) | |
download | fugu-ba333591104efe99609b1c417464b0f39137ffb1.tar.gz |
release-request-94878621-f29d-487c-a2aa-213f2be9d20c-for-git_oc-mr1-release-4222039 snap-temp-L91400000086509174
Change-Id: Ib10cfc53cf53ce7c92eed25ba9a91cc51de56abf
-rw-r--r-- | libaudio/ATVAudioPolicyManager.cpp | 3 | ||||
-rw-r--r-- | libaudio/AudioHardwareInput.cpp | 12 |
2 files changed, 13 insertions, 2 deletions
diff --git a/libaudio/ATVAudioPolicyManager.cpp b/libaudio/ATVAudioPolicyManager.cpp index deb1bf4..0513052 100644 --- a/libaudio/ATVAudioPolicyManager.cpp +++ b/libaudio/ATVAudioPolicyManager.cpp @@ -129,7 +129,8 @@ audio_devices_t ATVAudioPolicyManager::getDeviceForInputSource(audio_source_t in const audio_devices_t availableDeviceTypes = mAvailableInputDevices.types() & ~AUDIO_DEVICE_BIT_IN; - if (inputSource == AUDIO_SOURCE_VOICE_RECOGNITION) { + if (inputSource == AUDIO_SOURCE_VOICE_RECOGNITION || + inputSource == AUDIO_SOURCE_UNPROCESSED) { #ifdef REMOTE_CONTROL_INTERFACE ALOGI("Using REMOTE_CONTROL_INTERFACE."); // Check if remote is actually connected or we should move on diff --git a/libaudio/AudioHardwareInput.cpp b/libaudio/AudioHardwareInput.cpp index eef0e89..71efbf9 100644 --- a/libaudio/AudioHardwareInput.cpp +++ b/libaudio/AudioHardwareInput.cpp @@ -257,6 +257,7 @@ void AudioHardwareInput::onDeviceRemoved(unsigned int pcmCard, unsigned int pcmD const AudioHotplugThread::DeviceInfo* AudioHardwareInput::getBestDevice(int inputSource) { bool doVoiceRecognition = (inputSource == AUDIO_SOURCE_VOICE_RECOGNITION); + const bool favorNoVoiceRecognition = (inputSource == AUDIO_SOURCE_UNPROCESSED); int chosenDeviceIndex = -1; Mutex::Autolock _l(mLock); @@ -266,9 +267,18 @@ const AudioHotplugThread::DeviceInfo* AudioHardwareInput::getBestDevice(int inpu // and no other devices are used for voice recognition. // Currently the RemoteControl is the only device marked with forVoiceRecognition=true. // A connected USB mic could be used for anything but voice recognition. + // For UNPROCESSED source, a connected USB microphone will be favored over the remote mic. for (int i=0; i<kMaxDevices; i++) { if (mDeviceInfos[i].valid) { - if (mDeviceInfos[i].forVoiceRecognition == doVoiceRecognition) { + if (favorNoVoiceRecognition) { + if (mDeviceInfos[i].forVoiceRecognition) { + chosenDeviceIndex = i; + //continue matching + } else { + chosenDeviceIndex = i; + break; + } + } else if (mDeviceInfos[i].forVoiceRecognition == doVoiceRecognition) { chosenDeviceIndex = i; break; } |