SPC Codec: Ensure no crash occurs on load failure which could cause emulation to...
commit5faaf5a6fa9830d00165eebb1e0ef857201ba412
authorjethead71 <jethead71@a1c6a512-1295-4272-9138-f99709370657>
Thu, 24 Jan 2008 13:35:13 +0000 (24 13:35 +0000)
committerjethead71 <jethead71@a1c6a512-1295-4272-9138-f99709370657>
Thu, 24 Jan 2008 13:35:13 +0000 (24 13:35 +0000)
tree64d4dcdbafcdbb2215e97d5591d6fbc18af040ec
parent5420dbb8e308871240d89b129da6555aa3bd4375
SPC Codec: Ensure no crash occurs on load failure which could cause emulation to be run without a program loaded on dual core (DSP wasn't initialized yet). The load failures come from core buffering not having the atomic audio file fully loaded before the codec requests the buffer (it gets as many bytes as can be provided) which IMHO isn't very atomic :). Changes in thread execution order after dumping spinlocks for general use simply revealed the buffering race condition. No fix for that will be hacked into the codec itself but should be fixed in the core. Add my copyright to files I had a significant part in developing per request of Adam Gashlin.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16154 a1c6a512-1295-4272-9138-f99709370657
apps/codecs/spc.c
apps/codecs/spc/spc_codec.h
apps/codecs/spc/spc_dsp.c
apps/codecs/spc/spc_emu.c