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

Commit ed926597 authored by Eric Laurent's avatar Eric Laurent Committed by Android (Google) Code Review
Browse files

Merge "audioflinger: increase shared memory heap size"

parents d0d4fa0f da73b6c7
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -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
+7 −1
Original line number Diff line number Diff line
@@ -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 :
@@ -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;