diff options
author | Marton Balint <[email protected]> | 2012-11-23 00:23:11 +0100 |
---|---|---|
committer | Marton Balint <[email protected]> | 2012-11-28 21:39:50 +0100 |
commit | 2efd01a32f0cc7849794f7a866fddf3991b5f5ce (patch) | |
tree | 4c965a2419721cc0774cb02af863efbd04413d76 | |
parent | fc38bbcd6ab3cbb137ba64d3ec0c560d63b194cf (diff) |
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 <[email protected]>
-rw-r--r-- | ffplay.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -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; } |