33 #if(defined DC_BACKENDS_RTAUDIO_ALSA || defined DC_BACKENDS_RTAUDIO_OSS || defined DC_BACKENDS_RTAUDIO_WIN32)
35 #ifndef H_DC_RTAUDIO_MULTI_INCLUDED
36 #define H_DC_RTAUDIO_MULTI_INCLUDED
39 #include <Dynacoe/Backends/AudioManager/AudioManager.h>
40 #include <../srcs/Dynacoe/Backends/AudioManager/RtAudio/RtAudio.h>
51 class RtAudioManager :
public AudioManager {
55 void SetSampleRate(uint32_t);
56 uint32_t GetSampleRate();
57 void PushData(
float * data, uint32_t numSamples);
58 uint32_t PendingSamplesCount();
60 void EnableOutput(
bool doIt);
61 void SetVolumeMultiplier(
float);
62 float GetVolumeMultiplier();
63 float GetCurrentOutputSample();
66 std::string Version();
81 StreamBuffer * streamQueue;
86 RtAudio::StreamParameters rtParams;
87 RtAudio::StreamOptions rtOpts;
100 float GetUnderrunSample();
105 static int StreamCallback(
void * buffer,
void *,
unsigned int,
double, RtAudioStreamStatus,
void *);
108 std::recursive_mutex bufferMutex;