[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