diff options
author | rago <rago@google.com> | 2017-07-27 04:49:12 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-07-27 04:49:12 +0000 |
commit | 08c87b8f7a1b7fc79a7fa6b9e83a092fd4d2171a (patch) | |
tree | decc63ec606feb5cd367ed7005505a08f40887c7 | |
parent | d45ac2692b42a37dab0b4fce8a1c1df1d3a43ac2 (diff) | |
parent | 20ec4487777677f1f3cbf08c5bcbfae36f14afe9 (diff) | |
download | fugu-08c87b8f7a1b7fc79a7fa6b9e83a092fd4d2171a.tar.gz |
Fix for recording source UNPROCESSEDoreo-dr1-dev
am: 20ec448777
Change-Id: Ibe901a5c04868cca005f7e6748f400f22333441f
-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; } |