[Scummvm-cvs-logs] SF.net SVN: scummvm:[47470] scummvm/trunk/sound/iff_sound.cpp

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sat Jan 23 14:33:27 CET 2010


Revision: 47470
          http://scummvm.svn.sourceforge.net/scummvm/?rev=47470&view=rev
Author:   fingolfin
Date:     2010-01-23 13:33:27 +0000 (Sat, 23 Jan 2010)

Log Message:
-----------
Let the 8SVX code directly instantiate a SubLoopingAudioStream

Modified Paths:
--------------
    scummvm/trunk/sound/iff_sound.cpp

Modified: scummvm/trunk/sound/iff_sound.cpp
===================================================================
--- scummvm/trunk/sound/iff_sound.cpp	2010-01-23 13:33:08 UTC (rev 47469)
+++ scummvm/trunk/sound/iff_sound.cpp	2010-01-23 13:33:27 UTC (rev 47470)
@@ -108,16 +108,21 @@
 	A8SVXLoader loader;
 	loader.load(input);
 
-	uint32 loopStart = 0, loopEnd = 0, flags = 0;
+	SeekableAudioStream *stream = Audio::makeRawMemoryStream((byte *)loader._data, loader._dataSize, DisposeAfterUse::YES, loader._header.samplesPerSec, 0);
+
+	uint32 loopStart = 0, loopEnd = 0;
 	if (loop) {
 		// the standard way to loop 8SVX audio implies use of the oneShotHiSamples and
 		// repeatHiSamples fields
 		loopStart = loader._header.oneShotHiSamples;
 		loopEnd = loader._header.oneShotHiSamples + loader._header.repeatHiSamples;
-		flags |= Audio::FLAG_LOOP;
+
+		return new SubLoopingAudioStream(stream, 0,
+					Timestamp(0, loopStart, loader._header.samplesPerSec),
+					Timestamp(0, loopEnd, loader._header.samplesPerSec));
 	}
 
-	return Audio::makeRawMemoryStream((byte *)loader._data, loader._dataSize, DisposeAfterUse::YES, loader._header.samplesPerSec, flags, loopStart, loopEnd);
+	return stream;
 }
 
 }


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