diff options
author | Eric Laurent <elaurent@google.com> | 2015-10-14 01:13:35 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-10-14 01:13:35 +0000 |
commit | ea6a3dc069809ec071290eb2c8cacef3582ead98 (patch) | |
tree | 264f264b05209806e163ea41eeecd6f87f5e5271 /services/audioflinger/AudioFlinger.cpp | |
parent | 2894d70256d3f53547807a5aacaf45df62342fb5 (diff) | |
parent | aba407f1a6378ac2518d0d76d0d18419b7722a81 (diff) | |
download | frameworks_av-ea6a3dc069809ec071290eb2c8cacef3582ead98.zip frameworks_av-ea6a3dc069809ec071290eb2c8cacef3582ead98.tar.gz frameworks_av-ea6a3dc069809ec071290eb2c8cacef3582ead98.tar.bz2 |
Merge "audioflinger: increase shared memory heap size" into mnc-dr-dev
Diffstat (limited to 'services/audioflinger/AudioFlinger.cpp')
-rw-r--r-- | services/audioflinger/AudioFlinger.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp index 9ec5802..fab1ef5 100644 --- a/services/audioflinger/AudioFlinger.cpp +++ b/services/audioflinger/AudioFlinger.cpp @@ -1352,12 +1352,16 @@ sp<AudioFlinger::PlaybackThread> AudioFlinger::getEffectThread_l(int sessionId, AudioFlinger::Client::Client(const sp<AudioFlinger>& audioFlinger, pid_t pid) : RefBase(), mAudioFlinger(audioFlinger), - // FIXME should be a "k" constant not hard-coded, in .h or ro. property, see 4 lines below - mMemoryDealer(new MemoryDealer(1024*1024, "AudioFlinger::Client")), mPid(pid), mTimedTrackCount(0) { - // 1 MB of address space is good for 32 tracks, 8 buffers each, 4 KB/buffer + size_t heapSize = kClientSharedHeapSizeBytes; + // Increase heap size on non low ram devices to limit risk of reconnection failure for + // invalidated tracks + if (!audioFlinger->isLowRamDevice()) { + heapSize *= kClientSharedHeapSizeMultiplier; + } + mMemoryDealer = new MemoryDealer(heapSize, "AudioFlinger::Client"); } // Client destructor must be called with AudioFlinger::mClientLock held |