aboutsummaryrefslogtreecommitdiff
path: root/engines/saga
diff options
context:
space:
mode:
authorMax Horn2010-01-19 23:50:33 +0000
committerMax Horn2010-01-19 23:50:33 +0000
commitcebaa0b0d305aecbdd60424eff1890ebde66312a (patch)
tree6b24ac15f231dd9f3a9f00ae20af38326bcead8c /engines/saga
parentbce959e0465fd6d5f92b05f338ffde24820bb1ed (diff)
downloadscummvm-rg350-cebaa0b0d305aecbdd60424eff1890ebde66312a.tar.gz
scummvm-rg350-cebaa0b0d305aecbdd60424eff1890ebde66312a.tar.bz2
scummvm-rg350-cebaa0b0d305aecbdd60424eff1890ebde66312a.zip
Started to get rid of Audio::FLAG_LOOP
svn-id: r47397
Diffstat (limited to 'engines/saga')
-rw-r--r--engines/saga/sound.cpp9
-rw-r--r--engines/saga/sound.h2
2 files changed, 5 insertions, 6 deletions
diff --git a/engines/saga/sound.cpp b/engines/saga/sound.cpp
index 39867c9f37..cf647d0c53 100644
--- a/engines/saga/sound.cpp
+++ b/engines/saga/sound.cpp
@@ -64,19 +64,18 @@ SndHandle *Sound::getHandle() {
return NULL; // for compilers that don't support NORETURN
}
-void Sound::playSoundBuffer(Audio::SoundHandle *handle, SoundBuffer &buffer, int volume,
+void Sound::playSoundBuffer(Audio::SoundHandle *handle, const SoundBuffer &buffer, int volume,
sndHandleType handleType, bool loop) {
Audio::AudioStream *stream = 0;
- if (loop)
- buffer.flags |= Audio::FLAG_LOOP;
-
Audio::Mixer::SoundType soundType = (handleType == kVoiceHandle) ?
Audio::Mixer::kSpeechSoundType : Audio::Mixer::kSFXSoundType;
if (!buffer.isCompressed) {
- stream = Audio::makeRawMemoryStream(buffer.buffer, buffer.size, DisposeAfterUse::YES, buffer.frequency, buffer.flags, 0, 0);
+ stream = Audio::makeLoopingAudioStream(
+ Audio::makeRawMemoryStream(buffer.buffer, buffer.size, DisposeAfterUse::YES, buffer.frequency, buffer.flags),
+ loop ? 0 : 1);
} else {
// TODO / FIXME: It seems we don't loop compressed audio at all, but do loop uncompressed data.
diff --git a/engines/saga/sound.h b/engines/saga/sound.h
index 0aeb54a55f..845c0ab573 100644
--- a/engines/saga/sound.h
+++ b/engines/saga/sound.h
@@ -87,7 +87,7 @@ public:
private:
- void playSoundBuffer(Audio::SoundHandle *handle, SoundBuffer &buffer, int volume,
+ void playSoundBuffer(Audio::SoundHandle *handle, const SoundBuffer &buffer, int volume,
sndHandleType handleType, bool loop);
SndHandle *getHandle();