log

age author description
Fri, 30 Sep 2011 17:48:23 -0700 Eric Wing Fixed bug with seeking channels with predecoded samples. The OpenAL 1.1 spec specifies that a playing source should automatically jump when already playing. The code was unnecessarily recalling alPlaySource again which is not necessarily the correct thing to do. I think the previous code is another remnant of the Open 1.0 era. Also fixed bugs in the return codes for seek and rewind. For single channels, the return code was 0 channels processed in ALmixer which resulted in returning false to Lua. The implementation now should return 1/true for single channels, but 0/false for no channels. Errors will return -1/false.
Fri, 30 Sep 2011 16:44:08 -0700 Eric Wing Workaround: There is a terrible OpenAL regression bug in iOS 5 dealing with streaming sources. alSourcei(source_id, AL_BUFFER, AL_NONE); fails to clear queued buffer queues on a streaming source. The workaround involves manually dequeuing the individual buffers before calling alSourcei(source_id, AL_BUFFER, AL_NONE);. But there is an additional race condition bug where the unqueue fails to take, so the included workaround keeps looping until the buffers finally report as cleared.
Thu, 29 Sep 2011 11:33:34 -0700 Eric Wing Added addition query to get the current number of buffers processed in the new inner buffer decoupling loop because I've been seeing a lot of 59TestingError warnings. I think it is possible the value may become stale after the first iteration of the loop resulting in assumption failures which result in triggering this error.
Tue, 13 Sep 2011 18:11:34 -0700 Eric Wing Added AL_SOURCE_STATE to luaal
Tue, 13 Sep 2011 18:11:12 -0700 Eric Wing merged
Tue, 13 Sep 2011 18:03:21 -0700 Eric Wing Split off background thread (threads only) termination and creation into separate functions from Interruption handling to make it easier to avoid race condition bug with Apple rdar://10081775 w.r.t. setting the OpenAL context. New APIs to suspend and resume update threads. Interruption handling calls these automatically.
Tue, 30 Aug 2011 19:43:49 -0700 Eric Wing merged
Tue, 30 Aug 2011 19:42:31 -0700 Eric Wing Warning: Breaking API/ABI changes. New optimizations to decouple update loop from number of buffers queued in audio streaming to allow more for more and smaller buffers to be processed in a loop. This also has the benefit for access_data callback buffer sizes not to be dictated by the performance tuning.
Thu, 23 Jun 2011 17:37:16 -0700 Eric Wing Added API to check if in interruption.
Fri, 19 Aug 2011 12:36:50 -0700 Eric Wing Resync to get interruption changes.
Mon, 23 May 2011 11:33:58 -0700 Eric Wing fixed memory leak in tErrorLib
Thu, 28 Apr 2011 16:22:30 -0700 Eric Wing Added support files.
Mon, 11 Apr 2011 17:19:24 -0700 Eric Wing Fixed memory leak in Quit due to changes related to background thread removal. FreeData was quick escaping because it checked for ALmixer_Initialized which is now false by the time the code is reached.
Thu, 07 Apr 2011 19:19:07 -0700 Eric Wing Moved two variable declarations to the top to make old C89/90 compilers happy.
Wed, 06 Apr 2011 14:54:09 -0700 Eric Wing Bug fix for starvation problem due to for-loop using uninitialized variable.