kodi
RPStreamManager.h
1 /*
2  * Copyright (C) 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 "IStreamManager.h"
12 
13 namespace KODI
14 {
15 namespace RETRO
16 {
17 class CRetroPlayerAudio;
18 class CRPProcessInfo;
19 class CRPRenderManager;
20 
22 {
23 public:
24  CRPStreamManager(CRPRenderManager& renderManager, CRPProcessInfo& processInfo);
25  ~CRPStreamManager() override = default;
26 
27  void EnableAudio(bool bEnable);
28 
29  // Implementation of IStreamManager
30  StreamPtr CreateStream(StreamType streamType) override;
31  void CloseStream(StreamPtr stream) override;
32 
33 private:
34  // Construction parameters
35  CRPRenderManager& m_renderManager;
36  CRPProcessInfo& m_processInfo;
37 
38  // Stream parameters
39  CRetroPlayerAudio* m_audioStream = nullptr;
40 };
41 } // namespace RETRO
42 } // namespace KODI
Renders video frames provided by the game loop.
Definition: RPRenderManager.h:67
void CloseStream(StreamPtr stream) override
Free the specified stream.
Definition: RPStreamManager.cpp:56
Definition: IStreamManager.h:18
Definition: AudioDecoder.h:18
Definition: RetroPlayerAudio.h:44
Definition: RPStreamManager.h:21
StreamPtr CreateStream(StreamType streamType) override
Create a stream for gameplay data.
Definition: RPStreamManager.cpp:29
Player process info.
Definition: RPProcessInfo.h:80