Discussion:
OpenAL failure at alcOpenDevice and crash at alcDestroyContext
Mark Bitterman
2013-06-09 07:16:11 UTC
Permalink
Hey.

I'm using OpenAL in my game, and I've run into some annoying issues. First
of all, though I could just skip doing this, but whenever I call
alcDestroyContext, OpenAL just freezes. I'd like for my implementation to
be complete, but I couldn't find any way to fix the issue. I'm also using
the latest version of OpenAL Soft.

And another issue I'm having, is that while for me and on other setups,
OpenAL works just fine, in some cases it fails at alcOpenDevice, and
strangest of all, it will ONLY work on those rigs if I run something using
FMOD before it, and I have to do this every time after I exit it.

Has anyone had these weird issues?

Thanks,
HeroOfDoom.
Chris Robinson
2013-06-09 12:13:18 UTC
Permalink
Post by Mark Bitterman
Hey.
I'm using OpenAL in my game, and I've run into some annoying issues. First
of all, though I could just skip doing this, but whenever I call
alcDestroyContext, OpenAL just freezes. I'd like for my implementation to
be complete, but I couldn't find any way to fix the issue. I'm also using
the latest version of OpenAL Soft.
What OS? Are you using the latest release (1.15.1), or the latest Git head?

There used to be some problems with PulseAudio devices causing a lockup
when playback was started, but that hasn't been an issue for several
versions now.
Post by Mark Bitterman
And another issue I'm having, is that while for me and on other setups,
OpenAL works just fine, in some cases it fails at alcOpenDevice, and
strangest of all, it will ONLY work on those rigs if I run something using
FMOD before it, and I have to do this every time after I exit it.
Sounds like something else it trying to hold open the audio device,
which is preventing OpenAL from opening it, and that somehow FMOD gets
the device closed.

I'll need to know the backend OpenAL Soft's trying to use. You should be
able to get that and other useful info by setting the ALSOFT_LOGLEVEL
environment variable to "3" when running the app, which will make OpenAL
print some extra info to stderr (you can also use the ALSOFT_LOGFILE env
var to specify a filename to write the info to instead).

Loading...