Etterna 0.74.4
Loading...
Searching...
No Matches
RageSoundDriver_WDMKS.h
1#ifndef RAGE_SOUND_WAVEOUT_H
2#define RAGE_SOUND_WAVEOUT_H
3
4#include "RageSoundDriver.h"
5#include "RageUtil/Misc/RageThreads.h"
6#include <windows.h>
7
8struct WinWdmStream;
9struct WinWdmFilter;
10
12{
13 public:
16 std::string Init();
17
18 int64_t GetPosition() const;
19 float GetPlayLatency() const;
20 int GetSampleRate() const;
21
22 private:
23 static int MixerThread_start(void* p);
24 void MixerThread();
25 bool Fill(int iPacket, std::string& sError);
26 void Read(void* pData, int iFrames, int iLastCursorPos, int iCurrentFrame);
27
28 RageThread MixingThread;
29 void SetupDecodingThread();
30
31 bool m_bShutdown;
32 int m_iLastCursorPos;
33
34 HANDLE m_hSignal;
35 WinWdmStream* m_pStream;
36 WinWdmFilter* m_pFilter;
37};
38
39#endif
Definition RageSoundDriver_WDMKS.h:12
Definition RageSoundDriver.h:15
Thread, mutex, semaphore, and event classes.
Definition RageThreads.h:155
Definition RageSoundDriver_WDMKS.cpp:97
Definition RageSoundDriver_WDMKS.cpp:1077