aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/imuse_digi/dimuse.cpp23
1 files changed, 10 insertions, 13 deletions
diff --git a/scumm/imuse_digi/dimuse.cpp b/scumm/imuse_digi/dimuse.cpp
index 6c6f620a1f..73beb1a9d2 100644
--- a/scumm/imuse_digi/dimuse.cpp
+++ b/scumm/imuse_digi/dimuse.cpp
@@ -203,19 +203,6 @@ void IMuseDigital::callback() {
track->mixerVol = vol;
track->mixerPan = pan;
- if (track->stream2) {
- if (_vm->_mixer->isReady()) {
- if (!track->started) {
- track->started = true;
- _vm->_mixer->playInputStream(&track->handle, track->stream2, false, vol, pan, -1, false);
- } else {
- _vm->_mixer->setChannelVolume(track->handle, vol);
- _vm->_mixer->setChannelBalance(track->handle, pan);
- }
- continue;
- }
- }
-
if (track->stream) {
byte *data = NULL;
int32 result = 0;
@@ -296,6 +283,16 @@ void IMuseDigital::callback() {
mixer_size -= result;
assert(mixer_size >= 0);
} while (mixer_size != 0);
+ } else if (track->stream2) {
+ if (_vm->_mixer->isReady()) {
+ if (!track->started) {
+ track->started = true;
+ _vm->_mixer->playInputStream(&track->handle, track->stream2, false, vol, pan, -1, false);
+ } else {
+ _vm->_mixer->setChannelVolume(track->handle, vol);
+ _vm->_mixer->setChannelBalance(track->handle, pan);
+ }
+ }
}
}
}