log ALmixer.c @ 79:358b0bd5df43 tip

age author description
Tue, 30 Oct 2012 16:01:30 -0700 Eric Wing Added support for Apportable's alcSuspend()/alcResume() in BeginInterruption()/EndInterruption. You must define ALMIXER_USE_APPORTABLE_OPENAL_EXTENSIONS to compile in this support. default tip
Mon, 13 Aug 2012 16:11:30 -0700 Eric Wing Fixed stupid inverted logic bug with ALMIXER_DISABLE_PREDECODED_PRECOMPUTE_BUFFER_SIZE_OPTIMIZATION. I meant for this optimization to be on by default, but it was off.
Mon, 13 Aug 2012 00:06:12 -0700 Eric Wing Fixed capitalization error of ALMixer_SetError instead of ALmixer_SetError in Windows only code.
Fri, 10 Aug 2012 23:38:56 -0700 Eric Wing Fixed remaining fading bug for pause/resume.
Fri, 10 Aug 2012 22:53:14 -0700 Eric Wing Fixed bug that sets the wrong variable for fading in Pause.
Wed, 20 Jun 2012 10:32:41 -0700 Eric Wing Changed use of ANDROID_NDK to __ANDROID__ since it seems to be standard.
Tue, 19 Jun 2012 00:31:36 -0700 Eric Wing Attempt to fix GetTicks compile error on Windows (can't do math on a struct).
Wed, 18 Jan 2012 12:17:42 -0800 Eric Wing The evil Apple iOS 5.0 OpenAL regression bug strikes again. A user managed to encounter a case where the OpenAL buffer never unqueues and the workaround gets stuck in an infinite loop which results in the app getting killed by watch dog (crashing). I've added a timeout that will abort the unqueue attempt after 200 milliseconds. But if the buffers could be unqueued but the timeout we picked is too short, then we will regress back to the original problem. All iOS 5 audio users need to test this to make sure their apps don't break again. Please remember to file your Apple bug report if you haven't (bug:10145018), test with iOS 5.1 beta to check for new problems, and report results as necessary.
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.