[WASAPI] set stream audio category
[xbmc.git] / xbmc / cores / RetroPlayer / streams / RPStreamManager.cpp
blob2682d4d01b49960468b2c930adc1f3c6d523a14c
1 /*
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.
7 */
9 #include "RPStreamManager.h"
11 #include "IRetroPlayerStream.h"
12 #include "RetroPlayerAudio.h"
13 #include "RetroPlayerVideo.h"
15 using namespace KODI;
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)
31 switch (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
49 default:
50 break;
53 return StreamPtr();
56 void CRPStreamManager::CloseStream(StreamPtr stream)
58 if (stream)
60 if (stream.get() == m_audioStream)
61 m_audioStream = nullptr;
63 stream->CloseStream();