From: Rémi Bernon rbernon@codeweavers.com
--- dlls/mfplat/main.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/dlls/mfplat/main.c b/dlls/mfplat/main.c index 7027b4f9516..8aaf9f93cdc 100644 --- a/dlls/mfplat/main.c +++ b/dlls/mfplat/main.c @@ -974,11 +974,14 @@ HRESULT WINAPI MFTUnregisterLocal(IClassFactory *factory)
MFTIME WINAPI MFGetSystemTime(void) { - MFTIME mf; + static LARGE_INTEGER frequency; + LARGE_INTEGER counter;
- GetSystemTimeAsFileTime( (FILETIME*)&mf ); + if (!frequency.QuadPart) + QueryPerformanceFrequency(&frequency); + QueryPerformanceCounter(&counter);
- return mf; + return counter.QuadPart * 10000000 / frequency.QuadPart; }
static BOOL mft_is_type_info_match(struct mft_registration *mft, const GUID *category, UINT32 flags,