From daece4c6745b42e8b1e171fb4bf485d5d64fc53f Mon Sep 17 00:00:00 2001 From: Marton Balint Date: Fri, 22 Feb 2013 18:18:00 +0100 Subject: ffplay: use NAN to signal invalid external clock Signed-off-by: Marton Balint --- ffplay.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'ffplay.c') diff --git a/ffplay.c b/ffplay.c index ad3e36cb06..e0b113c9db 100644 --- a/ffplay.c +++ b/ffplay.c @@ -1156,7 +1156,8 @@ static void update_external_clock_pts(VideoState *is, double pts) } static void check_external_clock_sync(VideoState *is, double pts) { - if (fabs(get_external_clock(is) - pts) > AV_NOSYNC_THRESHOLD) { + double ext_clock = get_external_clock(is); + if (isnan(ext_clock) || fabs(ext_clock - pts) > AV_NOSYNC_THRESHOLD) { update_external_clock_pts(is, pts); } } @@ -2717,8 +2718,7 @@ static int read_thread(void *arg) 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); + update_external_clock_pts(is, NAN); } else { update_external_clock_pts(is, seek_target / (double)AV_TIME_BASE); } @@ -2854,8 +2854,7 @@ static VideoState *stream_open(const char *filename, AVInputFormat *iformat) is->continue_read_thread = SDL_CreateCond(); - //FIXME: use a cleaner way to signal obsolete external clock... - update_external_clock_pts(is, (double)AV_NOPTS_VALUE); + update_external_clock_pts(is, NAN); update_external_clock_speed(is, 1.0); is->audio_current_pts_drift = -av_gettime() / 1000000.0; is->video_current_pts_drift = is->audio_current_pts_drift; -- cgit v1.2.3