[FFmpeg-cvslog] ffplay: fix updating external clock after seeking
Marton Balint
git at videolan.org
Thu Nov 29 03:25:44 CET 2012
ffmpeg | branch: master | Marton Balint <cus at passwd.hu> | Fri Nov 23 00:23:11 2012 +0100| [2efd01a32f0cc7849794f7a866fddf3991b5f5ce] | committer: Marton Balint
ffplay: fix updating external clock after seeking
Now it should work for the timestamp based and the byte based case as well.
Also only update the external clock if the seeking was successful.
Signed-off-by: Marton Balint <cus at passwd.hu>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2efd01a32f0cc7849794f7a866fddf3991b5f5ce
---
ffplay.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/ffplay.c b/ffplay.c
index c5ad70f..a3bda0e 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -2669,8 +2669,13 @@ static int read_thread(void *arg)
packet_queue_flush(&is->videoq);
packet_queue_put(&is->videoq, &flush_pkt);
}
+ if (is->seek_flags & AVSEEK_FLAG_BYTE) {
+ //FIXME: use a cleaner way to signal obsolete external clock...
+ update_external_clock_pts(is, (double)AV_NOPTS_VALUE);
+ } else {
+ update_external_clock_pts(is, seek_target / (double)AV_TIME_BASE);
+ }
}
- update_external_clock_pts(is, (seek_target + ic->start_time) / (double)AV_TIME_BASE);
is->seek_req = 0;
eof = 0;
}
More information about the ffmpeg-cvslog
mailing list