Loading media/codec2/hal/common/include/codec2/common/BufferTypes.h +24 −21 Original line number Diff line number Diff line Loading @@ -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) { Loading @@ -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; Loading @@ -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."; Loading @@ -216,6 +218,7 @@ bool addBaseBlock( return _addBaseBlock( index, pBuf, baseBlocks, baseBlockIndices); } default: LOG(ERROR) << "Unknown C2BlockPoolData type."; return false; Loading media/codec2/vndk/Android.bp +11 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,9 @@ cc_library { "com.android.media.swcodec", ], defaults: [ "libcodec2_hal_selection", ], srcs: [ "C2AllocatorBlob.cpp", Loading Loading @@ -129,6 +132,10 @@ cc_library { cc_defaults { name: "libcodec2-static-defaults", defaults: [ "libcodec2_hal_selection", ], static_libs: [ "liblog", "libion", Loading Loading @@ -172,6 +179,10 @@ cc_defaults { cc_defaults { name: "libcodec2-impl-defaults", defaults: [ "libcodec2_hal_selection", ], shared_libs: [ "libbase", // for C2_LOG "liblog", // for ALOG Loading media/codec2/vndk/C2Store.cpp +10 −3 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ #include <C2Config.h> #include <C2PlatformStorePluginLoader.h> #include <C2PlatformSupport.h> #include <codec2/common/HalSelection.h> #include <cutils/properties.h> #include <util/C2InterfaceHelper.h> Loading Loading @@ -447,6 +448,12 @@ C2PlatformAllocatorStore::id_t GetPreferredLinearAllocatorId(int poolMask) { namespace { static C2PooledBlockPool::BufferPoolVer GetBufferPoolVer() { static C2PooledBlockPool::BufferPoolVer sVer = IsCodec2AidlHalSelected() ? C2PooledBlockPool::VER_AIDL2 : C2PooledBlockPool::VER_HIDL; return sVer; } class _C2BlockPoolCache { public: _C2BlockPoolCache() : mBlockPoolSeqId(C2BlockPool::PLATFORM_START + 1) {} Loading Loading @@ -477,7 +484,7 @@ private: C2PlatformAllocatorStore::ION, &allocator); if (res == C2_OK) { std::shared_ptr<C2BlockPool> ptr( new C2PooledBlockPool(allocator, poolId), deleter); new C2PooledBlockPool(allocator, poolId, GetBufferPoolVer()), deleter); *pool = ptr; mBlockPools[poolId] = ptr; mComponents[poolId].insert( Loading @@ -490,7 +497,7 @@ private: C2PlatformAllocatorStore::BLOB, &allocator); if (res == C2_OK) { std::shared_ptr<C2BlockPool> ptr( new C2PooledBlockPool(allocator, poolId), deleter); new C2PooledBlockPool(allocator, poolId, GetBufferPoolVer()), deleter); *pool = ptr; mBlockPools[poolId] = ptr; mComponents[poolId].insert( Loading @@ -504,7 +511,7 @@ private: C2AllocatorStore::DEFAULT_GRAPHIC, &allocator); if (res == C2_OK) { std::shared_ptr<C2BlockPool> ptr( new C2PooledBlockPool(allocator, poolId), deleter); new C2PooledBlockPool(allocator, poolId, GetBufferPoolVer()), deleter); *pool = ptr; mBlockPools[poolId] = ptr; mComponents[poolId].insert( Loading Loading
media/codec2/hal/common/include/codec2/common/BufferTypes.h +24 −21 Original line number Diff line number Diff line Loading @@ -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) { Loading @@ -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; Loading @@ -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."; Loading @@ -216,6 +218,7 @@ bool addBaseBlock( return _addBaseBlock( index, pBuf, baseBlocks, baseBlockIndices); } default: LOG(ERROR) << "Unknown C2BlockPoolData type."; return false; Loading
media/codec2/vndk/Android.bp +11 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,9 @@ cc_library { "com.android.media.swcodec", ], defaults: [ "libcodec2_hal_selection", ], srcs: [ "C2AllocatorBlob.cpp", Loading Loading @@ -129,6 +132,10 @@ cc_library { cc_defaults { name: "libcodec2-static-defaults", defaults: [ "libcodec2_hal_selection", ], static_libs: [ "liblog", "libion", Loading Loading @@ -172,6 +179,10 @@ cc_defaults { cc_defaults { name: "libcodec2-impl-defaults", defaults: [ "libcodec2_hal_selection", ], shared_libs: [ "libbase", // for C2_LOG "liblog", // for ALOG Loading
media/codec2/vndk/C2Store.cpp +10 −3 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ #include <C2Config.h> #include <C2PlatformStorePluginLoader.h> #include <C2PlatformSupport.h> #include <codec2/common/HalSelection.h> #include <cutils/properties.h> #include <util/C2InterfaceHelper.h> Loading Loading @@ -447,6 +448,12 @@ C2PlatformAllocatorStore::id_t GetPreferredLinearAllocatorId(int poolMask) { namespace { static C2PooledBlockPool::BufferPoolVer GetBufferPoolVer() { static C2PooledBlockPool::BufferPoolVer sVer = IsCodec2AidlHalSelected() ? C2PooledBlockPool::VER_AIDL2 : C2PooledBlockPool::VER_HIDL; return sVer; } class _C2BlockPoolCache { public: _C2BlockPoolCache() : mBlockPoolSeqId(C2BlockPool::PLATFORM_START + 1) {} Loading Loading @@ -477,7 +484,7 @@ private: C2PlatformAllocatorStore::ION, &allocator); if (res == C2_OK) { std::shared_ptr<C2BlockPool> ptr( new C2PooledBlockPool(allocator, poolId), deleter); new C2PooledBlockPool(allocator, poolId, GetBufferPoolVer()), deleter); *pool = ptr; mBlockPools[poolId] = ptr; mComponents[poolId].insert( Loading @@ -490,7 +497,7 @@ private: C2PlatformAllocatorStore::BLOB, &allocator); if (res == C2_OK) { std::shared_ptr<C2BlockPool> ptr( new C2PooledBlockPool(allocator, poolId), deleter); new C2PooledBlockPool(allocator, poolId, GetBufferPoolVer()), deleter); *pool = ptr; mBlockPools[poolId] = ptr; mComponents[poolId].insert( Loading @@ -504,7 +511,7 @@ private: C2AllocatorStore::DEFAULT_GRAPHIC, &allocator); if (res == C2_OK) { std::shared_ptr<C2BlockPool> ptr( new C2PooledBlockPool(allocator, poolId), deleter); new C2PooledBlockPool(allocator, poolId, GetBufferPoolVer()), deleter); *pool = ptr; mBlockPools[poolId] = ptr; mComponents[poolId].insert( Loading