summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/Effects.cpp
diff options
context:
space:
mode:
authorJean-Michel Trivi <jmtrivi@google.com>2013-09-27 00:50:59 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-09-27 00:50:59 +0000
commita2340b3059b9d6e4286d0db7069df477c164df0c (patch)
tree4e14bcf9309bda5e444479b0e45a0c24c3e98a54 /services/audioflinger/Effects.cpp
parent0adc67dfc5cedb211c36f06849681a60a32f5805 (diff)
parentfed6292af65a0b97b583ecbd3c232b3811a3f37b (diff)
downloadframeworks_av-a2340b3059b9d6e4286d0db7069df477c164df0c.zip
frameworks_av-a2340b3059b9d6e4286d0db7069df477c164df0c.tar.gz
frameworks_av-a2340b3059b9d6e4286d0db7069df477c164df0c.tar.bz2
Merge "Don't call audio effect process on offloaded playback threads" into klp-dev
Diffstat (limited to 'services/audioflinger/Effects.cpp')
-rw-r--r--services/audioflinger/Effects.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/services/audioflinger/Effects.cpp b/services/audioflinger/Effects.cpp
index 0ca2107..6e0354d 100644
--- a/services/audioflinger/Effects.cpp
+++ b/services/audioflinger/Effects.cpp
@@ -1279,9 +1279,10 @@ void AudioFlinger::EffectChain::process_l()
}
bool isGlobalSession = (mSessionId == AUDIO_SESSION_OUTPUT_MIX) ||
(mSessionId == AUDIO_SESSION_OUTPUT_STAGE);
- // always process effects unless no more tracks are on the session and the effect tail
- // has been rendered
- bool doProcess = true;
+ // never process effects when:
+ // - on an OFFLOAD thread
+ // - no more tracks are on the session and the effect tail has been rendered
+ bool doProcess = (thread->type() != ThreadBase::OFFLOAD);
if (!isGlobalSession) {
bool tracksOnSession = (trackCnt() != 0);