diff options
author | rago <rago@google.com> | 2017-07-27 04:53:13 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-07-27 04:53:13 +0000 |
commit | f516239c4c17be2b8321ea0c8908286facf61695 (patch) | |
tree | e0eaccab5f4449fdba0df506c6c24c3dd0b7bebc | |
parent | 555c148ed487b15050665047b11a0a5f98aa8f71 (diff) | |
parent | 08c87b8f7a1b7fc79a7fa6b9e83a092fd4d2171a (diff) | |
download | fugu-f516239c4c17be2b8321ea0c8908286facf61695.tar.gz |
Fix for recording source UNPROCESSED am: 20ec448777
am: 08c87b8f7a
Change-Id: I73d1d491fa1bd6a73cb872c7ae7368d05c2ee719
-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; } |