From 322bab26dc3fe9bd9c1cbb829dc62ff44f1ae810 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Date: Wed, 6 Aug 2014 11:43:46 -0700 Subject: MediaServer crashing and audio effects not applied to TTS. A memclear in the EffectChain was out of bounds. Bug 15432115 Bug 16845751 Change-Id: Ib0adc7fa730d630bb71fb87d51163a26149b16e2 --- services/audioflinger/Effects.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'services') diff --git a/services/audioflinger/Effects.cpp b/services/audioflinger/Effects.cpp index 77aca00..ec3d731 100644 --- a/services/audioflinger/Effects.cpp +++ b/services/audioflinger/Effects.cpp @@ -1387,7 +1387,12 @@ void AudioFlinger::EffectChain::clearInputBuffer() // Must be called with EffectChain::mLock locked void AudioFlinger::EffectChain::clearInputBuffer_l(sp thread) { - memset(mInBuffer, 0, thread->frameCount() * thread->frameSize()); + // TODO: This will change in the future, depending on multichannel + // and sample format changes for effects. + // Currently effects processing is only available for stereo, AUDIO_FORMAT_PCM_16_BIT + // (4 bytes frame size) + const size_t frameSize = audio_bytes_per_sample(AUDIO_FORMAT_PCM_16_BIT) * FCC_2; + memset(mInBuffer, 0, thread->frameCount() * frameSize); } // Must be called with EffectChain::mLock locked -- cgit v1.1