Mercurial > mplayer.hg
changeset 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 | 9dc0b217fce4 |
children | 83fdf3030da7 |
files | etc/codecs.conf loader/win32.c |
diffstat | 2 files changed, 37 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/etc/codecs.conf Sun Apr 20 00:36:45 2008 +0000 +++ b/etc/codecs.conf Sun Apr 20 16:06:41 2008 +0000 @@ -3319,3 +3319,10 @@ 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"
--- a/loader/win32.c Sun Apr 20 00:36:45 2008 +0000 +++ b/loader/win32.c Sun Apr 20 16:06:41 2008 +0000 @@ -4046,6 +4046,16 @@ } #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 @@ 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 @@ 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 @@ #endif LL(comdlg32) LL(shlwapi) + LL(msvcr80) }; static WIN_BOOL WINAPI ext_stubs(void)