From: Carsten W. <ca...@us...> - 2005-04-26 22:34:26
|
Update of /cvsroot/jake2/jake2/src/jake2/sound/lwjgl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27491/src/jake2/sound/lwjgl Modified Files: LWJGLSoundImpl.java Log Message: code cleanup Index: LWJGLSoundImpl.java =================================================================== RCS file: /cvsroot/jake2/jake2/src/jake2/sound/lwjgl/LWJGLSoundImpl.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** LWJGLSoundImpl.java 26 Apr 2005 20:17:54 -0000 1.5 --- LWJGLSoundImpl.java 26 Apr 2005 22:34:17 -0000 1.6 *************** *** 152,174 **** // TODO check the sfx direct buffer size // 2MB sfx buffer ! ByteBuffer sfxDataBuffer = Lib.newByteBuffer(2 * 1024 * 1024); /* (non-Javadoc) * @see jake2.sound.SoundImpl#RegisterSound(jake2.sound.sfx_t) */ ! private void initBuffer(sfx_t sfx) { ! if (sfx.cache == null ) { ! //System.out.println(sfx.name + " " + sfx.cache.length+ " " + sfx.cache.loopstart + " " + sfx.cache.speed + " " + sfx.cache.stereo + " " + sfx.cache.width); ! return; ! } ! ! int format = AL10.AL_FORMAT_MONO16; ByteBuffer data = sfxDataBuffer.slice(); ! data.put(sfx.cache.data, 0, sfx.cache.data.length); ! data.rewind(); ! data.limit(sfx.cache.data.length); ! int freq = sfx.cache.speed; ! ! AL10.alBufferData( buffers.get(sfx.bufferId), format, data, freq); } --- 152,165 ---- // TODO check the sfx direct buffer size // 2MB sfx buffer ! private ByteBuffer sfxDataBuffer = Lib.newByteBuffer(2 * 1024 * 1024); /* (non-Javadoc) * @see jake2.sound.SoundImpl#RegisterSound(jake2.sound.sfx_t) */ ! private void initBuffer(byte[] samples, int bufferId, int freq) { ByteBuffer data = sfxDataBuffer.slice(); ! data.put(samples).flip(); ! AL10.alBufferData(buffers.get(bufferId), AL10.AL_FORMAT_MONO16, ! data, freq); } *************** *** 485,490 **** sfxcache_t sc = WaveLoader.LoadSound(s); if (sc != null) { ! initBuffer(s); s.isCached = true; } return sc; --- 476,483 ---- sfxcache_t sc = WaveLoader.LoadSound(s); if (sc != null) { ! initBuffer(sc.data, s.bufferId, sc.speed); s.isCached = true; + // free samples for GC + s.cache.data = null; } return sc; |