Allocator refactor

This commit is contained in:
elasota
2021-04-28 01:46:07 -04:00
parent 472462c535
commit a2d374f650
75 changed files with 473 additions and 253 deletions

View File

@@ -7,13 +7,14 @@
class GpAudioDriverXAudio2;
class GpAudioChannelXAudio2Callbacks;
struct IXAudio2SourceVoice;
struct IGpAllocator;
class GpAudioChannelXAudio2 final : public IGpAudioChannel
{
public:
friend class GpAudioChannelXAudio2Callbacks;
static GpAudioChannelXAudio2 *Create(GpAudioDriverXAudio2 *driver);
static GpAudioChannelXAudio2 *Create(IGpAllocator *alloc, GpAudioDriverXAudio2 *driver);
void SetAudioChannelContext(IGpAudioChannelCallbacks *callbacks) override;
bool PostBuffer(IGpAudioBuffer *buffer) override;
@@ -32,12 +33,13 @@ private:
VoiceState_Active,
};
explicit GpAudioChannelXAudio2(GpAudioDriverXAudio2 *driver);
explicit GpAudioChannelXAudio2(IGpAllocator *alloc, GpAudioDriverXAudio2 *driver);
~GpAudioChannelXAudio2();
GpAudioDriverXAudio2 *m_driver;
IXAudio2SourceVoice *m_sourceVoice;
GpAudioChannelXAudio2Callbacks m_xAudioCallbacks;
IGpAudioChannelCallbacks *m_contextCallbacks;
IGpAllocator *m_alloc;
VoiceState m_voiceState;
};