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

Reply via email to