11 int channels, samplebits;
14 int64_t last_cursor_pos;
16 snd_pcm_uframes_t preferred_writeahead, preferred_chunksize;
17 snd_pcm_uframes_t writeahead, chunksize;
25 static void ErrorHandler(
const char* file,
33 static void InitializeErrorHandler();
34 static void GetSoundCardDebugInfo();
35 static std::string GetHardwareID(std::string name =
"");
38 std::string Init(
int channels,
44 int GetNumFramesToFill();
45 bool WaitUntilFramesCanBeFilled(
int timeout_ms);
46 void Write(
const int16_t* buffer,
int frames);
50 void SetVolume(
float vol);
51 int GetSampleRate()
const {
return samplerate; }
53 int64_t GetPosition()
const;
54 int64_t GetPlayPos()
const {
return last_cursor_pos; }