From: Rémi Bernon <rbernon(a)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, -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/3140