Refactor audio rendering into a separate class

This commit is contained in:
Cameron Gutman
2018-09-13 06:23:06 -07:00
parent 9e2fd67487
commit 12496e4432
9 changed files with 244 additions and 131 deletions
+28
View File
@@ -0,0 +1,28 @@
#pragma once
#include "renderer.h"
#include <SDL.h>
class SdlAudioRenderer : public IAudioRenderer
{
public:
SdlAudioRenderer();
virtual ~SdlAudioRenderer();
virtual bool prepareForPlayback(const OPUS_MULTISTREAM_CONFIGURATION* opusConfig);
virtual void submitAudio(short* audioBuffer, int audioSize);
virtual bool testAudio(int audioConfiguration);
virtual int detectAudioConfiguration();
private:
SDL_AudioDeviceID m_AudioDevice;
int m_ChannelCount;
int m_PendingDrops;
int m_PendingHardDrops;
unsigned int m_SampleIndex;
Uint32 m_BaselinePendingData;
};