2013-12-27 11:55:11 +01:00
|
|
|
#include "stdafx.h"
|
2014-06-02 19:27:24 +02:00
|
|
|
#include "rpcs3/Ini.h"
|
2013-12-27 11:55:11 +01:00
|
|
|
#include "AudioManager.h"
|
2015-01-11 00:46:10 +01:00
|
|
|
#include "AL/OpenALThread.h"
|
|
|
|
|
#include "Null/NullAudioThread.h"
|
|
|
|
|
#include "XAudio2/XAudio2Thread.h"
|
2013-12-27 11:55:11 +01:00
|
|
|
|
2015-01-11 00:46:10 +01:00
|
|
|
AudioManager::AudioManager() : m_audio_out(nullptr)
|
2013-12-27 11:55:11 +01:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2015-06-04 14:57:05 +02:00
|
|
|
AudioManager::~AudioManager()
|
|
|
|
|
{
|
|
|
|
|
Close();
|
|
|
|
|
}
|
|
|
|
|
|
2013-12-27 11:55:11 +01:00
|
|
|
void AudioManager::Init()
|
|
|
|
|
{
|
2015-01-11 00:46:10 +01:00
|
|
|
if (m_audio_out) return;
|
2014-03-08 00:15:39 +01:00
|
|
|
|
|
|
|
|
m_audio_info.Init();
|
|
|
|
|
|
2015-01-11 00:46:10 +01:00
|
|
|
switch (Ini.AudioOutMode.GetValue())
|
2014-03-08 00:15:39 +01:00
|
|
|
{
|
|
|
|
|
default:
|
2015-01-11 00:46:10 +01:00
|
|
|
case 0: m_audio_out = new NullAudioThread(); break;
|
2014-03-08 00:15:39 +01:00
|
|
|
case 1: m_audio_out = new OpenALThread(); break;
|
2015-01-11 00:46:10 +01:00
|
|
|
#if defined (_WIN32)
|
|
|
|
|
case 2: m_audio_out = new XAudio2Thread(); break;
|
|
|
|
|
#endif
|
2014-03-08 00:15:39 +01:00
|
|
|
}
|
2013-12-27 11:55:11 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AudioManager::Close()
|
|
|
|
|
{
|
2014-03-28 05:20:13 +01:00
|
|
|
delete m_audio_out;
|
|
|
|
|
m_audio_out = nullptr;
|
2013-12-27 11:55:11 +01:00
|
|
|
}
|