diff options
author | Johannes Schickel | 2010-01-07 16:34:56 +0000 |
---|---|---|
committer | Johannes Schickel | 2010-01-07 16:34:56 +0000 |
commit | d5fe29c3c949fda84a5a7a276160d57e646fc952 (patch) | |
tree | ba643bf1510a6fd061500abef7f08d432bbc7693 /sound | |
parent | ca5e1379452f7777fd032baeb342ce88634d1836 (diff) | |
download | scummvm-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.cpp | 9 | ||||
-rw-r--r-- | sound/wave.h | 10 |
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 |