Mercurial > mplayer.hg
changeset 18129:7fde1f1cc648
Include buffered decoded audio in A-V sync calculations.
Patch by Uoti Urpala, uoti<<dot>>urpala<<at>>pp1<<dot>>inet<<dot>>fi
author | corey |
---|---|
date | Mon, 17 Apr 2006 16:31:42 +0000 |
parents | a1006db4fe43 |
children | eadedbf1fc49 |
files | mplayer.c |
diffstat | 1 files changed, 2 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- 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;