Audio system overhaul for support of multiple audio drivers.

This commit is contained in:
gibbed
2014-01-25 03:18:22 -08:00
parent bbe50cfe26
commit 47c71d702a
13 changed files with 418 additions and 231 deletions

View File

@@ -28,25 +28,11 @@ public:
XAudio2AudioSystem(Emulator* emulator);
virtual ~XAudio2AudioSystem();
virtual void Shutdown();
virtual void SubmitFrame(uint32_t frame_ptr);
virtual X_RESULT CreateDriver(size_t index, HANDLE wait, AudioDriver** out_driver);
virtual void DestroyDriver(AudioDriver* driver);
protected:
virtual void Initialize();
virtual void Pump();
private:
IXAudio2* audio_;
IXAudio2MasteringVoice* mastering_voice_;
IXAudio2SourceVoice* pcm_voice_;
int active_channels_;
static const int frame_channels_ = 6;
float frame_[frame_channels_ * 256];
HANDLE wait_handle_;
class VoiceCallback;
VoiceCallback* voice_callback_;
};