Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 726b6a75 authored by Ricardo Garcia's avatar Ricardo Garcia
Browse files

Fix to support mono in effect buffer allocation.

Since effects are now enabled for recording, mono cases are possible
and needed to be correctly allocated.

Bug: 16917961
Change-Id: I760fc421f9f90fabb3f0deadd5f9dc61cd284371
parent 2dfe8ea7
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -44,6 +44,8 @@
#define ALOGVV(a...) do { } while(0)
#endif

#define min(a, b) ((a) < (b) ? (a) : (b))

namespace android {

// ----------------------------------------------------------------------------
@@ -1391,7 +1393,8 @@ void AudioFlinger::EffectChain::clearInputBuffer_l(sp<ThreadBase> thread)
    // 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;
    const size_t frameSize =
            audio_bytes_per_sample(AUDIO_FORMAT_PCM_16_BIT) * min(FCC_2, thread->channelCount());
    memset(mInBuffer, 0, thread->frameCount() * frameSize);
}