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.
9 #include "BufferObjectFactory.h"
11 std::list
<std::function
<std::unique_ptr
<CBufferObject
>()>> CBufferObjectFactory::m_bufferObjects
;
13 std::unique_ptr
<CBufferObject
> CBufferObjectFactory::CreateBufferObject(bool needsCreateBySize
)
15 for (const auto& bufferObject
: m_bufferObjects
)
17 auto bo
= bufferObject();
19 if (needsCreateBySize
)
21 if (!bo
->CreateBufferObject(1))
24 bo
->DestroyBufferObject();
33 void CBufferObjectFactory::RegisterBufferObject(
34 const std::function
<std::unique_ptr
<CBufferObject
>()>& createFunc
)
36 m_bufferObjects
.emplace_front(createFunc
);
39 void CBufferObjectFactory::ClearBufferObjects()
41 m_bufferObjects
.clear();