aboutsummaryrefslogtreecommitdiff
path: root/engines/saga
diff options
context:
space:
mode:
authorFilippos Karapetis2009-08-17 09:19:53 +0000
committerFilippos Karapetis2009-08-17 09:19:53 +0000
commit374dccc90563c8a1b67c94bf9fb15d7d5b065c1e (patch)
treefdca24b9223973d51f47ad779ddba307b89f1b44 /engines/saga
parent71c9700420237834d2e02a29eb6c0d0508a463b7 (diff)
downloadscummvm-rg350-374dccc90563c8a1b67c94bf9fb15d7d5b065c1e.tar.gz
scummvm-rg350-374dccc90563c8a1b67c94bf9fb15d7d5b065c1e.tar.bz2
scummvm-rg350-374dccc90563c8a1b67c94bf9fb15d7d5b065c1e.zip
Cleanup
svn-id: r43460
Diffstat (limited to 'engines/saga')
-rw-r--r--engines/saga/sound.cpp24
1 files changed, 6 insertions, 18 deletions
diff --git a/engines/saga/sound.cpp b/engines/saga/sound.cpp
index fb7acaca8c..41d3b522b7 100644
--- a/engines/saga/sound.cpp
+++ b/engines/saga/sound.cpp
@@ -92,36 +92,24 @@ void Sound::playSoundBuffer(Audio::SoundHandle *handle, SoundBuffer &buffer, int
buffer.size, buffer.frequency, flags, -1, volume);
} else {
Audio::AudioStream *stream = NULL;
-#if defined(USE_MAD) || defined(USE_VORBIS) || defined(USE_FLAC)
- MemoryReadStream *tmp = NULL;
-#endif
+ Common::SeekableSubReadStream *soundStream =
+ new Common::SeekableSubReadStream(buffer.soundFile, (uint32)buffer.fileOffset + 9,
+ (uint32)buffer.fileOffset + buffer.size - 9);
switch (buffer.soundType) {
#ifdef USE_MAD
case kSoundMP3:
- debug(1, "Playing MP3 compressed sound");
- buffer.soundFile->seek((long)buffer.fileOffset, SEEK_SET);
- tmp = buffer.soundFile->readStream(buffer.size);
- assert(tmp);
- stream = Audio::makeMP3Stream(tmp, true);
+ stream = Audio::makeMP3Stream(soundStream, true);
break;
#endif
#ifdef USE_VORBIS
case kSoundOGG:
- debug(1, "Playing OGG compressed sound");
- buffer.soundFile->seek((long)buffer.fileOffset, SEEK_SET);
- tmp = buffer.soundFile->readStream(buffer.size);
- assert(tmp);
- stream = Audio::makeVorbisStream(tmp, true);
+ stream = Audio::makeVorbisStream(soundStream, true);
break;
#endif
#ifdef USE_FLAC
case kSoundFLAC:
- debug(1, "Playing FLAC compressed sound");
- buffer.soundFile->seek((long)buffer.fileOffset, SEEK_SET);
- tmp = buffer.soundFile->readStream(buffer.size);
- assert(tmp);
- stream = Audio::makeFlacStream(tmp, true);
+ stream = Audio::makeFlacStream(soundStream, true);
break;
#endif
default: