# HG changeset patch # User corey # Date 1145291502 0 # Node ID 7fde1f1cc648b582ca009a706c7bfb274e49d052 # Parent a1006db4fe4316dbc5c436af7513074c31495f7d Include buffered decoded audio in A-V sync calculations. Patch by Uoti Urpala, uoti<>urpala<>pp1<>inet<>fi diff -r a1006db4fe43 -r 7fde1f1cc648 mplayer.c --- a/mplayer.c Mon Apr 17 13:47:57 2006 +0000 +++ b/mplayer.c Mon Apr 17 16:31:42 2006 +0000 @@ -3494,8 +3494,7 @@ if(playsize>0){ sh_audio->a_out_buffer_len-=playsize; memmove(sh_audio->a_out_buffer,&sh_audio->a_out_buffer[playsize],sh_audio->a_out_buffer_len); - sh_audio->delay+=playback_speed*playsize/((float)((ao_data.bps && sh_audio->afilter) ? - ao_data.bps : sh_audio->o_bps)); + sh_audio->delay+=playback_speed*playsize/(float)ao_data.bps; } break; @@ -3798,7 +3797,7 @@ -sh_audio->a_in_buffer_len/(float)sh_audio->i_bps, a_pts+(ds_tell_pts(d_audio)-sh_audio->a_in_buffer_len)/(float)sh_audio->i_bps); #endif - a_pts+=(ds_tell_pts(d_audio)-sh_audio->a_in_buffer_len)/(float)sh_audio->i_bps; + a_pts+=(ds_tell_pts(d_audio)-sh_audio->a_in_buffer_len)/(float)sh_audio->i_bps - sh_audio->a_out_buffer_len*playback_speed/(float)ao_data.bps; } v_pts=sh_video ? sh_video->pts : d_video->pts;