summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2012-07-02 12:31:03 -0700
committerEric Laurent <elaurent@google.com>2012-07-02 12:31:03 -0700
commit109347d421413303eb1678dd9e2aa9d40acf89d2 (patch)
tree51837c9c8163816bb896cb067e4a4a555f507a8b /services
parent717e128691f083a9469a1d0e363ac6ecd5c65d58 (diff)
downloadframeworks_av-109347d421413303eb1678dd9e2aa9d40acf89d2.zip
frameworks_av-109347d421413303eb1678dd9e2aa9d40acf89d2.tar.gz
frameworks_av-109347d421413303eb1678dd9e2aa9d40acf89d2.tar.bz2
audioflinger: fix regression in attachAuxEffect().
Commit 717e1286 introduced a regression in PlaybackThread::Track::attachAuxEffect() when called with an effect ID of 0 to detach the auxiliary effect. It is normal in this case that AudioFlinger::getEffectThread_l() returns 0. Bug 6768757. Change-Id: I7430bd1aad2f68da38f7c3e4794e7ad657bfc6be
Diffstat (limited to 'services')
-rw-r--r--services/audioflinger/AudioFlinger.cpp5
1 files changed, 1 insertions, 4 deletions
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp
index abe0293..aab9984 100644
--- a/services/audioflinger/AudioFlinger.cpp
+++ b/services/audioflinger/AudioFlinger.cpp
@@ -4696,11 +4696,8 @@ status_t AudioFlinger::PlaybackThread::Track::attachAuxEffect(int EffectId)
Mutex::Autolock _l(af->mLock);
sp<PlaybackThread> srcThread = af->getEffectThread_l(AUDIO_SESSION_OUTPUT_MIX, EffectId);
- if (srcThread == 0) {
- return INVALID_OPERATION;
- }
- if (EffectId != 0 && playbackThread != srcThread.get()) {
+ if (EffectId != 0 && srcThread != 0 && playbackThread != srcThread.get()) {
Mutex::Autolock _dl(playbackThread->mLock);
Mutex::Autolock _sl(srcThread->mLock);
sp<EffectChain> chain = srcThread->getEffectChain_l(AUDIO_SESSION_OUTPUT_MIX);