summaryrefslogtreecommitdiffstats
path: root/loader
diff options
context:
space:
mode:
authorrtogni <rtogni@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-04-20 16:06:41 +0000
committerrtogni <rtogni@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-04-20 16:06:41 +0000
commit8f569304588990eeed1791d1501011f49af4fd79 (patch)
treed1047a0e984e1a2b8b756b6ef8553ef5fb309014 /loader
parent6a11c2c303355d3e32157bdaf875b3518c33f348 (diff)
downloadmpv-8f569304588990eeed1791d1501011f49af4fd79.tar.bz2
mpv-8f569304588990eeed1791d1501011f49af4fd79.tar.xz
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 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26473 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'loader')
-rw-r--r--loader/win32.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/loader/win32.c b/loader/win32.c
index 712e24d0ab..2533d45ac5 100644
--- a/loader/win32.c
+++ b/loader/win32.c
@@ -4046,6 +4046,16 @@ static int exp_initterm(INITTERMFUNC *start, INITTERMFUNC *end)
}
#endif
+/* Fake _initterm_e from msvcr80.dll, needed by sirenacm.dll
+ * NOTE: If I make this an alias for _initterm, then sirenacm.dll tries to call
+ other uninmplemented functions; keep this in mind if some future codec needs
+ a real implementation of this function */
+static int exp_initterm_e(INITTERMFUNC *start, INITTERMFUNC *end)
+{
+ dbgprintf("_initterm_e(0x%x, 0x%x)\n", start, end);
+ return 0;
+}
+
static void* exp__dllonexit()
{
// FIXME extract from WINE
@@ -4819,6 +4829,14 @@ static WIN_BOOL WINAPI expEnumDisplaySettingsA(LPCSTR name ,DWORD n,
return 1;
}
+// Fake implementation of _decode_pointer from msvcr80.dll, needed by sirenacm.dll
+// NOTE: undocumented function, probably the declaration is not right
+static int exp_decode_pointer(void *ptr)
+{
+ dbgprintf("_decode_pointer (0x%08x)\n", ptr);
+ return 0;
+}
+
struct exports
{
char name[64];
@@ -5247,6 +5265,17 @@ struct exports exp_shlwapi[]={
FF(PathFindFileNameA, -1)
};
+struct exports exp_msvcr80[]={
+ FF(_CIpow,-1)
+ FF(_CIsin,-1)
+ FF(_CIcos,-1)
+ FF(_CIsqrt,-1)
+ FF(memset,-1)
+ FF(_initterm_e, -1)
+ FF(_initterm, -1)
+ FF(_decode_pointer, -1)
+};
+
#define LL(X) \
{#X".dll", sizeof(exp_##X)/sizeof(struct exports), exp_##X},
@@ -5272,6 +5301,7 @@ struct libs libraries[]={
#endif
LL(comdlg32)
LL(shlwapi)
+ LL(msvcr80)
};
static WIN_BOOL WINAPI ext_stubs(void)