diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2017-07-28 21:24:07 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2017-07-28 21:24:07 +0000 |
commit | 79cca887f1ef0c73626ea667864a054b280d6126 (patch) | |
tree | d4209dfbd118ee1886a381ace49b260844297518 | |
parent | 2a014e1720d234272cf6ec7c847b98b0b34e8db6 (diff) | |
parent | 08b71ea966de0f2c30699cf307dd451f0322ae89 (diff) | |
download | fugu-79cca887f1ef0c73626ea667864a054b280d6126.tar.gz |
Merge cherrypicks of [2624661, 2624224] into oc-releaseandroid-8.0.0_r7android-8.0.0_r35android-8.0.0_r28android-8.0.0_r16android-8.0.0_r13android-8.0.0_r10oreo-releaseoreo-r4-release
Change-Id: I58c397ab4e8a2e64d68337b1a01faa50e39996fe
-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; } |