Opened 12 years ago

Closed 12 years ago

#963 closed defect (fixed)

Unable to use sirenacm.dll due to missing functions from msvcr80.dll

Reported by: roadrunnerswife@… Owned by: r_togni@…
Priority: normal Component: ad
Version: 1.0rc1 Severity: normal
Keywords: Cc: mplayer@…
Blocked By: Blocking:
Reproduced by developer: Analyzed by developer:

Description

SirenACM is the siren audio codec using the ACM.dll interface as used within MSN Live. It misses some exported functions from msvcr80.dll which appear to be dumb re-implementations or references to existing functions from kernel32

Below a patch to add these functions:

--- mplayer-1.0~rc1/loader/win32.c 2007-02-02 23:00:27.000000000 -0500
+++ mplayer-1.0~rc1_patchedloader/win32.c 2007-12-14 17:48:19.000000000 -0500
@@ -5231,6 +5231,14 @@

FF(PathFindFileNameA, -1)

};

+struct exports exp_msvcr80[]={
+ FF(_CIpow, -1)
+ FF(_CIsin, -1)
+ FF(_CIcos, -1)
+ FF(_CIsqrt, -1)
+ FF(memset, -1)
+};
+

#define LL(X) \

{#X".dll", sizeof(exp_##X)/sizeof(struct exports), exp_##X},

@@ -5256,6 +5264,7 @@

#endif

LL(comdlg32)
LL(shlwapi)

+ LL(msvcr80)

};

static void ext_stubs(void)

Change History (4)

comment:1 Changed 12 years ago by r_togni@…

Please submit a sample file for testing (upload to ftp://upload.mplayerhq.hu/MPlayer/incoming) and some instructions on how to get the dll (if you can upload also the dll)

comment:2 Changed 12 years ago by mplayer@…

  • Cc mplayer@… added

uploaded the latest sirenacm.dll from latest stable version of windows live messenger
/incoming/sirenacm

Regards

comment:3 Changed 12 years ago by mplayer@…

beware that msvcrt8 works in a different way it uses side by side manifests
I'm not sure that the current loader can work using it in a "blind way"
perhaps on win9x it's enough to put 3 dll in system dir.

imports from msvcrt80 are:
_CIcos
_CIpow
_CIsin
_CIsqrt
CppXcptFilter
clean_type_info_names_internal
dllonexit
_adjust_fdiv
_amsg_exit
_crt_debugger_hook
_decode_pointer
_encode_pointer
_encoded_null
_except_handler4_common
_initterm
_initterm_e
_lock
_malloc_crt
_onexit
_unlock
free
memcpy
memset

we can only hope that the coded does not want to call an exception :)
but by looking at imports it does not look like cpp code

comment:4 Changed 12 years ago by r_togni@…

  • Resolution set to fixed
  • Status changed from new to closed

Support for sirenacm.dll added to svn in r26473

Note: See TracTickets for help on using tickets.