[Openal-devel] Questionable "invalid value" from
alSourceUnqueueBuffers
Jan Wassenberg
jan.wassenberg at gmail.com
Mon Aug 10 23:37:46 PDT 2009
Greetings,
I'm working on sound for the 0 A.D. project (www.wildfiregames.com/0ad)
and have encountered an error on OpenALsoft implementations of OpenAL. The
first time alSourceUnqueueBuffers is called upon to unqueue a single
buffer, it raises an "invalid value" error, but not subsequently.
My understanding of the OpenAL Programmer's Guide (revision 1.2) is that
alSourceUnqueueBuffers fails with "invalid value" iff a buffer can't be
unqueued because it had yet to be processed. However, we are first
checking alGetSourcei AL_BUFFERS_PROCESSED and receiving a nonzero count
for that source.
The same code works without error on my Windows system with a Creative
X-Fi and drivers ctaud2k.sys (5.12.01.1201-2.10.0760), OpenAL32.dll
(6.14.0357.19), wrap_oal.dll (2.1.4.0), ct_oal.dll
(5.12.01.1187-2.09.3060).
Due to the once-only mode of failure and because it works on Creative's
OpenAL, I'm thinking the cause might lie in OpenALsoft. Both users that
reported the error were using version 1.7.411. Was this an known error and
would be fixed by upgrading to the most recent version?
A ltrace of the OpenAL calls is available at
http://trac.wildfiregames.com/attachment/ticket/297/openal.trace . After
init, the engine starts playing stereo buffers (music) and the error comes
up at the end after having finished playing a short mono buffer (sound
effects).
If it helps, our interface to OpenAL can be viewed at
http://trac.wildfiregames.com/browser/ps/trunk/source/lib/res/sound/snd_mgr.cpp
Any help in diagnosing and solving the error would be appreciated.
Thanks in advance + cheers
Jan
More information about the Openal-devel
mailing list