Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: LAME 3.98.4 (2010-03-23) "RareWares" (Read 6931 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

LAME 3.98.4 (2010-03-23) "RareWares"

::

Can't get lame_enc.dll (compiled with Intel Compiler 11.1.054) to work with Exact Audio Copy 0.99PreBeta5. After clicking the MP3-Button EAC stops responding and crashes a little later. lame.exe from the same package works perfectly. Using lame_enc.dll VC6 compile with the same settings has no problems too.

OS is XP SP3 Pro 32-Bit.


... sorry for my bad English, Greetings Surf ...

::

LAME 3.98.4 (2010-03-23) "RareWares"

Reply #1
It does the same here on Xp Pro x64, although the VC6 compile works. Hardly the recommended way to work so I'm not going to worry about it to be honest.

 

LAME 3.98.4 (2010-03-23) "RareWares"

Reply #2
::

OK, no problem. I prefer the .exe-file too. The problem arose in the german EAC forum and I just wanted to answer.

Thanks John.

::

LAME 3.98.4 (2010-03-23) "RareWares"

Reply #3
::

OK, no problem. I prefer the .exe-file too. The problem arose in the german EAC forum and I just wanted to answer.

Thanks John.

::

Understood.

LAME 3.98.4 (2010-03-23) "RareWares"

Reply #4
I have just compiled and tested the dll with EAC using VC9 rather than the Intel compiler and that also fails. I am not certain why but I think it may be related to the fact that with VC9, onwards, Microsoft stopped supporting the 'single-threaded' libraries. The old VC6 compile is compiled as 'single-threaded' and runs OK.

LAME 3.98.4 (2010-03-23) "RareWares"

Reply #5
By the way, LAME code (main.c) contains this:

Code: [Select]
#if 0
    /* rh 061207
       the following fix seems to be a workaround for a problem in the
       parent process calling LAME. It would be better to fix the broken
       application => code disabled.
     */
#if defined(_WIN32)
    /* set affinity back to all CPUs.  Fix for EAC/lame on SMP systems from
       "Todd Richmond" <todd.richmond@openwave.com> */
    typedef BOOL(WINAPI * SPAMFunc) (HANDLE, DWORD_PTR);
    SPAMFunc func;
    SYSTEM_INFO si;

    if ((func = (SPAMFunc) GetProcAddress(GetModuleHandleW(L"KERNEL32.DLL"),
                                          "SetProcessAffinityMask")) != NULL) {
        GetSystemInfo(&si);
        func(GetCurrentProcess(), si.dwActiveProcessorMask);
    }
#endif
#endif


...there was a workaround for EAC that was disabled by robert at 061207 (2006.12.07?).

(I don't know if there is something related to the problem, or not...)

LAME 3.98.4 (2010-03-23) "RareWares"

Reply #6
The .exe works without a problem, but the dlls, 3.98.4 and 3.99alpha, compiled with VS2008 and Intel don't. I've tried applying that patch in to the dllMain function, but it makes no difference. Thanks for the suggestion, but I can't see any obvious reason other what I've already mentioned.

LAME 3.98.4 (2010-03-23) "RareWares"

Reply #7
The lame_enc.dll is called "legacy dll" in makefile.msvc in the source tar ball.