33 #ifndef H_DC_AUDIO_MANAGER_INCLUDED
34 #define H_DC_AUDIO_MANAGER_INCLUDED
42 #include <Dynacoe/Backends/Backend.h>
44 class AudioManager :
public Backend {
46 virtual ~AudioManager(){}
51 enum class UnderrunHandlerRoutine {
62 virtual bool Connect() = 0;
66 virtual void SetSampleRate(uint32_t) = 0;
69 virtual uint32_t GetSampleRate() = 0;
78 virtual void PushData(
float * data, uint32_t numSamples) = 0;
82 virtual uint32_t PendingSamplesCount() = 0;
87 virtual bool Underrun() = 0;
90 virtual void EnableOutput(
bool doIt) = 0;
97 virtual void SetVolumeMultiplier(
float) = 0;
98 virtual float GetVolumeMultiplier() = 0;
101 virtual float GetCurrentOutputSample() = 0;