rpcsx/rpcs3/Emu/Audio/XAudio2/XAudio2Thread.h

32 lines
787 B
C
Raw Normal View History

#pragma once
2015-11-16 16:04:49 +01:00
#ifdef _MSC_VER
#include "Emu/Audio/AudioThread.h"
2015-11-16 16:04:49 +01:00
2016-01-06 00:52:48 +01:00
#pragma push_macro("_WIN32_WINNT")
#undef _WIN32_WINNT
2015-08-12 23:34:54 +02:00
#define _WIN32_WINNT 0x0601 // This is to be sure that correct (2.7) header is included
2016-03-29 19:59:50 +02:00
#include "3rdparty/XAudio2_7/XAudio2.h" // XAudio2 2.8 available only on Win8+, used XAudio2 2.7 from dxsdk
2016-01-06 00:52:48 +01:00
#pragma pop_macro("_WIN32_WINNT")
class XAudio2Thread : public AudioThread
{
private:
IXAudio2* m_xaudio2_instance;
IXAudio2MasteringVoice* m_master_voice;
IXAudio2SourceVoice* m_source_voice;
public:
virtual ~XAudio2Thread();
XAudio2Thread();
virtual void Init();
virtual void Quit();
virtual void Play();
virtual void Open(const void* src, int size);
virtual void Close();
virtual void Stop();
virtual void AddData(const void* src, int size);
};
2015-11-16 16:04:49 +01:00
#endif