audioflinger: Fix pops in LPA while effects are applied
-Issue: LPA playback while effect are applied, has pops/noise
as below scenarios
1) LPA Playback + taking snapshot with camera
2) LPA Playback + changing media volume from settings app
3) LPA plaback after non-LPA playback
-Rootcause:Effects meant for LPA are getting applied in
normal playback path
-Fix: In threadloop of mixerthread if current effect
chain is equal to LPAeffectchain, don't apply effects.
CRs-Fixed: 526799
Change-Id: Ic255ef2db81545abd119633e8fc6a7bae5d2f38c
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index 2135e79..4785566 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -2278,7 +2278,13 @@
// to be called while waiting for async write callback
if (mType == OFFLOAD) {
for (size_t i = 0; i < effectChains.size(); i ++) {
- effectChains[i]->process_l();
+#ifdef QCOM_HARDWARE
+ if (effectChains[i] != mAudioFlinger->mLPAEffectChain) {
+#endif
+ effectChains[i]->process_l();
+#ifdef QCOM_HARDWARE
+ }
+#endif
}
}