[Scummvm-cvs-logs] SF.net SVN: scummvm: [29345] scummvm/trunk/engines/saga/music.cpp

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Wed Oct 31 21:26:58 CET 2007


Revision: 29345
          http://scummvm.svn.sourceforge.net/scummvm/?rev=29345&view=rev
Author:   thebluegr
Date:     2007-10-31 13:26:57 -0700 (Wed, 31 Oct 2007)

Log Message:
-----------
Fix for bug #1800147 - "ITE: Scummvm exits with Audio warnings"

Modified Paths:
--------------
    scummvm/trunk/engines/saga/music.cpp

Modified: scummvm/trunk/engines/saga/music.cpp
===================================================================
--- scummvm/trunk/engines/saga/music.cpp	2007-10-31 20:02:38 UTC (rev 29344)
+++ scummvm/trunk/engines/saga/music.cpp	2007-10-31 20:26:57 UTC (rev 29345)
@@ -105,13 +105,19 @@
 			soundType = kSoundFLAC;
 		}
 
+		_file->seek((long)resourceData->offset + 9, SEEK_SET);
 		createCompressedStream();
-		resourceData->offset += 9;	// Skip compressed header
 	}
 
 	// Determine the end position
 	_filePos = resourceData->offset;
 	_endPos = _filePos + resourceData->size;
+
+	if (_compressedStream != NULL) {
+		_filePos += 9;	// skip compressed header
+		_endPos -= 9;	// decrease size by the size of the compressed header
+	}
+
 	_startPos = _filePos + loopStart;
 	if (_startPos >= _endPos)
 		_startPos = _filePos;
@@ -126,7 +132,7 @@
 
 void DigitalMusicInputStream::createCompressedStream() {
 	uint numLoops = _looping ? 0 : 1;
-	_memoryStream = _file->readStream(resourceData->size);
+	_memoryStream = _file->readStream(resourceData->size - 9);
 
 	switch (soundType) {
 #ifdef USE_MAD


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