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

Commit 867d2f6c authored by Mathias Agopian's avatar Mathias Agopian
Browse files

Simplify the MemoryDealer implementation

At some point the implementation became complicated because of
SurfaceFlinger's special needs, since we are now relying on gralloc
we can go back to much simpler MemoryDealer.

Removed HeapInterface and AllocatorInterface, since those don't need
to be paramterized anymore. Merged SimpleMemory and Allocation.
Made SimplisticAllocator non virtual.

Removed MemoryDealer flags (READ_ONLY, PAGE_ALIGNED)

Removed a lot of unneeded code.
parent bbe1ed45
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@

#include <binder/IServiceManager.h>
#include <utils/Log.h>
#include <binder/MemoryDealer.h>
#include <binder/Parcel.h>
#include <binder/IPCThreadState.h>
#include <utils/Timers.h>
+0 −1
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@
#include <media/AudioTrack.h>

#include <utils/Log.h>
#include <binder/MemoryDealer.h>
#include <binder/Parcel.h>
#include <binder/IPCThreadState.h>
#include <utils/Timers.h>
+2 −2
Original line number Diff line number Diff line
@@ -253,7 +253,7 @@ sp<IMemory> MetadataRetrieverClient::captureFrame()
        return NULL;
    }
    size_t size = sizeof(VideoFrame) + frame->mSize;
    mThumbnailDealer = new MemoryDealer(size);
    mThumbnailDealer = new MemoryDealer(size, "MetadataRetrieverClient");
    if (mThumbnailDealer == NULL) {
        LOGE("failed to create MemoryDealer");
        delete frame;
@@ -294,7 +294,7 @@ sp<IMemory> MetadataRetrieverClient::extractAlbumArt()
        return NULL;
    }
    size_t size = sizeof(MediaAlbumArt) + albumArt->mSize;
    mAlbumArtDealer = new MemoryDealer(size);
    mAlbumArtDealer = new MemoryDealer(size, "MetadataRetrieverClient");
    if (mAlbumArtDealer == NULL) {
        LOGE("failed to create MemoryDealer object");
        delete albumArt;
+1 −1
Original line number Diff line number Diff line
@@ -1183,7 +1183,7 @@ status_t OMXCodec::allocateBuffersOnPort(OMX_U32 portIndex) {
    }

    size_t totalSize = def.nBufferCountActual * def.nBufferSize;
    mDealer[portIndex] = new MemoryDealer(totalSize);
    mDealer[portIndex] = new MemoryDealer(totalSize, "OMXCodec");

    for (OMX_U32 i = 0; i < def.nBufferCountActual; ++i) {
        sp<IMemory> mem = mDealer[portIndex]->allocate(def.nBufferSize);
+1 −1
Original line number Diff line number Diff line
@@ -286,7 +286,7 @@ status_t Harness::testStateTransitions(
        return OK;
    }

    sp<MemoryDealer> dealer = new MemoryDealer(8 * 1024 * 1024);
    sp<MemoryDealer> dealer = new MemoryDealer(8 * 1024 * 1024, "OMXHarness");
    IOMX::node_id node;

    status_t err =