diff options
author | compn <compn@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-10-17 05:14:21 +0000 |
---|---|---|
committer | compn <compn@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-10-17 05:14:21 +0000 |
commit | c040ef56602394c6f11e9f6d9d810ab4874af584 (patch) | |
tree | 2c442a29b8de8f26bc451c9148dbe5968717d303 /loader/win32.c | |
parent | 962a99ead20966b1d045271da746492ad1ceb25f (diff) | |
download | mpv-c040ef56602394c6f11e9f6d9d810ab4874af584.tar.bz2 mpv-c040ef56602394c6f11e9f6d9d810ab4874af584.tar.xz |
Add Coinitialize function to vfw encoder and win32 loader.
Fixes crash when trying to load vp7vfw.dll in vfw2menc.
Patch by Gianluigi Tiesi mplayer___netfarm.it
http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2007-September/054136.html
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24798 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'loader/win32.c')
-rw-r--r-- | loader/win32.c | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/loader/win32.c b/loader/win32.c index 127f5bdf59..5bdeb789a6 100644 --- a/loader/win32.c +++ b/loader/win32.c @@ -38,6 +38,7 @@ for DLL to know too much about its environment. #include "wine/debugtools.h" #include "wine/module.h" #include "wine/winuser.h" +#include "wine/objbase.h" #include <stdio.h> #include "win32.h" @@ -3816,6 +3817,12 @@ static int WINAPI expDuplicateHandle(HANDLE hSourceProcessHandle, // handle to return 1; } +static HRESULT WINAPI expCoInitializeEx(LPVOID lpReserved, DWORD dwCoInit) +{ + dbgprintf("CoInitializeEx(%p, %d) called\n", lpReserved, dwCoInit); + return S_OK; +} + // required by PIM1 codec (used by win98 PCTV Studio capture sw) static HRESULT WINAPI expCoInitialize( LPVOID lpReserved /* [in] pointer to win32 malloc interface @@ -3825,7 +3832,26 @@ static HRESULT WINAPI expCoInitialize( /* * Just delegate to the newer method. */ - return 0; //CoInitializeEx(lpReserved, COINIT_APARTMENTTHREADED); + return expCoInitializeEx(lpReserved, COINIT_APARTMENTTHREADED); +} + +static void WINAPI expCoUninitialize(void) +{ + dbgprintf("CoUninitialize() called\n"); +} + +/* allow static linking */ +HRESULT WINAPI CoInitializeEx(LPVOID lpReserved, DWORD dwCoInit) +{ + return expCoInitializeEx(lpReserved, dwCoInit); +} +HRESULT WINAPI CoInitialize(LPVOID lpReserved) +{ + return expCoInitialize(lpReserved); +} +void WINAPI CoUninitialize(void) +{ + return expCoUninitialize(); } static DWORD WINAPI expSetThreadAffinityMask @@ -5132,6 +5158,8 @@ struct exports exp_ole32[]={ FF(CoCreateFreeThreadedMarshaler,-1) FF(CoCreateInstance, -1) FF(CoInitialize, -1) + FF(CoInitializeEx, -1) + FF(CoUninitialize, -1) FF(CoTaskMemAlloc, -1) FF(CoTaskMemFree, -1) FF(StringFromGUID2, -1) |