aboutsummaryrefslogtreecommitdiff
path: root/sound/wave.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sound/wave.cpp')
-rw-r--r--sound/wave.cpp19
1 files changed, 4 insertions, 15 deletions
diff --git a/sound/wave.cpp b/sound/wave.cpp
index 67aa7daa54..bcae1b7f10 100644
--- a/sound/wave.cpp
+++ b/sound/wave.cpp
@@ -173,21 +173,10 @@ AudioStream *makeWAVStream(Common::SeekableReadStream *stream, bool disposeAfter
return 0;
}
- if (type == 17) { // MS IMA ADPCM
- RewindableAudioStream *adpcm = makeADPCMStream(stream, disposeAfterUse, size, Audio::kADPCMMSIma, rate, (flags & Audio::Mixer::FLAG_STEREO) ? 2 : 1, blockAlign);
-
- if (loop)
- return new LoopingAudioStream(adpcm, 0);
- else
- return adpcm;
- } else if (type == 2) { // MS ADPCM
- RewindableAudioStream *adpcm = makeADPCMStream(stream, disposeAfterUse, size, Audio::kADPCMMS, rate, (flags & Audio::Mixer::FLAG_STEREO) ? 2 : 1, blockAlign);
-
- if (loop)
- return new LoopingAudioStream(adpcm, 0);
- else
- return adpcm;
- }
+ if (type == 17) // MS IMA ADPCM
+ return makeLoopingAudioStream(makeADPCMStream(stream, disposeAfterUse, size, Audio::kADPCMMSIma, rate, (flags & Audio::Mixer::FLAG_STEREO) ? 2 : 1, blockAlign), loop ? 0 : 1);
+ else if (type == 2) // MS ADPCM
+ return makeLoopingAudioStream(makeADPCMStream(stream, disposeAfterUse, size, Audio::kADPCMMS, rate, (flags & Audio::Mixer::FLAG_STEREO) ? 2 : 1, blockAlign), loop ? 0 : 1);
// Raw PCM. Just read everything at once.
// TODO: More elegant would be to wrap the stream.