Fri, 21 Oct 2011 17:14:19 -0700 |
Eric Wing |
Workaround for terrible iOS 5.0 regression bug in Apple's OpenAL implementation with regards to resetting streaming sources. The fix uses a version check to determine if the workaround is employed. Once Apple fixes the problem, an upper bounds version check should be added.
|
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.
|