diff options
author | Eric Laurent <elaurent@google.com> | 2015-05-09 00:34:22 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-05-09 00:34:23 +0000 |
commit | badb2c466b9a9e84ad1cd794c52052a436b661fa (patch) | |
tree | 22774d5c856e0d3e6be731ad84abc691c852a4bf /services/audioflinger | |
parent | ef2c7aa096d95bbc74a75078c07f300fb2d94172 (diff) | |
parent | 43412fc79ceda964cf9d16e3b4c563849db57d3a (diff) | |
download | frameworks_av-badb2c466b9a9e84ad1cd794c52052a436b661fa.zip frameworks_av-badb2c466b9a9e84ad1cd794c52052a436b661fa.tar.gz frameworks_av-badb2c466b9a9e84ad1cd794c52052a436b661fa.tar.bz2 |
Merge "AudioMixer: fix for volume ramp in float mode" into mnc-dev
Diffstat (limited to 'services/audioflinger')
-rw-r--r-- | services/audioflinger/AudioMixer.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/services/audioflinger/AudioMixer.cpp b/services/audioflinger/AudioMixer.cpp index 7040af4..959c140 100644 --- a/services/audioflinger/AudioMixer.cpp +++ b/services/audioflinger/AudioMixer.cpp @@ -775,7 +775,8 @@ inline void AudioMixer::track_t::adjustVolumeRamp(bool aux, bool useFloat) { if (useFloat) { for (uint32_t i = 0; i < MAX_NUM_VOLUMES; i++) { - if (mVolumeInc[i] != 0 && fabs(mVolume[i] - mPrevVolume[i]) <= fabs(mVolumeInc[i])) { + if ((mVolumeInc[i] > 0 && mPrevVolume[i] + mVolumeInc[i] >= mVolume[i]) || + (mVolumeInc[i] < 0 && mPrevVolume[i] + mVolumeInc[i] <= mVolume[i])) { volumeInc[i] = 0; prevVolume[i] = volume[i] << 16; mVolumeInc[i] = 0.; |