Added mfplat-MFTRegisterLocal patchset

This commit is contained in:
Alistair Leslie-Hughes 2018-08-27 09:22:23 +10:00
parent 7a9913e0a9
commit a6eddc4c25
4 changed files with 145 additions and 0 deletions

View File

@ -0,0 +1,64 @@
From 1756ba1db0f6ad6f473107f8cb258d6ba6eedcbb Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Thu, 23 Aug 2018 15:27:51 +1000
Subject: [PATCH 1/2] mfplat: Add MFTRegisterLocal stub
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45622
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
dlls/mfplat/main.c | 10 ++++++++++
dlls/mfplat/mfplat.spec | 2 +-
include/mfapi.h | 3 +++
3 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/dlls/mfplat/main.c b/dlls/mfplat/main.c
index df61f3c..c5c8ad8 100644
--- a/dlls/mfplat/main.c
+++ b/dlls/mfplat/main.c
@@ -230,6 +230,16 @@ HRESULT WINAPI MFTRegister(CLSID clsid, GUID category, LPWSTR name, UINT32 flags
return hr;
}
+HRESULT WINAPI MFTRegisterLocal(IClassFactory *factory, REFGUID category, LPCWSTR name,
+ UINT32 flags, UINT32 cinput, const MFT_REGISTER_TYPE_INFO *input_types,
+ UINT32 coutput, const MFT_REGISTER_TYPE_INFO* output_types)
+{
+ FIXME("(%p, %s, %s, %x, %u, %p, %u, %p)\n", factory, debugstr_guid(category), debugstr_w(name),
+ flags, cinput, input_types, coutput, output_types);
+
+ return S_OK;
+}
+
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 a66f4d1..c143814 100644
--- a/dlls/mfplat/mfplat.spec
+++ b/dlls/mfplat/mfplat.spec
@@ -138,7 +138,7 @@
@ stdcall MFTEnumEx(int128 long ptr ptr ptr ptr)
@ stub MFTGetInfo
@ stdcall MFTRegister(int128 int128 wstr long long ptr long ptr ptr)
-@ stub MFTRegisterLocal
+@ stub MFTRegisterLocal(ptr ptr wstr long long ptr long ptr)
@ stub MFTRegisterLocalByCLSID
@ stdcall MFTUnregister(int128)
@ stub MFTUnregisterLocal
diff --git a/include/mfapi.h b/include/mfapi.h
index 5aead1e..f889840 100644
--- a/include/mfapi.h
+++ b/include/mfapi.h
@@ -78,6 +78,9 @@ HRESULT WINAPI MFLockPlatform(void);
HRESULT WINAPI MFTRegister(CLSID clsid, GUID category, LPWSTR name, UINT32 flags, UINT32 cinput,
MFT_REGISTER_TYPE_INFO *input_types, UINT32 coutput,
MFT_REGISTER_TYPE_INFO *output_types, IMFAttributes *attributes);
+HRESULT WINAPI MFTRegisterLocal(IClassFactory *factory, REFGUID category, LPCWSTR name,
+ UINT32 flags, UINT32 cinput, const MFT_REGISTER_TYPE_INFO *input_types,
+ UINT32 coutput, const MFT_REGISTER_TYPE_INFO* output_types);
HRESULT WINAPI MFShutdown(void);
HRESULT WINAPI MFStartup(ULONG version, DWORD flags);
HRESULT WINAPI MFUnlockPlatform(void);
--
1.9.1

View File

