2 * Copyright (C) 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.
9 #include "RPStreamManager.h"
11 #include "IRetroPlayerStream.h"
12 #include "RetroPlayerAudio.h"
13 #include "RetroPlayerVideo.h"
16 using namespace RETRO
;
18 CRPStreamManager::CRPStreamManager(CRPRenderManager
& renderManager
, CRPProcessInfo
& processInfo
)
19 : m_renderManager(renderManager
), m_processInfo(processInfo
)
23 void CRPStreamManager::EnableAudio(bool bEnable
)
25 if (m_audioStream
!= nullptr)
26 m_audioStream
->Enable(bEnable
);
29 StreamPtr
CRPStreamManager::CreateStream(StreamType streamType
)
33 case StreamType::AUDIO
:
35 // Save pointer to audio stream
36 m_audioStream
= new CRetroPlayerAudio(m_processInfo
);
38 return StreamPtr(m_audioStream
);
40 case StreamType::VIDEO
:
41 case StreamType::SW_BUFFER
:
43 return StreamPtr(new CRetroPlayerVideo(m_renderManager
, m_processInfo
));
45 case StreamType::HW_BUFFER
:
47 // return StreamPtr(new CRetroPlayerHardware(m_renderManager, m_processInfo)); //! @todo
56 void CRPStreamManager::CloseStream(StreamPtr stream
)
60 if (stream
.get() == m_audioStream
)
61 m_audioStream
= nullptr;
63 stream
->CloseStream();