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

29 lines
788 B
C
Raw Normal View History

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