summaryrefslogtreecommitdiffstats
path: root/osdep/timer-darwin.c
diff options
context:
space:
mode:
authorUoti Urpala <uau@symbol.nonexistent.invalid>2008-04-28 12:09:31 +0300
committerUoti Urpala <uau@symbol.nonexistent.invalid>2008-04-28 12:18:45 +0300
commiteaf7857b7f7ae6b05ce9d129157e0ff33ed2081b (patch)
tree17005cd968a137ae8902e408e454cfd32fc033ec /osdep/timer-darwin.c
parentc693b77e935e7e34e21bafed2df0ff891d0e25ac (diff)
downloadmpv-eaf7857b7f7ae6b05ce9d129157e0ff33ed2081b.tar.bz2
mpv-eaf7857b7f7ae6b05ce9d129157e0ff33ed2081b.tar.xz
timers: Remove GetRelativeTime()
Move the code calculating time delta since last query out of the platform-specific drivers and into mplayer.c. The platform-specific drivers now return absolute values only. The way the code in timer-darwin.c uses doubles in wrapping arithmetic looks questionable and this change might make problems in it more visible.
Diffstat (limited to 'osdep/timer-darwin.c')
-rw-r--r--osdep/timer-darwin.c21
1 files changed, 2 insertions, 19 deletions
diff --git a/osdep/timer-darwin.c b/osdep/timer-darwin.c
index 38de7dea9d..e087b33f12 100644
--- a/osdep/timer-darwin.c
+++ b/osdep/timer-darwin.c
@@ -27,7 +27,6 @@
#include "timer.h"
/* global variables */
-static double relative_time, startup_time;
static double timebase_ratio;
const char timer_name[] = "Darwin accurate";
@@ -54,30 +53,17 @@ int usec_sleep(int usec_delay)
/* current time in microseconds */
unsigned int GetTimer()
{
- return (unsigned int)((mach_absolute_time() * timebase_ratio - startup_time)
+ return (unsigned int)((mach_absolute_time() * timebase_ratio)
* 1e6);
}
/* current time in milliseconds */
unsigned int GetTimerMS()
{
- return (unsigned int)((mach_absolute_time() * timebase_ratio - startup_time)
+ return (unsigned int)((mach_absolute_time() * timebase_ratio)
* 1e3);
}
-/* time spent between now and last call in seconds */
-float GetRelativeTime()
-{
- double last_time = relative_time;
-
- if (!relative_time)
- InitTimer();
-
- relative_time = mach_absolute_time() * timebase_ratio;
-
- return (float)(relative_time-last_time);
-}
-
/* initialize timer, must be called at least once at start */
void InitTimer()
{
@@ -86,9 +72,6 @@ void InitTimer()
mach_timebase_info(&timebase);
timebase_ratio = (double)timebase.numer / (double)timebase.denom
* (double)1e-9;
-
- relative_time = startup_time =
- (double)(mach_absolute_time() * timebase_ratio);
}
#if 0