summaryrefslogtreecommitdiffstats
path: root/mplayer.c
diff options
context:
space:
mode:
authorrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-04-24 10:26:19 +0000
committerrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-04-24 10:26:19 +0000
commit1d6269556282d2fa67c41ed81b6c8102c5df66f5 (patch)
tree3678757877600917a6034d7ec9384834c7f71c53 /mplayer.c
parent2fe6f2eefedcff3a2db147df1601af2744591313 (diff)
downloadmpv-1d6269556282d2fa67c41ed81b6c8102c5df66f5.tar.bz2
mpv-1d6269556282d2fa67c41ed81b6c8102c5df66f5.tar.xz
1 - Remove kernel HZ=100 assumptions that are no longer true from
timing. Patch by Uoti Urpala git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18241 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mplayer.c')
-rw-r--r--mplayer.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/mplayer.c b/mplayer.c
index 1b0c596441..ea1999bb63 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -3789,15 +3789,14 @@ if(time_frame>0.001 && !(vo_flags&256)){
#else
{
// -------- TIMER + SOFTSLEEP -----------
- float min=softsleep?0.021:0.005;
+ // assume kernel HZ=100 for softsleep, works with larger HZ but with
+ // unnecessarily high CPU usage
+ float margin = softsleep ? 0.011 : 0;
current_module="sleep_timer";
- while(time_frame>min){
- if(time_frame<=0.020)
- usec_sleep(0); // sleeps 1 clock tick (10ms)!
- else
- usec_sleep(1000000*(time_frame-0.020));
- time_frame-=GetRelativeTime();
- }
+ while (time_frame > margin) {
+ usec_sleep(1000000 * (time_frame - margin));
+ time_frame -= GetRelativeTime();
+ }
if(softsleep){
current_module="sleep_soft";
if(time_frame<0) mp_msg(MSGT_AVSYNC, MSGL_WARN, MSGTR_SoftsleepUnderflow);