mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Check for GetProcessTimes and use it in getutime
Originally committed as revision 9629 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
7829950cf2
commit
7495c3066d
2
configure
vendored
2
configure
vendored
@ -667,6 +667,7 @@ HAVE_LIST="
|
|||||||
fast_unaligned
|
fast_unaligned
|
||||||
fork
|
fork
|
||||||
freetype2
|
freetype2
|
||||||
|
GetProcessTimes
|
||||||
getrusage
|
getrusage
|
||||||
imlib2
|
imlib2
|
||||||
inet_aton
|
inet_aton
|
||||||
@ -1598,6 +1599,7 @@ elif check_func dlopen -ldl; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
check_func getrusage
|
check_func getrusage
|
||||||
|
check_func2 windows.h GetProcessTimes
|
||||||
|
|
||||||
check_func fork
|
check_func fork
|
||||||
|
|
||||||
|
12
ffmpeg.c
12
ffmpeg.c
@ -34,6 +34,10 @@
|
|||||||
#include "fifo.h"
|
#include "fifo.h"
|
||||||
#include "avstring.h"
|
#include "avstring.h"
|
||||||
|
|
||||||
|
#if !defined(HAVE_GETRUSAGE) && defined(HAVE_GETPROCESSTIMES)
|
||||||
|
#include <windows.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(HAVE_TERMIOS_H)
|
#if defined(HAVE_TERMIOS_H)
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
@ -3112,7 +3116,13 @@ static int64_t getutime(void)
|
|||||||
|
|
||||||
getrusage(RUSAGE_SELF, &rusage);
|
getrusage(RUSAGE_SELF, &rusage);
|
||||||
return (rusage.ru_utime.tv_sec * 1000000LL) + rusage.ru_utime.tv_usec;
|
return (rusage.ru_utime.tv_sec * 1000000LL) + rusage.ru_utime.tv_usec;
|
||||||
#elif defined(__MINGW32__)
|
#elif defined(HAVE_GETPROCESSTIMES)
|
||||||
|
HANDLE proc;
|
||||||
|
FILETIME c, e, k, u;
|
||||||
|
proc = GetCurrentProcess();
|
||||||
|
GetProcessTimes(proc, &c, &e, &k, &u);
|
||||||
|
return ((int64_t) u.dwHighDateTime << 32 | u.dwLowDateTime) / 10;
|
||||||
|
#else
|
||||||
return av_gettime();
|
return av_gettime();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user