X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmisc%2Fmtime.c;h=79a0331c4f9259757cb0e16e8202190c40a59d2c;hb=4f551c2bf0d189405e96cbbb8234ed3edd9d6d3e;hp=5a0cef1ab3d4265d13b7c66b37387360cf911daf;hpb=9cb93a18fa89fd4a9f046d3cce3fd8f765c3c2bc;p=vlc diff --git a/src/misc/mtime.c b/src/misc/mtime.c index 5a0cef1ab3..79a0331c4f 100644 --- a/src/misc/mtime.c +++ b/src/misc/mtime.c @@ -3,8 +3,9 @@ * Functions are prototyped in mtime.h. ***************************************************************************** * Copyright (C) 1998, 1999, 2000 VideoLAN + * $Id: mtime.c,v 1.16 2001/03/21 13:42:34 sam Exp $ * - * Authors: + * Authors: Vincent Seguin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -94,7 +95,7 @@ mtime_t mdate( void ) void mwait( mtime_t date ) { #ifdef HAVE_KERNEL_OS_H - + mtime_t delay; delay = date - real_time_clock_usecs(); @@ -118,7 +119,9 @@ void mwait( mtime_t date ) gettimeofday( &tv_date, NULL ); /* calculate delay and check if current date is before wished date */ - delay = date - (mtime_t) tv_date.tv_sec * 1000000 - (mtime_t) tv_date.tv_usec; + delay = date - (mtime_t) tv_date.tv_sec * 1000000 - (mtime_t) tv_date.tv_usec - 10000; + /* Linux/i386 has a granularity of 10 ms. It's better to be in advance + * than to be late. */ if( delay <= 0 ) /* wished date is now or already passed */ { return;