X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fplatform%2Futil%2Ftimeutils.h;h=bfbc5c42e444951dd368beffa012021cc0068469;hb=1b469124aa1f79269686492c391d54e43525ccf4;hp=985712a78b8cd4acd377555b02396aa2e7402551;hpb=143e675b705eaceb1bb514e63301c02dbcf70600;p=deb_libcec.git diff --git a/src/lib/platform/util/timeutils.h b/src/lib/platform/util/timeutils.h index 985712a..bfbc5c4 100644 --- a/src/lib/platform/util/timeutils.h +++ b/src/lib/platform/util/timeutils.h @@ -78,7 +78,7 @@ namespace PLATFORM inline int64_t GetTimeMs() { #if defined(__APPLE__) - return (int64_t) (CVGetCurrentHostTime() * 1000 / CVGetHostClockFrequency()); + return (int64_t) (CVGetCurrentHostTime() / (int64_t)(CVGetHostClockFrequency() * 0.001 + 0.5); #elif defined(__WINDOWS__) time_t rawtime; time(&rawtime); @@ -92,9 +92,9 @@ namespace PLATFORM } return -1; #else - timeval time; - gettimeofday(&time, NULL); - return (int64_t) (time.tv_sec * 1000 + time.tv_usec / 1000); + timespec time; + clock_gettime(CLOCK_MONOTONIC, &time); + return (int64_t)time.tv_sec * 1000 + time.tv_nsec / 1000000; #endif } @@ -113,10 +113,10 @@ namespace PLATFORM bool IsSet(void) const { return m_iTarget > 0; } void Init(uint32_t iTimeout) { m_iTarget = GetTimeMs() + iTimeout; } - uint64_t TimeLeft(void) const + uint32_t TimeLeft(void) const { uint64_t iNow = GetTimeMs(); - return (iNow > m_iTarget) ? 0 : m_iTarget - iNow; + return (iNow > m_iTarget) ? 0 : (uint32_t)(m_iTarget - iNow); } private: