diff options
-rw-r--r-- | Alc/ALc.c | 25 | ||||
-rw-r--r-- | OpenAL32/Include/alMain.h | 6 |
2 files changed, 31 insertions, 0 deletions
@@ -1356,6 +1356,31 @@ ALC_API ALCvoid ALC_APIENTRY alcGetIntegerv(ALCdevice *device,ALCenum param,ALsi *data = device->Connected; break; + case ALC_GET_TIME_EXT: + if(!IsDevice(device)) + alcSetError(device, ALC_INVALID_DEVICE); + else if(size < 2) + alcSetError(device, ALC_INVALID_VALUE); + else + { + ALuint64 t = ALCdevice_GetTime(device); + data[0] = t&0xffffffff; + data[1] = t>>32; + } + break; + + case ALC_GET_TIME_RES_EXT: + if(!IsDevice(device)) + alcSetError(device, ALC_INVALID_DEVICE); + else if(size < 2) + alcSetError(device, ALC_INVALID_VALUE); + else + { + data[0] = device->TimeRes&0xffffffff; + data[1] = device->TimeRes>>32; + } + break; + default: alcSetError(device, ALC_INVALID_ENUM); break; diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h index 4957b942..202133a1 100644 --- a/OpenAL32/Include/alMain.h +++ b/OpenAL32/Include/alMain.h @@ -84,6 +84,12 @@ AL_API ALvoid AL_APIENTRY alUnmapDatabufferEXT(ALuint uiBuffer); #define AL_LOOP_POINTS 0x2015 #endif +#ifndef ALC_EXT_device_time +#define ALC_EXT_device_time 1 +#define ALC_GET_TIME_EXT 0x314 +#define ALC_GET_TIME_RES_EXT 0x315 +#endif + #if defined(HAVE_STDINT_H) #include <stdint.h> typedef int64_t ALint64; |