aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/winmm.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2010-07-24 19:14:32 -0700
committerChris Robinson <[email protected]>2010-07-24 19:14:32 -0700
commit40dd1fb85364e3a9e278ffa7a034638e7718770b (patch)
treeb4da0f38e57498b1c2e4b44986814f7e58d92ef6 /Alc/winmm.c
parentab77fc14d53993e90403dd3474725a6202f623c4 (diff)
Add a backend callback to get the device time
The method should monotonically count the number of nanoseconds the device has active contexts
Diffstat (limited to 'Alc/winmm.c')
-rw-r--r--Alc/winmm.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/Alc/winmm.c b/Alc/winmm.c
index 317906f7..70398a17 100644
--- a/Alc/winmm.c
+++ b/Alc/winmm.c
@@ -397,6 +397,11 @@ static void WinMMCaptureSamples(ALCdevice *pDevice, ALCvoid *pBuffer, ALCuint lS
alcSetError(pDevice, ALC_INVALID_VALUE);
}
+static ALuint64 WinMMGetTime(ALCdevice *Device)
+{
+ return Device->SamplesPlayed * 1000000000 / Device->Frequency;
+}
+
static BackendFuncs WinMMFuncs = {
WinMMOpenPlayback,
@@ -408,7 +413,8 @@ static BackendFuncs WinMMFuncs = {
WinMMStartCapture,
WinMMStopCapture,
WinMMCaptureSamples,
- WinMMAvailableSamples
+ WinMMAvailableSamples,
+ WinMMGetTime
};
void alcWinMMInit(BackendFuncs *FuncList)