aboutsummaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorJohannes Schickel2010-01-07 16:34:56 +0000
committerJohannes Schickel2010-01-07 16:34:56 +0000
commitd5fe29c3c949fda84a5a7a276160d57e646fc952 (patch)
treeba643bf1510a6fd061500abef7f08d432bbc7693 /sound
parentca5e1379452f7777fd032baeb342ce88634d1836 (diff)
downloadscummvm-rg350-d5fe29c3c949fda84a5a7a276160d57e646fc952.tar.gz
scummvm-rg350-d5fe29c3c949fda84a5a7a276160d57e646fc952.tar.bz2
scummvm-rg350-d5fe29c3c949fda84a5a7a276160d57e646fc952.zip
Make makeWAVStream return a RewindableAudioStream.
svn-id: r47129
Diffstat (limited to 'sound')
-rw-r--r--sound/wave.cpp9
-rw-r--r--sound/wave.h10
2 files changed, 7 insertions, 12 deletions
diff --git a/sound/wave.cpp b/sound/wave.cpp
index bcae1b7f10..a625d18d90 100644
--- a/sound/wave.cpp
+++ b/sound/wave.cpp
@@ -161,7 +161,7 @@ bool loadWAVFromStream(Common::SeekableReadStream &stream, int &size, int &rate,
return true;
}
-AudioStream *makeWAVStream(Common::SeekableReadStream *stream, bool disposeAfterUse, bool loop) {
+RewindableAudioStream *makeWAVStream(Common::SeekableReadStream *stream, bool disposeAfterUse) {
int size, rate;
byte flags;
uint16 type;
@@ -174,9 +174,9 @@ AudioStream *makeWAVStream(Common::SeekableReadStream *stream, bool disposeAfter
}
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);
+ return makeADPCMStream(stream, disposeAfterUse, size, Audio::kADPCMMSIma, rate, (flags & Audio::Mixer::FLAG_STEREO) ? 2 : 1, blockAlign);
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);
+ return makeADPCMStream(stream, disposeAfterUse, size, Audio::kADPCMMS, rate, (flags & Audio::Mixer::FLAG_STEREO) ? 2 : 1, blockAlign);
// Raw PCM. Just read everything at once.
// TODO: More elegant would be to wrap the stream.
@@ -189,9 +189,6 @@ AudioStream *makeWAVStream(Common::SeekableReadStream *stream, bool disposeAfter
// Since we allocated our own buffer for the data, we must set the autofree flag.
flags |= Audio::Mixer::FLAG_AUTOFREE;
-
- if (loop)
- flags |= Audio::Mixer::FLAG_LOOP;
return makeLinearInputStream(data, size, rate, flags, 0, 0);
}
diff --git a/sound/wave.h b/sound/wave.h
index b89d87ae4b..542c38a31d 100644
--- a/sound/wave.h
+++ b/sound/wave.h
@@ -44,7 +44,7 @@ namespace Common { class SeekableReadStream; }
namespace Audio {
-class AudioStream;
+class RewindableAudioStream;
/**
* Try to load a WAVE from the given seekable stream. Returns true if
@@ -70,13 +70,11 @@ extern bool loadWAVFromStream(
*
* @param stream the SeekableReadStream from which to read the WAVE data
* @param disposeAfterUse whether to delete the stream after use
- * @param loop whether to loop the sound (infinitely)
- * @return a new AudioStream, or NULL, if an error occured
+ * @return a new RewindableAudioStream, or NULL, if an error occured
*/
-AudioStream *makeWAVStream(
+RewindableAudioStream *makeWAVStream(
Common::SeekableReadStream *stream,
- bool disposeAfterUse = false,
- bool loop = false);
+ bool disposeAfterUse = false);
} // End of namespace Audio