[FFmpeg-devel] [PATCH 2/3] ffplay: fix updating external clock after seeking

Marton Balint cus at passwd.hu
Sun Nov 25 20:01:22 CET 2012


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>
---
 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;
         }
-- 
1.7.10.4



More information about the ffmpeg-devel mailing list