[Scummvm-cvs-logs] SF.net SVN: scummvm:[45099] scummvm/trunk/engines/sword2/sound.cpp

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Thu Oct 15 01:28:23 CEST 2009


Revision: 45099
          http://scummvm.svn.sourceforge.net/scummvm/?rev=45099&view=rev
Author:   fingolfin
Date:     2009-10-14 23:28:23 +0000 (Wed, 14 Oct 2009)

Log Message:
-----------
SWORD2: Switch from loadWAVFromStream to makeWAVStream.

This also fixes a memory leak (the MemoryReadStream wasn't being freed).

Modified Paths:
--------------
    scummvm/trunk/engines/sword2/sound.cpp

Modified: scummvm/trunk/engines/sword2/sound.cpp
===================================================================
--- scummvm/trunk/engines/sword2/sound.cpp	2009-10-14 23:22:32 UTC (rev 45098)
+++ scummvm/trunk/engines/sword2/sound.cpp	2009-10-14 23:28:23 UTC (rev 45099)
@@ -331,26 +331,18 @@
 		return RDERR_FXALREADYOPEN;
 
 	Common::MemoryReadStream *stream = new Common::MemoryReadStream(data, len);
-	int rate, size;
-	byte flags;
+	Audio::AudioStream *input = 0;
 
 	if (Sword2Engine::isPsx()) {
-		_vm->_mixer->playInputStream(soundType, handle, new Audio::VagStream(stream, loop), -1, vol, pan, true, false, isReverseStereo());
+		input = new Audio::VagStream(stream, loop);
 	} else {
-		if (!Audio::loadWAVFromStream(*stream, size, rate, flags)) {
-			warning("playFX: Not a valid WAV file");
-			return RDERR_INVALIDWAV;
-		}
+		input = Audio::makeWAVStream(stream, true, loop);
+	}
 
-		if (isReverseStereo())
-			flags |= Audio::Mixer::FLAG_REVERSE_STEREO;
+	assert(input);
 
-		if (loop)
-			flags |= Audio::Mixer::FLAG_LOOP;
+	_vm->_mixer->playInputStream(soundType, handle, input, -1, vol, pan, true, false, isReverseStereo());
 
-		_vm->_mixer->playRaw(soundType, handle, data + stream->pos(), size, rate, flags, -1, vol, pan, 0, 0);
-	}
-
 	return RD_OK;
 }
 


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