diff options
Diffstat (limited to 'libavutil/time.c')
-rw-r--r-- | libavutil/time.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libavutil/time.c b/libavutil/time.c index a0b713e..80c4029 100644 --- a/libavutil/time.c +++ b/libavutil/time.c @@ -16,15 +16,31 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "config.h" + #include <stddef.h> #include <stdint.h> +#if HAVE_GETTIMEOFDAY #include <sys/time.h> +#elif HAVE_GETSYSTEMTIMEASFILETIME +#include <windows.h> +#endif #include "libavutil/time.h" int64_t av_gettime(void) { +#if HAVE_GETTIMEOFDAY struct timeval tv; gettimeofday(&tv, NULL); return (int64_t)tv.tv_sec * 1000000 + tv.tv_usec; +#elif HAVE_GETSYSTEMTIMEASFILETIME + FILETIME ft; + int64_t t; + GetSystemTimeAsFileTime(&ft); + t = (int64_t)ft.dwHighDateTime << 32 | ft.dwLowDateTime; + return t / 10 - 11644473600000000; /* Jan 1, 1601 */ +#else + return -1; +#endif } |