From 85fc80377f170c48bd8f03f8ba3d34ce7fd5d59f Mon Sep 17 00:00:00 2001 From: Sung-jae Park Date: Mon, 29 Apr 2013 12:46:22 +0900 Subject: [PATCH] Update period compensation timer. Change-Id: Ib865724b443694a8a66d042ab45f7c00638b221c --- src/util.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/src/util.c b/src/util.c index bb185ea..9146ed1 100644 --- a/src/util.c +++ b/src/util.c @@ -351,8 +351,6 @@ HAPI double util_time_delay_for_compensation(double period) unsigned long long curtime; unsigned long long _period; unsigned long long remain; - unsigned int sec; - unsigned int usec; double ret; if (period == 0.0f) { @@ -366,22 +364,16 @@ HAPI double util_time_delay_for_compensation(double period) } curtime = (unsigned long long)tv.tv_sec * 1000000llu + (unsigned long long)tv.tv_usec; - - sec = (unsigned int)period; - usec = (period - sec) * 1000000; - - _period = (unsigned long long)sec * 1000000llu + usec; - if (_period == 0) { - DbgPrint("_period is ZERO\n"); + _period = (unsigned long long)(period * (double)1000000); + if (_period == 0llu) { + ErrPrint("%lf <> %llu\n", period, _period); return period; } remain = curtime % _period; - sec = (unsigned int)(remain / 1000000llu); - usec = (unsigned int)(remain % 1000000llu); - - ret = (double)sec + (double)usec / 1000000.0f; + ret = (double)remain / (double)1000000; + DbgPrint("curtime: %llu, _period: %llu, remain: %llu, ret: %lf, result: %lf\n", curtime, _period, remain, ret, period - ret); return period - ret; } -- 2.7.4