summaryrefslogtreecommitdiffstats
path: root/osdep/timer-darwin.c
diff options
context:
space:
mode:
authorulion <ulion@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-10-23 00:06:08 +0000
committerulion <ulion@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-10-23 00:06:08 +0000
commitbddc41ec4023bc57b09fe4293a36adb4a1f5c8c1 (patch)
tree6167f3dbdbff2b95ed78ddb2b79aa804f3f46b81 /osdep/timer-darwin.c
parent3cb11cbe20415487d1874dcac996cef757fd41b2 (diff)
downloadmpv-bddc41ec4023bc57b09fe4293a36adb4a1f5c8c1.tar.bz2
mpv-bddc41ec4023bc57b09fe4293a36adb4a1f5c8c1.tar.xz
Fix GetTimerMS() discontinuous return value bug caused by GetTimer() overflow
on darwin. This bug will cause osd stuck on darwin. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24843 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'osdep/timer-darwin.c')
-rw-r--r--osdep/timer-darwin.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/osdep/timer-darwin.c b/osdep/timer-darwin.c
index c0fd20c041..9c5a2d6893 100644
--- a/osdep/timer-darwin.c
+++ b/osdep/timer-darwin.c
@@ -61,7 +61,8 @@ unsigned int GetTimer()
/* current time in milliseconds */
unsigned int GetTimerMS()
{
- return (unsigned int)(GetTimer() / 1000);
+ return (unsigned int)((mach_absolute_time() * timebase_ratio - startup_time)
+ * 1e3);
}
/* time spent between now and last call in seconds */