diff options
author | Eric Laurent <elaurent@google.com> | 2011-08-29 12:42:48 -0700 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2011-08-29 14:50:38 -0700 |
commit | bee5337da7659b3b7128622ba1f42618b11df5be (patch) | |
tree | 523c43a148debb18c5d0f2c8a7b8bf1c62cf920f /services | |
parent | d2824a9a392e02a09929a34f0a3dad41ac1faacf (diff) | |
download | frameworks_av-bee5337da7659b3b7128622ba1f42618b11df5be.zip frameworks_av-bee5337da7659b3b7128622ba1f42618b11df5be.tar.gz frameworks_av-bee5337da7659b3b7128622ba1f42618b11df5be.tar.bz2 |
Audioflinger: reverse logic of BT NREC indication
The interpretation of BT NREC by AudioFlinger to enable
or disable AEC and NS was wrong: NREC to ON (default) means
the phone (Audio Gateway) must enable local AEC and NS.
Change-Id: I88a264e7fc9831c43bbace4f6b585baec73f2006
Diffstat (limited to 'services')
-rw-r--r-- | services/audioflinger/AudioFlinger.cpp | 14 | ||||
-rw-r--r-- | services/audioflinger/AudioFlinger.h | 4 |
2 files changed, 9 insertions, 9 deletions
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp index 744fa50..d617af8 100644 --- a/services/audioflinger/AudioFlinger.cpp +++ b/services/audioflinger/AudioFlinger.cpp @@ -151,7 +151,7 @@ static const char *audio_interfaces[] = { AudioFlinger::AudioFlinger() : BnAudioFlinger(), mPrimaryHardwareDev(0), mMasterVolume(1.0f), mMasterMute(false), mNextUniqueId(1), - mBtNrec(false) + mBtNrecIsOff(false) { } @@ -751,15 +751,15 @@ status_t AudioFlinger::setParameters(int ioHandle, const String8& keyValuePairs) String8 value; if (param.get(String8(AUDIO_PARAMETER_KEY_BT_NREC), value) == NO_ERROR) { Mutex::Autolock _l(mLock); - bool btNrec = (value == AUDIO_PARAMETER_VALUE_ON); - if (mBtNrec != btNrec) { + bool btNrecIsOff = (value == AUDIO_PARAMETER_VALUE_OFF); + if (mBtNrecIsOff != btNrecIsOff) { for (size_t i = 0; i < mRecordThreads.size(); i++) { sp<RecordThread> thread = mRecordThreads.valueAt(i); RecordThread::RecordTrack *track = thread->track(); if (track != NULL) { audio_devices_t device = (audio_devices_t)( thread->device() & AUDIO_DEVICE_IN_ALL); - bool suspend = audio_is_bluetooth_sco_device(device) && btNrec; + bool suspend = audio_is_bluetooth_sco_device(device) && btNrecIsOff; thread->setEffectSuspended(FX_IID_AEC, suspend, track->sessionId()); @@ -768,7 +768,7 @@ status_t AudioFlinger::setParameters(int ioHandle, const String8& keyValuePairs) track->sessionId()); } } - mBtNrec = btNrec; + mBtNrecIsOff = btNrecIsOff; } } return final_result; @@ -4394,7 +4394,7 @@ sp<AudioFlinger::RecordThread::RecordTrack> AudioFlinger::RecordThread::createR mTrack = track.get(); // disable AEC and NS if the device is a BT SCO headset supporting those pre processings bool suspend = audio_is_bluetooth_sco_device( - (audio_devices_t)(mDevice & AUDIO_DEVICE_IN_ALL)) && mAudioFlinger->btNrec(); + (audio_devices_t)(mDevice & AUDIO_DEVICE_IN_ALL)) && mAudioFlinger->btNrecIsOff(); setEffectSuspended_l(FX_IID_AEC, suspend, sessionId); setEffectSuspended_l(FX_IID_NS, suspend, sessionId); } @@ -4619,7 +4619,7 @@ bool AudioFlinger::RecordThread::checkForNewParameters_l() // disable AEC and NS if the device is a BT SCO headset supporting those pre processings if (mTrack != NULL) { bool suspend = audio_is_bluetooth_sco_device( - (audio_devices_t)value) && mAudioFlinger->btNrec(); + (audio_devices_t)value) && mAudioFlinger->btNrecIsOff(); setEffectSuspended_l(FX_IID_AEC, suspend, mTrack->sessionId()); setEffectSuspended_l(FX_IID_NS, suspend, mTrack->sessionId()); } diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h index 1141f6c..1ceb0ec 100644 --- a/services/audioflinger/AudioFlinger.h +++ b/services/audioflinger/AudioFlinger.h @@ -210,7 +210,7 @@ public: uint32_t getMode() { return mMode; } - bool btNrec() { return mBtNrec; } + bool btNrecIsOff() { return mBtNrecIsOff; } private: AudioFlinger(); @@ -1389,7 +1389,7 @@ private: DefaultKeyedVector< pid_t, sp<NotificationClient> > mNotificationClients; volatile int32_t mNextUniqueId; uint32_t mMode; - bool mBtNrec; + bool mBtNrecIsOff; Vector<AudioSessionRef*> mAudioSessionRefs; }; |