summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/Threads.cpp
diff options
context:
space:
mode:
authorvivek mehta <mvivek@codeaurora.org>2015-11-24 00:30:39 -0800
committerSteve Kondik <steve@cyngn.com>2015-12-19 02:46:24 -0500
commit05f67ffe45268807d2782a9d1c0cf212956fa925 (patch)
tree424a7ed6151e15a3b396fe8054956e1236a091df /services/audioflinger/Threads.cpp
parentd5dee706a6f0a0b5a4a65e8e128131f06d572e6b (diff)
downloadframeworks_av-05f67ffe45268807d2782a9d1c0cf212956fa925.zip
frameworks_av-05f67ffe45268807d2782a9d1c0cf212956fa925.tar.gz
frameworks_av-05f67ffe45268807d2782a9d1c0cf212956fa925.tar.bz2
libaudioflinger: avoid s/w effect processing in case of Direct PCM
- Check Direct PCM usecase with Offload - do not process s/w effect when direct PCM is enabled Change-Id: I2eb843b17558e60cf36daff0c5fbdf50dccf99ca
Diffstat (limited to 'services/audioflinger/Threads.cpp')
-rw-r--r--services/audioflinger/Threads.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index bc7b7dc..71673c3 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -2914,7 +2914,8 @@ bool AudioFlinger::PlaybackThread::threadLoop()
}
// only process effects if we're going to write
- if (mSleepTimeUs == 0 && mType != OFFLOAD) {
+ if (mSleepTimeUs == 0 && mType != OFFLOAD &&
+ !(mType == DIRECT && mIsDirectPcm)) {
for (size_t i = 0; i < effectChains.size(); i ++) {
effectChains[i]->process_l();
}
@@ -2924,7 +2925,7 @@ bool AudioFlinger::PlaybackThread::threadLoop()
// was read from audio track: process only updates effect state
// and thus does have to be synchronized with audio writes but may have
// to be called while waiting for async write callback
- if (mType == OFFLOAD) {
+ if ((mType == OFFLOAD) || (mType == DIRECT && mIsDirectPcm)) {
for (size_t i = 0; i < effectChains.size(); i ++) {
effectChains[i]->process_l();
}