Mercurial > mplayer.hg
comparison loader/win32.c @ 26441:586d7ee3c106
Add support for msn siren audio coced via binary dll sirenacm.dll
Based on a patch by Ruuds "roadrunnerswife" "users sourceforge net"
Closes bugzilla #963
author | rtogni |
---|---|
date | Sun, 20 Apr 2008 16:06:41 +0000 |
parents | eb82d1524b6d |
children | cea51ac82475 |
comparison
equal
deleted
inserted
replaced
26440:9dc0b217fce4 | 26441:586d7ee3c106 |
---|---|
4044 } | 4044 } |
4045 return 0; | 4045 return 0; |
4046 } | 4046 } |
4047 #endif | 4047 #endif |
4048 | 4048 |
4049 /* Fake _initterm_e from msvcr80.dll, needed by sirenacm.dll | |
4050 * NOTE: If I make this an alias for _initterm, then sirenacm.dll tries to call | |
4051 other uninmplemented functions; keep this in mind if some future codec needs | |
4052 a real implementation of this function */ | |
4053 static int exp_initterm_e(INITTERMFUNC *start, INITTERMFUNC *end) | |
4054 { | |
4055 dbgprintf("_initterm_e(0x%x, 0x%x)\n", start, end); | |
4056 return 0; | |
4057 } | |
4058 | |
4049 static void* exp__dllonexit() | 4059 static void* exp__dllonexit() |
4050 { | 4060 { |
4051 // FIXME extract from WINE | 4061 // FIXME extract from WINE |
4052 return NULL; | 4062 return NULL; |
4053 } | 4063 } |
4815 static WIN_BOOL WINAPI expEnumDisplaySettingsA(LPCSTR name ,DWORD n, | 4825 static WIN_BOOL WINAPI expEnumDisplaySettingsA(LPCSTR name ,DWORD n, |
4816 LPDEVMODEA devmode) | 4826 LPDEVMODEA devmode) |
4817 { | 4827 { |
4818 dbgprintf("EnumDisplaySettingsA (dummy) => 1\n"); | 4828 dbgprintf("EnumDisplaySettingsA (dummy) => 1\n"); |
4819 return 1; | 4829 return 1; |
4830 } | |
4831 | |
4832 // Fake implementation of _decode_pointer from msvcr80.dll, needed by sirenacm.dll | |
4833 // NOTE: undocumented function, probably the declaration is not right | |
4834 static int exp_decode_pointer(void *ptr) | |
4835 { | |
4836 dbgprintf("_decode_pointer (0x%08x)\n", ptr); | |
4837 return 0; | |
4820 } | 4838 } |
4821 | 4839 |
4822 struct exports | 4840 struct exports |
4823 { | 4841 { |
4824 char name[64]; | 4842 char name[64]; |
5245 struct exports exp_shlwapi[]={ | 5263 struct exports exp_shlwapi[]={ |
5246 FF(PathFindExtensionA, -1) | 5264 FF(PathFindExtensionA, -1) |
5247 FF(PathFindFileNameA, -1) | 5265 FF(PathFindFileNameA, -1) |
5248 }; | 5266 }; |
5249 | 5267 |
5268 struct exports exp_msvcr80[]={ | |
5269 FF(_CIpow,-1) | |
5270 FF(_CIsin,-1) | |
5271 FF(_CIcos,-1) | |
5272 FF(_CIsqrt,-1) | |
5273 FF(memset,-1) | |
5274 FF(_initterm_e, -1) | |
5275 FF(_initterm, -1) | |
5276 FF(_decode_pointer, -1) | |
5277 }; | |
5278 | |
5250 #define LL(X) \ | 5279 #define LL(X) \ |
5251 {#X".dll", sizeof(exp_##X)/sizeof(struct exports), exp_##X}, | 5280 {#X".dll", sizeof(exp_##X)/sizeof(struct exports), exp_##X}, |
5252 | 5281 |
5253 struct libs libraries[]={ | 5282 struct libs libraries[]={ |
5254 LL(kernel32) | 5283 LL(kernel32) |
5270 #ifdef QTX | 5299 #ifdef QTX |
5271 LL(ddraw) | 5300 LL(ddraw) |
5272 #endif | 5301 #endif |
5273 LL(comdlg32) | 5302 LL(comdlg32) |
5274 LL(shlwapi) | 5303 LL(shlwapi) |
5304 LL(msvcr80) | |
5275 }; | 5305 }; |
5276 | 5306 |
5277 static WIN_BOOL WINAPI ext_stubs(void) | 5307 static WIN_BOOL WINAPI ext_stubs(void) |
5278 { | 5308 { |
5279 volatile int idx = 0xdeadabcd; | 5309 volatile int idx = 0xdeadabcd; |