aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/alsa.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/alsa.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/alsa.c')
-rw-r--r--Alc/alsa.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/Alc/alsa.c b/Alc/alsa.c
index 24fcd7b8..80825b02 100644
--- a/Alc/alsa.c
+++ b/Alc/alsa.c
@@ -1002,6 +1002,11 @@ static void alsa_capture_samples(ALCdevice *Device, ALCvoid *Buffer, ALCuint Sam
alcSetError(Device, ALC_INVALID_VALUE);
}
+static ALuint64 alsa_get_time(ALCdevice *Device)
+{
+ return Device->SamplesPlayed * 1000000000 / Device->Frequency;
+}
+
BackendFuncs alsa_funcs = {
alsa_open_playback,
@@ -1013,7 +1018,8 @@ BackendFuncs alsa_funcs = {
alsa_start_capture,
alsa_stop_capture,
alsa_capture_samples,
- alsa_available_samples
+ alsa_available_samples,
+ alsa_get_time
};
void alc_alsa_init(BackendFuncs *func_list)