[MPlayer-cvslog] r26473 - in trunk: etc/codecs.conf loader/win32.c

rtogni subversion at mplayerhq.hu
Sun Apr 20 18:06:42 CEST 2008


Author: rtogni
Date: Sun Apr 20 18:06:41 2008
New Revision: 26473

Log:
Add support for msn siren audio coced via binary dll sirenacm.dll


Modified:
   trunk/etc/codecs.conf
   trunk/loader/win32.c

Modified: trunk/etc/codecs.conf
==============================================================================
--- trunk/etc/codecs.conf	(original)
+++ trunk/etc/codecs.conf	Sun Apr 20 18:06:41 2008
@@ -3319,3 +3319,10 @@ audiocodec hwmpa
   fourcc "MP3 "      ; used in .nsv files
   fourcc "LAME"      ; used in mythtv .nuv files
   driver hwmpa
+
+audiocodec msnsiren
+  info "msn siren audio codec"
+  status working
+  format 0x28E
+  driver acm
+  dll "sirenacm.dll"

Modified: trunk/loader/win32.c
==============================================================================
--- trunk/loader/win32.c	(original)
+++ trunk/loader/win32.c	Sun Apr 20 18:06:41 2008
@@ -4046,6 +4046,16 @@ static int exp_initterm(INITTERMFUNC *st
 }
 #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 expEnumDisplaySet
     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)



More information about the MPlayer-cvslog mailing list