Le dimanche 24 août 2014, 18:14:47 Luca Barbato a écrit :
> ---
>
> Since Kieran pointed it.
>
> configure | 4 ++++
> libavutil/time.c | 10 ++++++++--
> 2 files changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/configure b/configure
> index 60aa3ca..17b57c7 100755
> --- a/configure
> +++ b/configure
> @@ -1435,6 +1435,7 @@ MATH_FUNCS="
>
> SYSTEM_FUNCS="
> aligned_malloc
> + clock_gettime
> closesocket
> CommandLineToArgvW
> CoTaskMemFree
> @@ -4042,6 +4043,9 @@ check_func_headers malloc.h _aligned_malloc &&
> enable aligned_malloc check_func ${malloc_prefix}memalign &&
> enable memalign check_func ${malloc_prefix}posix_memalign && enable
> posix_memalign
>
> +check_cpp_condition unistd.h "defined(_POSIX_MONOTONIC_CLOCK)" &&
> + check_func_headers time.h clock_gettime || { check_func_headers time.h
> clock_gettime -lrt && add_extralibs -lrt; } +
> check_func fcntl
> check_func fork
> check_func gethrtime
> diff --git a/libavutil/time.c b/libavutil/time.c
> index 62cd445..0da895a 100644
> --- a/libavutil/time.c
> +++ b/libavutil/time.c
> @@ -21,7 +21,9 @@
> #include <stddef.h>
> #include <stdint.h>
> #include <time.h>
> -#if HAVE_GETTIMEOFDAY
> +#if HAVE_CLOCK_GETTIME
> +#include <time.h>
> +#elif HAVE_GETTIMEOFDAY
> #include <sys/time.h>
> #endif
> #if HAVE_UNISTD_H
> @@ -36,7 +38,11 @@
>
> int64_t av_gettime(void)
> {
> -#if HAVE_GETTIMEOFDAY
> +#if HAVE_CLOCK_GETTIME
> + struct timespec ts;
> + clock_gettime(CLOCK_MONOTONIC, &ts);
> + return (int64_t)ts.tv_sec * 100000 + ts.tv_nsec * 1000;
clock_gettime() does not imply CLOCK_MONOTONIC; it's the other way.
> +#elif HAVE_GETTIMEOFDAY
> struct timeval tv;
> gettimeofday(&tv, NULL);
> return (int64_t)tv.tv_sec * 1000000 + tv.tv_usec;
> --
> 1.8.5.1
>
> _______________________________________________
> libav-devel mailing list
> [email protected]
> https://lists.libav.org/mailman/listinfo/libav-devel
--
Rémi Denis-Courmont
http://www.remlab.net/
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel