aboutsummaryrefslogtreecommitdiff
path: root/scumm/imuse_digi
diff options
context:
space:
mode:
authorMax Horn2004-01-22 19:43:36 +0000
committerMax Horn2004-01-22 19:43:36 +0000
commit747cbef8d7fa5dffab1a21d56726bf207211b80e (patch)
tree143f973a5aee2e7647ad1ea04510057205c1ed77 /scumm/imuse_digi
parented6aed43bf03b9aefcc9d4fb8a81f1455a0c1003 (diff)
downloadscummvm-rg350-747cbef8d7fa5dffab1a21d56726bf207211b80e.tar.gz
scummvm-rg350-747cbef8d7fa5dffab1a21d56726bf207211b80e.tar.bz2
scummvm-rg350-747cbef8d7fa5dffab1a21d56726bf207211b80e.zip
Fix for bug #882081
svn-id: r12574
Diffstat (limited to 'scumm/imuse_digi')
-rw-r--r--scumm/imuse_digi/dimuse.cpp2
-rw-r--r--scumm/imuse_digi/dimuse_sndmgr.h2
2 files changed, 3 insertions, 1 deletions
diff --git a/scumm/imuse_digi/dimuse.cpp b/scumm/imuse_digi/dimuse.cpp
index fba27316c6..bcda26a452 100644
--- a/scumm/imuse_digi/dimuse.cpp
+++ b/scumm/imuse_digi/dimuse.cpp
@@ -286,7 +286,9 @@ void IMuseDigital::startSound(int soundId, const char *soundName, int soundType,
channels = _sound->getChannels(_track[l].soundHandle);
freq = _sound->getFreq(_track[l].soundHandle);
+ assert(bits == 8 || bits == 12 || bits == 16);
assert(channels == 1 || channels == 2);
+ assert(0 < freq && freq <= 65535);
_track[l].iteration = _track[l].pullSize = freq * channels;
diff --git a/scumm/imuse_digi/dimuse_sndmgr.h b/scumm/imuse_digi/dimuse_sndmgr.h
index a593955be5..61cc4370c5 100644
--- a/scumm/imuse_digi/dimuse_sndmgr.h
+++ b/scumm/imuse_digi/dimuse_sndmgr.h
@@ -66,7 +66,7 @@ private:
public:
struct soundStruct {
- int16 freq; // frequency
+ uint16 freq; // frequency
byte channels; // stereo or mono
byte bits; // 8, 12, 16
int8 numJumps; // number of Jumps