xbmc
BaseRenderBuffer.h
1 /*
2  * Copyright (C) 2017-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "IRenderBuffer.h"
12 
13 #include <atomic>
14 #include <memory>
15 
16 namespace KODI
17 {
18 namespace RETRO
19 {
21 {
22 public:
24  ~CBaseRenderBuffer() override = default;
25 
26  // Partial implementation of IRenderBuffer
27  void Acquire() override;
28  void Acquire(std::shared_ptr<IRenderBufferPool> pool) override;
29  void Release() override;
30  IRenderBufferPool* GetPool() override { return m_pool.get(); }
31 
32 protected:
33  // Reference counting
34  std::atomic_int m_refCount;
35 
36  // Pool callback
37  std::shared_ptr<IRenderBufferPool> m_pool;
38 };
39 } // namespace RETRO
40 } // namespace KODI
Definition: IRenderBuffer.h:27
Controller configuration window.
Definition: AudioDecoder.h:18
Definition: IRenderBufferPool.h:28
Definition: BaseRenderBuffer.h:20