diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2010-02-01 10:32:17 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2010-02-01 10:32:17 +0000 |
commit | f5668147cb39a67f8c3f97df5993aaf7653c0f62 (patch) | |
tree | c368aa0bf66d36ca1e4904ee4fbb36ad49df6e32 /ffplay.c | |
parent | 8e14fbe89bf1903b2df37399d961dad5458288a1 (diff) | |
download | ffmpeg-f5668147cb39a67f8c3f97df5993aaf7653c0f62.tar.gz |
Try to more completely update time variables on unpause.
Could not notice a differenc in behavior.
Originally committed as revision 21584 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'ffplay.c')
-rw-r--r-- | ffplay.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -115,6 +115,7 @@ typedef struct VideoState { int seek_flags; int64_t seek_pos; int64_t seek_rel; + int read_pause_return; AVFormatContext *ic; int dtg_active_format; @@ -991,8 +992,12 @@ static void stream_pause(VideoState *is) { is->paused = !is->paused; if (!is->paused) { - is->video_current_pts = get_video_clock(is); + if(is->read_pause_return != AVERROR(ENOSYS)){ + is->video_current_pts = get_video_clock(is); + } + is->frame_timer += (av_gettime() - is->video_current_pts_time) / 1000000.0; + is->video_current_pts_time= av_gettime(); } } @@ -2007,7 +2012,7 @@ static int decode_thread(void *arg) if (is->paused != is->last_paused) { is->last_paused = is->paused; if (is->paused) - av_read_pause(ic); + is->read_pause_return= av_read_pause(ic); else av_read_play(ic); } |