mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
av_gettime: support Win32 without gettimeofday()
Based on patch by Ronald S. Bultje. Signed-off-by: Mans Rullgard <mans@mansr.com>
This commit is contained in:
parent
980f81d961
commit
61183b5ab4
4
configure
vendored
4
configure
vendored
@ -1084,7 +1084,9 @@ HAVE_LIST="
|
||||
GetProcessAffinityMask
|
||||
GetProcessMemoryInfo
|
||||
GetProcessTimes
|
||||
GetSystemTimeAsFileTime
|
||||
getrusage
|
||||
gettimeofday
|
||||
gnu_as
|
||||
ibm_asm
|
||||
inet_aton
|
||||
@ -2832,6 +2834,7 @@ check_func getaddrinfo $network_extralibs
|
||||
check_func gethrtime
|
||||
check_func getrusage
|
||||
check_struct "sys/time.h sys/resource.h" "struct rusage" ru_maxrss
|
||||
check_func gettimeofday
|
||||
check_func inet_aton $network_extralibs
|
||||
check_func isatty
|
||||
check_func localtime_r
|
||||
@ -2851,6 +2854,7 @@ check_func_headers io.h setmode
|
||||
check_lib2 "windows.h psapi.h" GetProcessMemoryInfo -lpsapi
|
||||
check_func_headers windows.h GetProcessAffinityMask
|
||||
check_func_headers windows.h GetProcessTimes
|
||||
check_func_headers windows.h GetSystemTimeAsFileTime
|
||||
check_func_headers windows.h MapViewOfFile
|
||||
check_func_headers windows.h VirtualAlloc
|
||||
|
||||
|
@ -16,15 +16,31 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#if HAVE_GETTIMEOFDAY
|
||||
#include <sys/time.h>
|
||||
#elif HAVE_GETSYSTEMTIMEASFILETIME
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#include "libavutil/time.h"
|
||||
|
||||
int64_t av_gettime(void)
|
||||
{
|
||||
#if HAVE_GETTIMEOFDAY
|
||||
struct timeval tv;
|
||||
gettimeofday(&tv, NULL);
|
||||
return (int64_t)tv.tv_sec * 1000000 + tv.tv_usec;
|
||||
#elif HAVE_GETSYSTEMTIMEASFILETIME
|
||||
FILETIME ft;
|
||||
int64_t t;
|
||||
GetSystemTimeAsFileTime(&ft);
|
||||
t = (int64_t)ft.dwHighDateTime << 32 | ft.dwLowDateTime;
|
||||
return t / 10 - 11644473600000000; /* Jan 1, 1601 */
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user