[Scummvm-cvs-logs] SF.net SVN: scummvm: [22016] scummvm/trunk/engines/simon/sound.cpp
kirben at users.sourceforge.net
kirben at users.sourceforge.net
Tue Apr 18 16:09:10 CEST 2006
Revision: 22016
Author: kirben
Date: 2006-04-18 16:08:41 -0700 (Tue, 18 Apr 2006)
ViewCVS: http://svn.sourceforge.net/scummvm/?rev=22016&view=rev
Log Message:
-----------
Fix sound memory leak in FF
Modified Paths:
--------------
scummvm/trunk/engines/simon/sound.cpp
Modified: scummvm/trunk/engines/simon/sound.cpp
===================================================================
--- scummvm/trunk/engines/simon/sound.cpp 2006-04-18 19:52:12 UTC (rev 22015)
+++ scummvm/trunk/engines/simon/sound.cpp 2006-04-18 23:08:41 UTC (rev 22016)
@@ -136,11 +136,11 @@
error("playSound: Not a valid WAV file");
}
- flags |= Audio::Mixer::FLAG_AUTOFREE | wavFlags;
+ flags |= wavFlags;
byte *buffer = (byte *)malloc(size);
_file->read(buffer, size);
- _mixer->playRaw(handle, buffer, size, rate, flags);
+ _mixer->playRaw(handle, buffer, size, rate, flags | Audio::Mixer::FLAG_AUTOFREE);
}
void VocSound::playSound(uint sound, Audio::SoundHandle *handle, byte flags) {
@@ -151,7 +151,6 @@
int size, rate;
byte *buffer = loadVOCFromStream(*_file, size, rate);
-
_mixer->playRaw(handle, buffer, size, rate, flags | Audio::Mixer::FLAG_AUTOFREE);
}
@@ -164,7 +163,6 @@
uint size = _file->readUint32BE();
byte *buffer = (byte *)malloc(size);
_file->read(buffer, size);
-
_mixer->playRaw(handle, buffer, size, 22050, flags | Audio::Mixer::FLAG_AUTOFREE);
}
@@ -563,13 +561,12 @@
error("playSoundData: Not a valid WAV data");
}
- byte *buffer = (byte *)malloc(size);
- memcpy(buffer, soundData + stream.pos(), size);
-
if (loop == true)
flags |= Audio::Mixer::FLAG_LOOP;
- _mixer->playRaw(handle, buffer, size, rate, flags, sound);
+ byte *buffer = (byte *)malloc(size);
+ memcpy(buffer, soundData + stream.pos(), size);
+ _mixer->playRaw(handle, buffer, size, rate, flags | Audio::Mixer::FLAG_AUTOFREE);
}
void Sound::playVoiceData(byte *soundData, uint sound) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list