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.
Mon, 04 Apr 2011 15:57:22 -0700 Eric Wing Fixed for omitted return value.
Fri, 01 Apr 2011 17:39:32 -0700 Eric Wing Fixed infinite loop bug for delete.
Tue, 29 Mar 2011 15:55:02 -0700 Eric Wing Bug fix: Boolean should have been flipped...causes deadlock.
Tue, 29 Mar 2011 11:16:39 -0700 Eric Wing Added initialized check in Begin/End interruption.
Mon, 28 Mar 2011 18:28:14 -0700 Eric Wing Bug fix to move g_inInterruption cleanup outside of #ifdef THREADS block.
Mon, 28 Mar 2011 16:05:25 -0700 Eric Wing Optimization to destroy bookkeeping thread on BeginInterruption() and recreate it on EndInterruption(). I'm concerned that Android may be running this thread and eating up unnecessary sleep cycles, particularly on certain devices that may have pathological sleep disorders. (There is a report about Samsung Galaxy Tab.)
Mon, 28 Mar 2011 15:16:26 -0700 Eric Wing Initial backend changes to decouple assumption of 1 buffer queued per channel / per pass. API will eventually be changed/broken to support this.
Fri, 04 Mar 2011 11:29:05 -0800 Eric Wing Added initialization checks to all API functions.
Fri, 24 Dec 2010 13:58:04 -0800 Eric Wing Put LowerThreadPriority in ENABLE_ALMIXER_THREADS_BLOCK
Fri, 24 Dec 2010 03:33:31 -0800 Eric Wing merged
Fri, 24 Dec 2010 03:32:02 -0800 Eric Wing iOS optimization/bug/workaround.
Fri, 24 Dec 2010 03:26:58 -0800 Eric Wing Bump version since I've changed the public API a bit.
Fri, 24 Dec 2010 03:23:02 -0800 Eric Wing - Added Seek APIs
Fri, 24 Dec 2010 03:17:10 -0800 Eric Wing Fix to LinkedList_Clear
Mon, 08 Nov 2010 22:19:47 -0800 Eric Wing Added SeekChannel, SeekSource.