Mercurial > mplayer.hg
diff mplayer.c @ 1466:7845f6d7c4ba
format-specific seeking code moved to demuxer_ stuff
author | arpi |
---|---|
date | Wed, 08 Aug 2001 19:37:45 +0000 |
parents | a776747517c0 |
children | f352e1e951ba |
line wrap: on
line diff
--- a/mplayer.c Wed Aug 08 19:36:54 2001 +0000 +++ b/mplayer.c Wed Aug 08 19:37:45 2001 +0000 @@ -1145,13 +1145,13 @@ float x=(float)(sh_audio->audio.dwInitialFrames-sh_video->video.dwInitialFrames)*sh_video->frametime; // audio_delay-=x; if(verbose) printf("AVI Initial frame delay: %5.3f\n",x); + delay_corrected=0; // has to correct PTS diffs } if(verbose){ // printf("v: audio_delay=%5.3f buffer_delay=%5.3f a_pts=%5.3f sh_audio->timer=%5.3f\n", // audio_delay,audio_buffer_delay,a_pts,sh_audio->timer); printf("START: a_pts=%5.3f v_pts=%5.3f \n",d_audio->pts,d_video->pts); } - delay_corrected=0; // has to correct PTS diffs d_video->pts=0;d_audio->pts=0; // PTS is outdated now! } else { pts_from_bps=0; // it must be 0 for mpeg/asf ! @@ -1439,7 +1439,7 @@ // PTS = (audio position)/(bytes per sec) // a_pts=(ds_tell(d_audio)-sh_audio->a_in_buffer_len)/(float)sh_audio->i_bps; a_pts=(ds_tell(d_audio)-sh_audio->a_in_buffer_len)/(float)sh_audio->wf->nAvgBytesPerSec; - delay_corrected=1; // hack +// delay_corrected=1; // hack v_pts=d_video->pack_no*(float)sh_video->video.dwScale/(float)sh_video->video.dwRate; if(verbose)printf("%5.3f|",v_pts-d_video->pts); } else { @@ -1759,7 +1759,8 @@ seek_to_sec = NULL; } - if(rel_seek_secs) +if(rel_seek_secs){ + current_module="seek"; if(demux_seek(demuxer,rel_seek_secs,0)){ // success: @@ -1776,9 +1777,8 @@ fflush(stdout); if(sh_audio){ - current_module="audio_reset"; + current_module="seek_audio_reset"; audio_out->reset(); // stop audio, throwing away buffered data - current_module=NULL; } #ifdef USE_OSD @@ -1801,7 +1801,9 @@ } rel_seek_secs=0; - + current_module=NULL; +} + //================= Update OSD ==================== #ifdef USE_OSD if(osd_level>=2){