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

Commit 64d1e597 authored by Wonsik Kim's avatar Wonsik Kim Committed by Gerrit Code Review
Browse files

Merge changes from topic "c2aidl-bufferpool2" into main

* changes:
  codec2 hal: dup handle when setting to BaseBlock
  vts: adapt to AIDL codecs
  codec2 hal: use bufferpool2 when necessary
parents 0161347a 220f8a8a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -201,7 +201,7 @@ bool objcpy(C2Fence* d, const AidlNativeHandle& s) {

template<>
void SetHandle(BaseBlock *block, const C2Handle *handle) {
    block->set<BaseBlock::nativeBlock>(makeToAidl(handle));
    block->set<BaseBlock::nativeBlock>(dupToAidl(handle));
}

template<>
+24 −21
Original line number Diff line number Diff line
@@ -183,7 +183,8 @@ bool addBaseBlock(
                baseBlocks, baseBlockIndices);
    }
    switch (blockPoolData->getType()) {
    case _C2BlockPoolData::TYPE_BUFFERPOOL: {
    case _C2BlockPoolData::TYPE_BUFFERPOOL:
    case _C2BlockPoolData::TYPE_BUFFERPOOL2: {
            // BufferPoolData
            std::shared_ptr<typename BufferPoolTypes::BufferPoolData> bpData;
            if (!GetBufferPoolData<BufferPoolTypes>(blockPoolData, &bpData) || !bpData) {
@@ -194,7 +195,7 @@ bool addBaseBlock(
                    index, bpData,
                    bufferPoolSender, baseBlocks, baseBlockIndices);
        }
    case _C2BlockPoolData::TYPE_BUFFERQUEUE:
    case _C2BlockPoolData::TYPE_BUFFERQUEUE: {
            uint32_t gen;
            uint64_t bqId;
            int32_t bqSlot;
@@ -207,7 +208,8 @@ bool addBaseBlock(
            return _addBaseBlock(
                    index, handle,
                    baseBlocks, baseBlockIndices);
    case _C2BlockPoolData::TYPE_AHWBUFFER:
        }
    case _C2BlockPoolData::TYPE_AHWBUFFER: {
            AHardwareBuffer *pBuf;
            if (!_C2BlockFactory::GetAHardwareBuffer(blockPoolData, &pBuf)) {
                LOG(ERROR) << "AHardwareBuffer unavailable in a block.";
@@ -216,6 +218,7 @@ bool addBaseBlock(
            return _addBaseBlock(
                    index, pBuf,
                    baseBlocks, baseBlockIndices);
        }
    default:
        LOG(ERROR) << "Unknown C2BlockPoolData type.";
        return false;
+6 −2
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@
#define LOG_TAG "codec2_hidl_hal_audio_dec_test"

#include <android-base/logging.h>
#include <android/binder_process.h>
#include <gtest/gtest.h>
#include <hidl/GtestPrinter.h>
#include <stdio.h>
@@ -27,6 +28,7 @@
#include <C2BufferPriv.h>
#include <C2Config.h>
#include <C2Debug.h>
#include <codec2/aidl/ParamTypes.h>
#include <codec2/hidl/client.h>

#include "media_c2_hidl_test_common.h"
@@ -88,7 +90,8 @@ class Codec2AudioDecHidlTestBase : public ::testing::Test {

        std::shared_ptr<C2AllocatorStore> store = android::GetCodec2PlatformAllocatorStore();
        CHECK_EQ(store->fetchAllocator(C2AllocatorStore::DEFAULT_LINEAR, &mLinearAllocator), C2_OK);
        mLinearPool = std::make_shared<C2PooledBlockPool>(mLinearAllocator, mBlockPoolId++);
        mLinearPool = std::make_shared<C2PooledBlockPool>(
                mLinearAllocator, mBlockPoolId++, getBufferPoolVer());
        ASSERT_NE(mLinearPool, nullptr);

        std::vector<std::unique_ptr<C2Param>> queried;
@@ -864,5 +867,6 @@ int main(int argc, char** argv) {
    }

    ::testing::InitGoogleTest(&argc, argv);
    ABinderProcess_startThreadPool();
    return RUN_ALL_TESTS();
}
+5 −2
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@
#define LOG_TAG "codec2_hidl_hal_audio_enc_test"

#include <android-base/logging.h>
#include <android/binder_process.h>
#include <gtest/gtest.h>
#include <hidl/GtestPrinter.h>
#include <stdio.h>
@@ -69,7 +70,8 @@ class Codec2AudioEncHidlTestBase : public ::testing::Test {

        std::shared_ptr<C2AllocatorStore> store = android::GetCodec2PlatformAllocatorStore();
        CHECK_EQ(store->fetchAllocator(C2AllocatorStore::DEFAULT_LINEAR, &mLinearAllocator), C2_OK);
        mLinearPool = std::make_shared<C2PooledBlockPool>(mLinearAllocator, mBlockPoolId++);
        mLinearPool = std::make_shared<C2PooledBlockPool>(
                mLinearAllocator, mBlockPoolId++, getBufferPoolVer());
        ASSERT_NE(mLinearPool, nullptr);

        std::vector<std::unique_ptr<C2Param>> queried;
@@ -775,6 +777,7 @@ int main(int argc, char** argv) {
                std::make_tuple(std::get<0>(params), std::get<1>(params), true, 2));
    }

    ABinderProcess_startThreadPool();
    ::testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}
+3 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ cc_library_static {
    name: "VtsHalMediaC2V1_0CommonUtil",
    defaults: [
        "VtsHalTargetTestDefaults",
        "libcodec2-aidl-client-defaults",
        "libcodec2-hidl-client-defaults",
    ],

@@ -29,6 +30,7 @@ cc_defaults {
    name: "VtsHalMediaC2V1_0Defaults",
    defaults: [
        "VtsHalTargetTestDefaults",
        "libcodec2-aidl-client-defaults",
        "libcodec2-hidl-client-defaults",
    ],

@@ -38,6 +40,7 @@ cc_defaults {
    ],

    shared_libs: [
        "libbinder_ndk",
        "libcodec2_client",
    ],
    test_suites: [
Loading