[WASAPI] set stream audio category
[xbmc.git] / xbmc / cores / RetroPlayer / buffers / RenderBufferManager.h
blobde69cada4d41bc7c63a3446d8e894d57e54d2a11
1 /*
2 * Copyright (C) 2017-2018 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.
7 */
9 #pragma once
11 #include "cores/GameSettings.h"
12 #include "cores/RetroPlayer/RetroPlayerTypes.h"
13 #include "threads/CriticalSection.h"
15 #include <memory>
16 #include <vector>
18 namespace KODI
20 namespace RETRO
22 class IRendererFactory;
23 class IRenderBufferPools;
25 class CRenderBufferManager
27 public:
28 CRenderBufferManager() = default;
29 ~CRenderBufferManager();
31 void RegisterPools(IRendererFactory* factory, RenderBufferPoolVector pools);
32 RenderBufferPoolVector GetPools(IRendererFactory* factory);
33 std::vector<IRenderBufferPool*> GetBufferPools();
34 void FlushPools();
36 std::string GetRenderSystemName(IRenderBufferPool* renderBufferPool) const;
38 bool HasScalingMethod(SCALINGMETHOD scalingMethod) const;
40 protected:
41 struct RenderBufferPools
43 IRendererFactory* factory;
44 RenderBufferPoolVector pools;
47 std::vector<RenderBufferPools> m_pools;
48 mutable CCriticalSection m_critSection;
50 } // namespace RETRO
51 } // namespace KODI