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

Commit 80e08f63 authored by Shunkai Yao's avatar Shunkai Yao Committed by Gerrit Code Review
Browse files

Merge "EffectBufferHalAidl: remove ashmem mapping" into main

parents 905ee08a 9b36d628
Loading
Loading
Loading
Loading
+3 −14
Original line number Original line Diff line number Diff line
@@ -58,25 +58,14 @@ EffectBufferHalAidl::EffectBufferHalAidl(size_t size)
}
}


EffectBufferHalAidl::~EffectBufferHalAidl() {
EffectBufferHalAidl::~EffectBufferHalAidl() {
    if (mAudioBuffer.raw) free(mAudioBuffer.raw);
}
}


status_t EffectBufferHalAidl::init() {
status_t EffectBufferHalAidl::init() {
    int fd = ashmem_create_region("audioEffectAidl", mBufferSize);
    if (0 != posix_memalign(&mAudioBuffer.raw, 32, mBufferSize)) {
    if (fd < 0) {
        return NO_MEMORY;
        ALOGE("%s create ashmem failed %d", __func__, fd);
        return fd;
    }
    }


    ScopedFileDescriptor tempFd(fd);
    mAudioBuffer.raw = mmap(nullptr /* address */, mBufferSize /* length */, PROT_READ | PROT_WRITE,
                            MAP_SHARED, fd, 0 /* offset */);
    if (mAudioBuffer.raw == MAP_FAILED) {
        ALOGE("mmap failed for fd %d", fd);
        mAudioBuffer.raw = nullptr;
        return INVALID_OPERATION;
    }

    mMemory = {std::move(tempFd), static_cast<int64_t>(mBufferSize)};
    return OK;
    return OK;
}
}


+0 −1
Original line number Original line Diff line number Diff line
@@ -50,7 +50,6 @@ class EffectBufferHalAidl : public EffectBufferHalInterface {
    const size_t mBufferSize;
    const size_t mBufferSize;
    bool mFrameCountChanged;
    bool mFrameCountChanged;
    void* mExternalData;
    void* mExternalData;
    aidl::android::hardware::common::Ashmem mMemory;
    audio_buffer_t mAudioBuffer;
    audio_buffer_t mAudioBuffer;


    // Can not be constructed directly by clients.
    // Can not be constructed directly by clients.