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
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 @@
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);