From 0a150670476bc8c38df7add4c59826bff73c204e Mon Sep 17 00:00:00 2001 From: Olivier Langlois Date: Mon, 12 May 2014 16:26:36 -0400 Subject: 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 Reviewed-by: Nicolas George Signed-off-by: Michael Niedermayer --- libavdevice/v4l2.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'libavdevice') diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c index 4b3f6a8c73..bbd4892cde 100644 --- a/libavdevice/v4l2.c +++ b/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 -- cgit v1.2.3