From 5add473048289ed235d69825cfc44a84a24118af Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Wed, 31 Oct 2007 20:26:57 +0000 Subject: Fix for bug #1800147 - "ITE: Scummvm exits with Audio warnings" svn-id: r29345 --- engines/saga/music.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'engines/saga') diff --git a/engines/saga/music.cpp b/engines/saga/music.cpp index 171da1cc8c..ae834d8e3a 100644 --- a/engines/saga/music.cpp +++ b/engines/saga/music.cpp @@ -105,13 +105,19 @@ DigitalMusicInputStream::DigitalMusicInputStream(SagaEngine *vm, ResourceContext 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 @@ DigitalMusicInputStream::~DigitalMusicInputStream() { void DigitalMusicInputStream::createCompressedStream() { uint numLoops = _looping ? 0 : 1; - _memoryStream = _file->readStream(resourceData->size); + _memoryStream = _file->readStream(resourceData->size - 9); switch (soundType) { #ifdef USE_MAD -- cgit v1.2.3