[Openal] alcCreateContext crashes with OpenAL-Soft and portaudio
backend on linux Ubuntu 9.10
Chris Robinson
chris.kcat at gmail.com
Fri Jan 22 17:02:33 PST 2010
On Friday 22 January 2010 9:52:55 am Manolache Adrian wrote:
> I'm on linux Ubuntu 9.10 and trying to get OpenAL-Soft working with
> portaudio, as a backend. Compilation works just fine, the output
> device(only one) returned by enumerating devices is 'PortAudio Software'
> but the program crashes when calling alcCreateContext. Anyone has any idea
> why does this happen?
There might be other problems if all you're seeing is PortAudio's device. The
crash itself seems to be happening as a result of a normal call.. it could be
a compatibility issue with PortAudio and PulseAudio, or something else on your
system.
Are you purposely only compiling OpenAL Soft with PortAudio, or is that all
that's being enabled? It's recommended to also build with ALSA and PulseAudio
support, which you may need to install the dev packages for (ALSA = asound,
btw).
> Here's the stack trace:
> #0 0xb7fe2430 __kernel_vsyscall() (??:??)
> #1 0xb7a63f75 sem_wait@@GLIBC_2.1()
> (/lib/tls/i686/cmov/libpthread.so.0:??)
> #2 0x816fa35 StartStream(s=0x829b3d0) (src/hostapi/oss/pa_unix_oss.c:1746)
> #3 0xb7d1ffd8 pa_reset_playback(device=0xb63bd008)
> (/home/adrian/OpenAL/trunk/OpenAL-Soft/Alc/portaudio.c:236)
> #4 0xb7d086a3 alcCreateContext(device=0xb63bd008, attrList=0x0)
> (/home/adrian/OpenAL/trunk/OpenAL-Soft/Alc/ALc.c:1259)
> #5 0x80c6767 Endeavour::Sound::OpenALSoundSystem::init() () (??:??)
> #6 0x80c6b1a Endeavour::Sound::OpenALSoundSystem::Instance() () (??:??)
> #7 0x80da645 CGameEngine::Init(char*, int, int, unsigned char, bool) ()
> (??:??)
> #8 0x80ee0d2 GameStart() () (??:??)
> #9 0x80ee115 main() (??:??)
This backtrace also may be tracing the main thread, vs the thread actually
causing the crash, since this just seems to be waiting in sem_wait. Running
'thread apply all bt full' in GDB may give a better idea of where the crash
actually is.
> Also, why don't i get any HW Acceleration here?
OpenAL Soft doesn't support hardware audio, due to the APIs not exposing
enough control over the sub-devices to properly take advantage of hardware
mixing. They also don't expose the controls to handle EAX, which would make it
impossible to support EFX under those conditions.
More information about the Openal
mailing list