Move is->frame_timer init from start to flush_pkt handling so it is also

done on seeking. This fixes the bug where after reaching the end and waiting
a few seconds seeking back to the begin messes up AV sync and playback speed.

Originally committed as revision 21629 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2010-02-03 21:33:31 +00:00
parent cedac88250
commit b25453bdfc

View File

@ -1369,6 +1369,7 @@ static int video_thread(void *arg)
is->last_pts_for_fault_detection= INT64_MIN;
is->frame_last_pts= AV_NOPTS_VALUE;
is->frame_last_delay = 0;
is->frame_timer = (double)av_gettime() / 1000000.0;
continue;
}
@ -1820,7 +1821,6 @@ static int stream_component_open(VideoState *is, int stream_index)
is->video_stream = stream_index;
is->video_st = ic->streams[stream_index];
is->frame_timer = (double)av_gettime() / 1000000.0;
// is->video_current_pts_time = av_gettime();
packet_queue_init(&is->videoq);