aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2009-08-17 11:11:38 +0000
committerFilippos Karapetis2009-08-17 11:11:38 +0000
commita5e4eed30e3a237d220d2777b20b2a56729ec7e1 (patch)
tree703d6b8b2f56ddacfde86e4a7413c3b9dcd8d64b
parent3dfb1c3a96efc5dcd6e220ff5d8698d90c8be4de (diff)
downloadscummvm-rg350-a5e4eed30e3a237d220d2777b20b2a56729ec7e1.tar.gz
scummvm-rg350-a5e4eed30e3a237d220d2777b20b2a56729ec7e1.tar.bz2
scummvm-rg350-a5e4eed30e3a237d220d2777b20b2a56729ec7e1.zip
Ignore speech and sound effect samples with unknown compression, instead of trying to play them as raw sound. Some cleanup
svn-id: r43467
-rw-r--r--engines/saga/sound.cpp19
1 files changed, 6 insertions, 13 deletions
diff --git a/engines/saga/sound.cpp b/engines/saga/sound.cpp
index 202ce918de..58dc96a785 100644
--- a/engines/saga/sound.cpp
+++ b/engines/saga/sound.cpp
@@ -84,12 +84,10 @@ void Sound::playSoundBuffer(Audio::SoundHandle *handle, SoundBuffer &buffer, int
flags |= Audio::Mixer::FLAG_UNSIGNED;
if (!buffer.isCompressed) {
- if (handleType == kVoiceHandle)
- _mixer->playRaw(Audio::Mixer::kSpeechSoundType, handle, buffer.buffer,
- buffer.size, buffer.frequency, flags, -1, volume);
- else
- _mixer->playRaw(Audio::Mixer::kSFXSoundType, handle, buffer.buffer,
- buffer.size, buffer.frequency, flags, -1, volume);
+ Audio::Mixer::SoundType soundType = (handleType == kVoiceHandle) ?
+ Audio::Mixer::kSpeechSoundType : Audio::Mixer::kSFXSoundType;
+ _mixer->playRaw(soundType, handle, buffer.buffer,
+ buffer.size, buffer.frequency, flags, -1, volume);
} else {
Audio::AudioStream *stream = 0;
@@ -110,13 +108,8 @@ void Sound::playSoundBuffer(Audio::SoundHandle *handle, SoundBuffer &buffer, int
break;
#endif
default:
- // No compression, play it as raw sound
- if (handleType == kVoiceHandle)
- _mixer->playRaw(Audio::Mixer::kSpeechSoundType, handle, buffer.buffer,
- buffer.size, buffer.frequency, flags, -1, volume);
- else
- _mixer->playRaw(Audio::Mixer::kSFXSoundType, handle, buffer.buffer,
- buffer.size, buffer.frequency, flags, -1, volume);
+ // Unknown compression, ignore sample
+ warning("Unknown compression, ignoring sound");
break;
}