EnableOpenALAudio - Crash?
BlitzMax Forums/BlitzMax Programming/EnableOpenALAudio - Crash?
| ||
Hi All, One of my users is experiencing a crash and I've got it traced to EnableOpenALAudio... Here is the code: ?Win32 OSVersion = ccGetVersionString() DebugLog "Init OSVersion = " + OSVersion If OsVersion <> "Windows XP" Then SoundDriver = "OpenAL Generic Software" ChangeSoundDriver(SoundDriver, 0) EndIf ? Method ChangeSoundDriver(d$, SaveIniChangedFile%=1) DebugLog "ChangeSoundDriver d = " + d 'If OpenAL is passed in as the start of the string, then enable it. If Mid(d,1,6) = "OpenAL" Then EnableOpenALAudio() EndIf DebugLog "ChangeSoundDriver Setting AudioDriver..." If SetAudioDriver(d) Then SoundDriver = d$ Else SoundDriver = "None" EndIf End Method And the debug trace statements: 03:15:03: Init OSVersion = Windows 7 03:15:03: ChangeSoundDriver d = OpenAL Generic Software As you can see we get the OSVersion trace within the Init method and the ChangeSoundDriver trace... but not the ChangeSoundDriver Setting AudioDriver... The game has the OpenAl DLLs in the exe folder (OpenAL32.dll and wrap_oal.dll) and it works for lots of PCs. The user's PC specs are: Win 7 Ult SP 1 6.1.7601 64-bit AMD FX 6300 Problem signature: Problem Event Name: APPCRASH Application Name: LoSCotD.exe Application Version: 0.0.0.0 Application Timestamp: 56ad7e83 Fault Module Name: ntdll.dll Fault Module Version: 6.1.7601.18247 Fault Module Timestamp: 521ea8e7 Exception Code: c0000005 Exception Offset: 00033d0b OS Version: 6.1.7601.2.1.0.256.1 Locale ID: 1033 Additional Information 1: 5f37 Additional Information 2: 5f37a320dbefe823b9e66dbee9daae0c Additional Information 3: 4c98 Additional Information 4: 4c986887bed4872951144b2d22538602 Any ideas? Cheers, Steve |
| ||
Does it work on other 64 bit systems? Have you tried copying openal32.dll to C:\Windows\SysWOW64\ on the system which crashes? |
| ||
Doesn't the dll actually need to be registered instead of just present in the folder? regsvr32.exe openal32.dll |
| ||
I dont' know whether this will help: You do not check, if OpenAl really works... I think too, that it has to be installed by the original installer, which will register it too. This is the way I check OpenAl at user's computer: First check, whether OpenAl really works. If not, copy the "OalInst.Exe" to temp folder, then run the installation. This also will update invalid or out-of-date versions on the user's computer. If OpenALInstalled()=False OpenAlTreiber EndIf EnableOpenALAudio() SetAudioDriver("OpenAL") Function OpenAlTreiber() OpenPDF "OpenALManual.pdf" CopyFile DatenPfad + "oalinst.exe",GetTempFolder() + "\oalinst.exe" Notify ("openal driver is missing") system_ GetTempFolder() + "\oalinst.exe" Notify ("Restart the game") End End Function |