wine-staging/patches/mfplat-MFGetSystemTime/0001-mfplat-Implement-MFGetSystemTime.patch

70 lines
2.1 KiB
Diff
Raw Normal View History

2018-12-16 16:36:45 -08:00
From 544deb6c0d9ae04d3b82d241f7ffe6a21fa3835f Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Mon, 17 Dec 2018 11:21:48 +1100
Subject: [PATCH] mfplat: Implement MFGetSystemTime
Wine-bug: https://bugs.winehq.org/show_bug.cgi?id=46300
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
dlls/mfplat/main.c | 17 +++++++++++++++++
dlls/mfplat/mfplat.spec | 2 +-
include/mfidl.idl | 1 +
3 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/dlls/mfplat/main.c b/dlls/mfplat/main.c
index c7c3465..1e8e2ea 100644
--- a/dlls/mfplat/main.c
+++ b/dlls/mfplat/main.c
@@ -248,6 +248,23 @@ HRESULT WINAPI MFTUnregisterLocal(IClassFactory *factory)
return S_OK;
}
+MFTIME WINAPI MFGetSystemTime()
+{
+ SYSTEMTIME st;
+ FILETIME ft;
+ MFTIME mf;
+
+ TRACE("()\n");
+
+ GetSystemTime(&st);
+
+ SystemTimeToFileTime(&st, &ft);
+
+ memcpy(&mf, &ft, sizeof(FILETIME));
+
+ return mf;
+}
+
static BOOL match_type(const WCHAR *clsid_str, const WCHAR *type_str, MFT_REGISTER_TYPE_INFO *type)
{
HKEY htransform, hfilter;
diff --git a/dlls/mfplat/mfplat.spec b/dlls/mfplat/mfplat.spec
index c828aea..349b926 100644
--- a/dlls/mfplat/mfplat.spec
+++ b/dlls/mfplat/mfplat.spec
@@ -98,7 +98,7 @@
@ stub MFGetPrivateWorkqueues
@ stub MFGetSockaddrFromNumericName
@ stub MFGetStrideForBitmapInfoHeader
-@ stub MFGetSystemTime
+@ stdcall MFGetSystemTime()
@ stub MFGetTimerPeriodicity
@ stub MFGetUncompressedVideoFormat
@ stub MFGetWorkQueueMMCSSClass
diff --git a/include/mfidl.idl b/include/mfidl.idl
index 2373e41..2fdb288 100644
--- a/include/mfidl.idl
+++ b/include/mfidl.idl
@@ -313,6 +313,7 @@ cpp_quote(" IMFMediaType **types, IMFStreamDescriptor **descriptor);")
cpp_quote("HRESULT WINAPI MFCreateTopology(IMFTopology **topology);")
cpp_quote("HRESULT WINAPI MFGetSupportedMimeTypes(PROPVARIANT *array);")
cpp_quote("HRESULT WINAPI MFGetService(IUnknown *object, REFGUID service, REFIID iid, void **obj);")
+cpp_quote("MFTIME WINAPI MFGetSystemTime(void);")
[
object,
--
1.9.1