diff options
| author | 2011-02-27 16:41:21 -0800 | |
|---|---|---|
| committer | 2011-02-27 16:41:21 -0800 | |
| commit | 191ff092b8e3ac083685f6d22895c716f2c3a79b (patch) | |
| tree | 35a0c457cfa8cf80c719e5d003950c83ccd4b6d7 | |
| parent | f272ad210c6834d92b4b4ddaacd069baedf90dcf (diff) | |
Fix bug 3376700 Volume too loud at lowest setting
Change volume attenuation curve to provide more attenuation at
low volume settings, and finer steps at high volume.
See bug entry for link to doc with curve values.
Change-Id: I750548b2161a4c550ef982ba793156e4518119e8
| -rw-r--r-- | services/audioflinger/AudioPolicyManagerBase.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/services/audioflinger/AudioPolicyManagerBase.cpp b/services/audioflinger/AudioPolicyManagerBase.cpp index 3082d45145a7..bfc80dbf4023 100644 --- a/services/audioflinger/AudioPolicyManagerBase.cpp +++ b/services/audioflinger/AudioPolicyManagerBase.cpp @@ -1889,7 +1889,15 @@ void AudioPolicyManagerBase::initializeVolumeCurves() { mStreams[i].mVolDbAtt[StreamDescriptor::VOLMAX] = 0.0f; } - // TODO add modifications for music to have finer steps below knee1 and above knee2 + // Modification for music: more attenuation for lower volumes, finer steps at high volumes + mStreams[AudioSystem::MUSIC].mVolIndex[StreamDescriptor::VOLMIN] = 1; + mStreams[AudioSystem::MUSIC].mVolDbAtt[StreamDescriptor::VOLMIN] = -58.0f; + mStreams[AudioSystem::MUSIC].mVolIndex[StreamDescriptor::VOLKNEE1] = 20; + mStreams[AudioSystem::MUSIC].mVolDbAtt[StreamDescriptor::VOLKNEE1] = -40.0f; + mStreams[AudioSystem::MUSIC].mVolIndex[StreamDescriptor::VOLKNEE2] = 60; + mStreams[AudioSystem::MUSIC].mVolDbAtt[StreamDescriptor::VOLKNEE2] = -17.0f; + mStreams[AudioSystem::MUSIC].mVolIndex[StreamDescriptor::VOLMAX] = 100; + mStreams[AudioSystem::MUSIC].mVolDbAtt[StreamDescriptor::VOLMAX] = 0.0f; } float AudioPolicyManagerBase::computeVolume(int stream, int index, audio_io_handle_t output, uint32_t device) |