Loading services/audioflinger/AudioFlinger.cpp +7 −3 Original line number Diff line number Diff line Loading @@ -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 Loading services/audioflinger/AudioFlinger.h +7 −1 Original line number Diff line number Diff line Loading @@ -88,6 +88,12 @@ class ServerProxy; static const nsecs_t kDefaultStandbyTimeInNsecs = seconds(3); // Max shared memory size for audio tracks and audio records per client process static const size_t kClientSharedHeapSizeBytes = 1024*1024; // Shared memory size multiplier for non low ram devices static const size_t kClientSharedHeapSizeMultiplier = 4; #define INCLUDING_FROM_AUDIOFLINGER_H class AudioFlinger : Loading Loading @@ -423,7 +429,7 @@ private: Client(const Client&); Client& operator = (const Client&); const sp<AudioFlinger> mAudioFlinger; const sp<MemoryDealer> mMemoryDealer; sp<MemoryDealer> mMemoryDealer; const pid_t mPid; Mutex mTimedTrackLock; Loading Loading
services/audioflinger/AudioFlinger.cpp +7 −3 Original line number Diff line number Diff line Loading @@ -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 Loading
services/audioflinger/AudioFlinger.h +7 −1 Original line number Diff line number Diff line Loading @@ -88,6 +88,12 @@ class ServerProxy; static const nsecs_t kDefaultStandbyTimeInNsecs = seconds(3); // Max shared memory size for audio tracks and audio records per client process static const size_t kClientSharedHeapSizeBytes = 1024*1024; // Shared memory size multiplier for non low ram devices static const size_t kClientSharedHeapSizeMultiplier = 4; #define INCLUDING_FROM_AUDIOFLINGER_H class AudioFlinger : Loading Loading @@ -423,7 +429,7 @@ private: Client(const Client&); Client& operator = (const Client&); const sp<AudioFlinger> mAudioFlinger; const sp<MemoryDealer> mMemoryDealer; sp<MemoryDealer> mMemoryDealer; const pid_t mPid; Mutex mTimedTrackLock; Loading