diff options
Diffstat (limited to 'plugin_store/include/v4l2_codec2/plugin_store/C2VdaPooledBlockPool.h')
-rw-r--r-- | plugin_store/include/v4l2_codec2/plugin_store/C2VdaPooledBlockPool.h | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/plugin_store/include/v4l2_codec2/plugin_store/C2VdaPooledBlockPool.h b/plugin_store/include/v4l2_codec2/plugin_store/C2VdaPooledBlockPool.h deleted file mode 100644 index 749ff47..0000000 --- a/plugin_store/include/v4l2_codec2/plugin_store/C2VdaPooledBlockPool.h +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2020 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef ANDROID_V4L2_CODEC2_PLUGIN_STORE_C2_VDA_POOLED_BLOCK_POOL_H -#define ANDROID_V4L2_CODEC2_PLUGIN_STORE_C2_VDA_POOLED_BLOCK_POOL_H - -#include <memory> -#include <mutex> -#include <optional> -#include <set> - -#include <C2Buffer.h> -#include <C2BufferPriv.h> -#include <C2PlatformSupport.h> -#include <android-base/thread_annotations.h> - -namespace android { - -class C2VdaPooledBlockPool : public C2PooledBlockPool { -public: - using C2PooledBlockPool::C2PooledBlockPool; - ~C2VdaPooledBlockPool() override = default; - - // Extracts the buffer ID from BufferPoolData of the graphic block. - // |block| is the graphic block allocated by bufferpool block pool. - static std::optional<uint32_t> getBufferIdFromGraphicBlock(const C2Block2D& block); - - // Allocate the specified number of buffers. - // |bufferCount| is the number of requested buffers. - c2_status_t requestNewBufferSet(int32_t bufferCount); - - // Return C2_OK and store a buffer in |block| if a buffer is successfully fetched. - // Return C2_TIMED_OUT if the pool already allocated |mBufferCount| buffers but they are all in - // use. - // Return C2_NO_MEMORY if the pool fails to allocate a new buffer. - c2_status_t fetchGraphicBlock(uint32_t width, uint32_t height, uint32_t format, - C2MemoryUsage usage, - std::shared_ptr<C2GraphicBlock>* block /* nonnull */) override; - -private: - // Function mutex to lock at the start of each API function call for protecting the - // synchronization of all member variables. - std::mutex mMutex; - - // The ids of all allocated buffers. - std::set<uint32_t> mBufferIds GUARDED_BY(mMutex); - // The maximum count of allocated buffers. - size_t mBufferCount GUARDED_BY(mMutex){0}; -}; - -} // namespace android -#endif // ANDROID_V4L2_CODEC2_PLUGIN_STORE_C2_VDA_POOLED_BLOCK_POOL_H |