100000l to me

fixdelay() pre-read a frame to make pts sane, and then called slowseek(),
which AGAIN read another frame, and then tries to decode it (which breaks
as all frames should be read)


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16709 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
ods15 2005-10-08 17:21:00 +00:00
parent e4c85b0f52
commit fa70ed4a03
1 changed files with 6 additions and 3 deletions

View File

@ -1690,9 +1690,12 @@ static int slowseek(float end_pts, demux_stream_t *d_video, demux_stream_t *d_au
while (!interrupted) {
float a_pts = 0.;
frame_data->in_size = video_read_frame(sh_video, &frame_data->frame_time, &frame_data->start, force_fps);
if(frame_data->in_size<0) return 2;
sh_video->timer += frame_data->frame_time;
if (!frame_data->already_read) { // when called after fixdelay, a frame is already read
frame_data->in_size = video_read_frame(sh_video, &frame_data->frame_time, &frame_data->start, force_fps);
if(frame_data->in_size<0) return 2;
sh_video->timer += frame_data->frame_time;
}
frame_data->already_read = 0;
a_pts = forward_audio(sh_video->pts - frame_data->frame_time + audio_delay, d_audio, mux_a);