@ -0,0 +1,58 @@
From 07b9d77b6b374fcf777c53dca09efe5c2cb5beda Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Fri, 24 Aug 2018 09:34:24 +1000
Subject: [PATCH 2/2] mfplat: Add MFTUnregisterLocal stub
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
dlls/mfplat/main.c | 7 +++++++
dlls/mfplat/mfplat.spec | 2 +-
include/mfapi.h | 1 +
3 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/dlls/mfplat/main.c b/dlls/mfplat/main.c
index c5c8ad8..56f844f 100644
--- a/dlls/mfplat/main.c
+++ b/dlls/mfplat/main.c
@@ -240,6 +240,13 @@ HRESULT WINAPI MFTRegisterLocal(IClassFactory *factory, REFGUID category, LPCWST
return S_OK;
}
+HRESULT WINAPI MFTUnregisterLocal(IClassFactory *factory)
+{
+ FIXME("(%p)\n", factory);
+
+ return S_OK;
+}
+
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 c143814..1b33e2d 100644
--- a/dlls/mfplat/mfplat.spec
+++ b/dlls/mfplat/mfplat.spec
@@ -141,7 +141,7 @@
@ stub MFTRegisterLocal(ptr ptr wstr long long ptr long ptr)
@ stub MFTRegisterLocalByCLSID
@ stdcall MFTUnregister(int128)
-@ stub MFTUnregisterLocal
+@ stdcall MFTUnregisterLocal(ptr)
@ stub MFTUnregisterLocalByCLSID
@ stub MFTraceError
@ stub MFTraceFuncEnter
diff --git a/include/mfapi.h b/include/mfapi.h
index f889840..890d7bd 100644
--- a/include/mfapi.h
+++ b/include/mfapi.h
@@ -85,6 +85,7 @@ HRESULT WINAPI MFShutdown(void);
HRESULT WINAPI MFStartup(ULONG version, DWORD flags);
HRESULT WINAPI MFUnlockPlatform(void);
HRESULT WINAPI MFTUnregister(CLSID clsid);
+HRESULT WINAPI MFTUnregisterLocal(IClassFactory *factory);
HRESULT WINAPI MFGetPluginControl(IMFPluginControl**);
#endif /* __WINE_MFAPI_H */
--
1.9.1

View File

@ -0,0 +1,2 @@
Fixes: [45622] Add MFTRegisterLocal stub
Fixes: Add MFTUnregisterLocal stub

View File

@ -183,6 +183,7 @@ patch_enable_all ()
enable_libs_Debug_Channel="$1"
enable_libs_Unicode_Collation="$1"
enable_loader_OSX_Preloader="$1"
enable_mfplat_MFTRegisterLocal="$1"
enable_mmsystem_dll16_MIDIHDR_Refcount="$1"
enable_mountmgr_DosDevices="$1"
enable_mscoree_CorValidateImage="$1"
@ -723,6 +724,9 @@ patch_enable ()
loader-OSX_Preloader)
enable_loader_OSX_Preloader="$2"
;;
mfplat-MFTRegisterLocal)
enable_mfplat_MFTRegisterLocal="$2"
;;
mmsystem.dll16-MIDIHDR_Refcount)
enable_mmsystem_dll16_MIDIHDR_Refcount="$2"
;;
@ -4371,6 +4375,23 @@ if test "$enable_loader_OSX_Preloader" -eq 1; then
) >> "$patchlist"
fi
# Patchset mfplat-MFTRegisterLocal
# |
# | This patchset fixes the following Wine bugs:
# | * [#45622] Add MFTRegisterLocal stub
# |
# | Modified files:
# | * dlls/mfplat/main.c, dlls/mfplat/mfplat.spec, include/mfapi.h
# |
if test "$enable_mfplat_MFTRegisterLocal" -eq 1; then
patch_apply mfplat-MFTRegisterLocal/0001-mfplat-Add-MFTRegisterLocal-stub.patch
patch_apply mfplat-MFTRegisterLocal/0002-mfplat-Add-MFTUnregisterLocal-stub.patch
(
printf '%s\n' '+ { "Alistair Leslie-Hughes", "mfplat: Add MFTRegisterLocal stub.", 1 },';
printf '%s\n' '+ { "Alistair Leslie-Hughes", "mfplat: Add MFTUnregisterLocal stub.", 1 },';
) >> "$patchlist"
fi
# Patchset mmsystem.dll16-MIDIHDR_Refcount
# |
# | This patchset fixes the following Wine bugs: