lavd: Use av_gettime_relative()

Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Since v4l2 is compiled only on Linux where av_gettime_relative()
is monotonic, a small wrapper function av_gettime_monotonic() is used
(should be inlined the compiler) to put emphasis on that fact.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/68/head
Olivier Langlois 11 years ago committed by Michael Niedermayer
parent 6e8fe44815
commit 0a15067047
  1. 5
      libavdevice/v4l2.c

@ -427,10 +427,7 @@ static void mmap_release_buffer(void *opaque, uint8_t *data)
#if HAVE_CLOCK_GETTIME && defined(CLOCK_MONOTONIC)
static int64_t av_gettime_monotonic(void)
{
struct timespec tv;
clock_gettime(CLOCK_MONOTONIC, &tv);
return (int64_t)tv.tv_sec * 1000000 + tv.tv_nsec / 1000;
return av_gettime_relative();
}
#endif

Loading…
Cancel
Save