aboutsummaryrefslogtreecommitdiff
path: root/engines/saga/sound.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/saga/sound.cpp')
-rw-r--r--engines/saga/sound.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/engines/saga/sound.cpp b/engines/saga/sound.cpp
index 41d3b522b7..202ce918de 100644
--- a/engines/saga/sound.cpp
+++ b/engines/saga/sound.cpp
@@ -91,25 +91,22 @@ void Sound::playSoundBuffer(Audio::SoundHandle *handle, SoundBuffer &buffer, int
_mixer->playRaw(Audio::Mixer::kSFXSoundType, handle, buffer.buffer,
buffer.size, buffer.frequency, flags, -1, volume);
} else {
- Audio::AudioStream *stream = NULL;
- Common::SeekableSubReadStream *soundStream =
- new Common::SeekableSubReadStream(buffer.soundFile, (uint32)buffer.fileOffset + 9,
- (uint32)buffer.fileOffset + buffer.size - 9);
+ Audio::AudioStream *stream = 0;
switch (buffer.soundType) {
#ifdef USE_MAD
case kSoundMP3:
- stream = Audio::makeMP3Stream(soundStream, true);
+ stream = Audio::makeMP3Stream(new Common::MemoryReadStream(buffer.buffer, buffer.size, true), true);
break;
#endif
#ifdef USE_VORBIS
case kSoundOGG:
- stream = Audio::makeVorbisStream(soundStream, true);
+ stream = Audio::makeVorbisStream(new Common::MemoryReadStream(buffer.buffer, buffer.size, true), true);
break;
#endif
#ifdef USE_FLAC
case kSoundFLAC:
- stream = Audio::makeFlacStream(soundStream, true);
+ stream = Audio::makeFlacStream(new Common::MemoryReadStream(buffer.buffer, buffer.size, true), true);
break;
#endif
default: