From 87fe226acbf8b02d99260e5fb3844fbc223b9dab Mon Sep 17 00:00:00 2001 From: reimar Date: Fri, 14 Apr 2006 10:57:41 +0000 Subject: fix A-V sync overcorrection for desync due to too slow hardware. Patch by Uoti Urpala ( uoti urpala at pp1 inet fi ) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18089 b3059339-0415-0410-9bf9-f77b7e298cf2 --- mplayer.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mplayer.c b/mplayer.c index 7dd45902fe..23a9e7372c 100644 --- a/mplayer.c +++ b/mplayer.c @@ -3809,7 +3809,13 @@ if(time_frame>0.001 && !(vo_flags&256)){ ++drop_message; mp_msg(MSGT_AVSYNC,MSGL_WARN,MSGTR_SystemTooSlow); } - x=AV_delay*0.1f; + if (autosync) + x = AV_delay*0.1f; + else + /* Do not correct target time for the next frame if this frame + * was late not because of wrong target time but because the + * target time could not be met */ + x = (AV_delay + time_frame * playback_speed) * 0.1f; if(x<-max_pts_correction) x=-max_pts_correction; else if(x> max_pts_correction) x= max_pts_correction; if(default_max_pts_correction>=0) -- cgit v1.2.3