Posts Tagged ‘programming’
Avoiding memory leak in OpenAL and crash in OpenAL for Mac
Friday, June 10th, 2011UPDATE: We’re still seeing the crash on Mac. Procedure described does fix the memory leak, though.
UPDATE 2: Crash on Mac is caused by what appears to be a bug in Apple’s code relating to queueing commands for execution on dedicated audio thread, and mutex lock breaking down. Since mutex lock seems to stop working, it’s only natural that a threading-related crash occurs.
When calling alSourceStop(), you might forget to unbind a buffer from the source. Did you unbind it?
alSourcei(this->sourceId, AL_BUFFER, AL_NONE);
If you get a crash on Mac with call stack containing OALSource::Play() and/or ending with OALSource::PrepBufferQueueForPlayback(), this is most probably a good fix. Looks like OpenAL on Mac might have a race condition somewhere unless you do this.
See difference between revision 293 and 294 in libxal, in file audiosystems/OpenAL/OpenAL_Player.cpp.
Getting started with Objective-C?
Saturday, November 20th, 2010If you want to get started with Objective-C, and you have some background in C/C++, read this neat post I randomly stumbled upon: “Why Objective-C is cool“. It’s a pretty nice description and hopefully removes a lot of WTFs from a newbie.
Then, read CocoaLab‘s free e-book “Become an Xcoder“.
Finally, this is the longest route, but the one I went with: watch all 18 hours + extras of CS193P iPhone Application Development 2009 (and then go watch some of the 2010 lessons, too). It takes a long time to watch, but it’s worth it.

