Switching audio system to platform-agnostic primitives.

This commit is contained in:
Ben Vanik
2015-07-14 23:13:56 -07:00
parent 345fe60da0
commit a6012b73f4
13 changed files with 150 additions and 165 deletions

View File

@@ -22,7 +22,7 @@ namespace xaudio2 {
class XAudio2AudioDriver : public AudioDriver {
public:
XAudio2AudioDriver(Emulator* emulator, HANDLE semaphore);
XAudio2AudioDriver(Emulator* emulator, xe::threading::Semaphore* semaphore);
~XAudio2AudioDriver() override;
void Initialize();
@@ -30,13 +30,13 @@ class XAudio2AudioDriver : public AudioDriver {
void Shutdown();
private:
IXAudio2* audio_;
IXAudio2MasteringVoice* mastering_voice_;
IXAudio2SourceVoice* pcm_voice_;
HANDLE semaphore_;
IXAudio2* audio_ = nullptr;
IXAudio2MasteringVoice* mastering_voice_ = nullptr;
IXAudio2SourceVoice* pcm_voice_ = nullptr;
xe::threading::Semaphore* semaphore_ = nullptr;
class VoiceCallback;
VoiceCallback* voice_callback_;
VoiceCallback* voice_callback_ = nullptr;
static const uint32_t frame_count_ = 64;
static const uint32_t frame_channels_ = 6;
@@ -44,7 +44,7 @@ class XAudio2AudioDriver : public AudioDriver {
static const uint32_t frame_samples_ = frame_channels_ * channel_samples_;
static const uint32_t frame_size_ = sizeof(float) * frame_samples_;
float frames_[frame_count_][frame_samples_];
uint32_t current_frame_;
uint32_t current_frame_ = 0;
};
} // namespace xaudio2