summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2014-10-20 14:51:21 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-10-20 14:51:21 +0000
commit7ae605a56b9b1fd7a2cb75d4b742f5673e3fd5dc (patch)
treeef657245f7f3c32935a2f285bab40d0910536521 /services
parent81fb2e869ac3c57c9856482af27ba9f954053aa6 (diff)
parent22bc10a347569a0ab2980c24783e31aba4d7414d (diff)
downloadframeworks_av-7ae605a56b9b1fd7a2cb75d4b742f5673e3fd5dc.zip
frameworks_av-7ae605a56b9b1fd7a2cb75d4b742f5673e3fd5dc.tar.gz
frameworks_av-7ae605a56b9b1fd7a2cb75d4b742f5673e3fd5dc.tar.bz2
am 22bc10a3: Merge "Clear effect buffer before sending to chain" into lmp-dev
* commit '22bc10a347569a0ab2980c24783e31aba4d7414d': Clear effect buffer before sending to chain
Diffstat (limited to 'services')
-rw-r--r--services/audioflinger/Threads.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index 44e34b7..fa20752 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -3670,6 +3670,9 @@ track_is_ready: ;
if (getEffectChain_l(AUDIO_SESSION_OUTPUT_MIX) != 0) {
mEffectBufferValid = true;
+ // as long as there are effects we should clear the effects buffer, to avoid
+ // passing a non-clean buffer to the effect chain
+ memset(mEffectBuffer, 0, mEffectBufferSize);
}
// sink or mix buffer must be cleared if all tracks are connected to an
@@ -3690,10 +3693,6 @@ track_is_ready: ;
// must imply MIXER_TRACKS_READY.
// Later, we may clear buffers regardless, and skip much of this logic.
}
- // TODO - either mEffectBuffer or mSinkBuffer needs to be cleared.
- if (mEffectBufferValid) {
- memset(mEffectBuffer, 0, mEffectBufferSize);
- }
// FIXME as a performance optimization, should remember previous zero status
memset(mSinkBuffer, 0, mNormalFrameCount * mFrameSize);
}