2 * Copyright (C) 2005-2020 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
11 #include "IBufferObject.h"
17 * @brief base class for using the IBufferObject interface. Derived classes
18 * should be based on this class.
21 class CBufferObject
: public IBufferObject
25 * @brief Get a BufferObject from CBufferObjectFactory
27 * @return std::unique_ptr<CBufferObject>
29 static std::unique_ptr
<CBufferObject
> GetBufferObject(bool needsCreateBySize
);
31 virtual bool CreateBufferObject(uint32_t format
, uint32_t width
, uint32_t height
) override
= 0;
32 bool CreateBufferObject(uint64_t size
) override
{ return false; }
35 uint32_t GetStride() override
;
36 uint64_t GetModifier() override
;
38 void SyncStart() override
;
39 void SyncEnd() override
;