X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fplatform%2Ftimeutils.h;h=1dd454fd51a8d7167375b5df69ccbd515db0a7bd;hb=ee7a58ce82eb01a99ce2aae5b0e534bfb1c97a43;hp=c4140203736bc258e3551a31fda001009a985e45;hpb=b9187cc6999276ce37a5c9852655fd558ea76b8e;p=deb_libcec.git diff --git a/src/lib/platform/timeutils.h b/src/lib/platform/timeutils.h index c414020..1dd454f 100644 --- a/src/lib/platform/timeutils.h +++ b/src/lib/platform/timeutils.h @@ -19,13 +19,22 @@ */ #include +#if defined(__APPLE__) +#include +#include +#elif defined(__WINDOWS__) #include +#else +#include +#endif namespace CEC { inline int64_t GetTimeMs() { - #ifdef __WINDOWS__ + #if defined(__APPLE__) + return (int64_t) (CVGetCurrentHostTime() * 1000 / CVGetHostClockFrequency()); + #elif defined(__WINDOWS__) time_t rawtime; time(&rawtime); @@ -38,10 +47,9 @@ namespace CEC } return -1; #else - struct timespec time; - clock_gettime(CLOCK_MONOTONIC, &time); - - return ((int64_t)time.tv_sec * (int64_t)1000) + (int64_t)time.tv_nsec / (int64_t)1000; + timeval time; + gettimeofday(&time, NULL); + return (int64_t) (time.tv_sec * 1000 + time.tv_usec / 1000); #endif }