log

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
Thu, 25 Oct 2012 16:12:50 -0700 Eric Wing Fixed a unit conversion bug in the Ogg Tremor decoder for SoundDecoder. This fixes out of memory issues with LoadAll on long, but still reasonably sized .ogg files on some Android devices.
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 01:40:17 -0700 Eric Wing Compiler warning cleanups for wav.c on Windows/CodeBlocks.
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.
Mon, 16 Jul 2012 22:31:56 -0700 Eric Wing Bug fix for unbalanced #if/#endif blocks. I think I broke it when removing the dllimport for Windows.
Wed, 20 Jun 2012 10:46:03 -0700 Eric Wing Removed use of dllimport for Windows.
Wed, 20 Jun 2012 10:41:06 -0700 Eric Wing Enhanced endian detection code in SoundDecoder.h after reviewing ANDROID_NDK changes.
Wed, 20 Jun 2012 10:32:41 -0700 Eric Wing Changed use of ANDROID_NDK to __ANDROID__ since it seems to be standard.
Wed, 20 Jun 2012 10:30:47 -0700 Eric Wing Changed SDL_endian_minimal.h to copy from SDL 1.3 which is under the zlib license instead of LGPL. Thanks to Johnson Lin for contributing this. I made a few changes. It seems the Android stuff will hit the __linux define so I could remove the Android specific case. I also needed to copy the SDL_static_cast (and SDL_reinterpret_cast) from SDL_stdinc.h because some of the macros depend on it.
Tue, 19 Jun 2012 18:49:27 -0700 Eric Wing Fixed a copy/paste comment error about the origins of SDL_sound_minimal.c
Tue, 19 Jun 2012 00:40:32 -0700 Eric Wing Macro cleanups for selecting which decoders to compile in. Before this was hacked for Apple vs. Android. But now it is Apple vs. whatever to be a little more flexible.
Tue, 19 Jun 2012 00:33:20 -0700 Eric Wing Updated play stream example to use new required parameter for LoadStream. Thanks to Johnson Lin reporting this issue!
Tue, 19 Jun 2012 00:33:00 -0700 Eric Wing Fixed misspelled function name in _WIN32 section 'Internal_PlatformPlatformGetThreadID' (looks like search & replace bug). Thanks to Johnson Lin reporting this issue!
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).
Tue, 19 Jun 2012 00:31:12 -0700 Eric Wing Ogg Vorbis decoder for SoundDecoder directly adapted from SDL_sound's code. Thanks to Johnson Lin for providing this!
Tue, 19 Jun 2012 00:22:40 -0700 Eric Wing Fixed #define DONT_USE_VASPRINT(F) typo for Thanks to Johnson Lin for testing and reporting these issues!
Tue, 19 Jun 2012 00:23:35 -0700 Eric Wing Bug and casting fixes to SimpleThreadWindows.c. Thanks to Johnson Lin for testing and reporting these issues!
Fri, 08 Jun 2012 01:04:51 -0700 Eric Wing New implementation backend for SimpleThread using native Windows threading APIs.
Wed, 30 May 2012 02:26:03 -0700 Eric Wing merged
Tue, 29 May 2012 23:25:52 -0700 Eric Wing Fixed bug in EXAMPLES where usleep was not converted to microseconds.
Tue, 29 May 2012 19:43:23 -0700 Eric Wing Added explicit symbol visibility markers to audio support files in ALmixer for public headers so they can be built as a dynamic library if needed.
Tue, 29 May 2012 19:41:59 -0700 Eric Wing merged
Tue, 29 May 2012 19:40:38 -0700 Eric Wing Added explicit symbol visibility markers to support files in ALmixer for public headers so they can be built as a dynamic library if needed.
Wed, 18 Jan 2012 12:22:18 -0800 Eric Wing Fixed audio.seek bug in Ogg Tremor decoder interface. Unlike Ogg Vorbis, Tremor uses integer milliseconds instead of double seconds.
Wed, 18 Jan 2012 12:20:54 -0800 Eric Wing merged
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.
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.