[Openal] Error closing Generic SW/Generic HW device with EFX
dpeacock at creativelabs.com
Fri Jul 11 12:53:15 PDT 2008
I have not seen this problem before.
Do you have the latest wrap_oal.dll (22.214.171.124)?
If you have the Creative OpenAL SDK - does the EFXReverb test application
show the problem (or can it be modified so that it does)?
In your shutdown code are you ...
Stopping & Deleting all the Sources
Deleting Aux Effect Slots
Making the current Context NULL, then destroying it, then closing the
Creative Labs, Inc.
The information in this message is confidential and may be legally
privileged. It is intended solely for the addressee. Access to this
message by anyone else is unauthorized. If you are not the intended
recipient, any disclosure, copying or distribution of the message, or
any action taken by you in reliance on it, is prohibited and may be
unlawful. If you have received this message in error, please delete it
and contact the sender immediately. Thank you.
Sent by: openal at opensource.creative.com
openal-bounces at op cc
[Openal] Error closing Generic
SW/Generic HW device with EFX
I am using OpenAL 1.1 SDK with EFX extensions (efx.h). The
application lets the user select Generic Software or anything
enumerated by GetString with ALC_DEVICE_SPECIFIER. It loads some
sources and the AL_EFFECT_REVERB into a single auxiliary effects slot.
It all works fine with the specific hardware device. It works with
the Generic Software device, but then crashes on exit when the
alcDestroyContext and/or alcCloseDevice are called. This error goes
away if I do not generate any aux slots or effects and, as I mention
above, does not happen with the specific hardware device. Even
creating a single aux slot or effect and immediately destroying it
will cause the error on the Generic device drivers. Is this a known
issue or am I missing something obvious?
I believe I am using proper error handling to prevent this kind of
thing... (See below).
Any help would be appreciated.
EFXError+=" Does Not support EFX";
TheEffectFunctions[Mix] = GetEFXExtensionStruc();
CString EFXFuncError("Could not resolve EFX Functions");
tmp.alGenEffects = (LPALGENEFFECTS) alGetProcAddress("alGenEffects");
tmp.alDeleteEffects = (LPALDELETEEFFECTS)
tmp.alIsEffect = (LPALISEFFECT) alGetProcAddress("alIsEffect");
tmp.alEffecti = (LPALEFFECTI) alGetProcAddress("alEffecti");
tmp.alEffectf = (LPALEFFECTF) alGetProcAddress("alEffectf");
tmp.alGenAuxiliaryEffectSlots = (LPALGENAUXILIARYEFFECTSLOTS)
tmp.alDeleteAuxiliaryEffectSlots = (LPALDELETEAUXILIARYEFFECTSLOTS)
tmp.alAuxiliaryEffectSloti = (LPALAUXILIARYEFFECTSLOTI)
etc. None of these cause failures or errors.
Openal mailing list
Openal at opensource.creative.com
More information about the Openal