[Scummvm-cvs-logs] CVS: scummvm/scumm/smush smush_mixer.cpp,1.5,1.6 smush_player.cpp,1.36,1.37
Max Horn
fingolfin at users.sourceforge.net
Sat Jun 21 12:59:01 CEST 2003
Update of /cvsroot/scummvm/scummvm/scumm/smush
In directory sc8-pr-cvs1:/tmp/cvs-serv23211
Modified Files:
smush_mixer.cpp smush_player.cpp
Log Message:
reduce code duplication a bit
Index: smush_mixer.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/smush_mixer.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- smush_mixer.cpp 7 Jun 2003 00:45:32 -0000 1.5
+++ smush_mixer.cpp 21 Jun 2003 19:58:38 -0000 1.6
@@ -108,44 +108,40 @@
} else {
int32 rate;
bool stereo, is_short;
+ void *data;
_channels[i].chan->getParameters(rate, stereo, is_short);
int32 size = _channels[i].chan->availableSoundData();
int32 flags = stereo ? SoundMixer::FLAG_STEREO : 0;
if (is_short) {
- short *data = new int16[size * (stereo ? 2 : 1) * 2];
- _channels[i].chan->getSoundData(data, size);
- if (_channels[i].chan->getRate() == 11025) size *= 2;
+ data = malloc(size * (stereo ? 2 : 1) * 4);
+ _channels[i].chan->getSoundData((int16 *)data, size);
+ if (_channels[i].chan->getRate() == 11025)
+ size *= 2;
size *= stereo ? 4 : 2;
- if (_silentMixer == false) {
- if (_channels[i].first) {
- _channels[i].mixer_index = _mixer->playStream(NULL, -1, data, size, rate, flags | SoundMixer::FLAG_16BITS);
- _channels[i].first = false;
- } else {
- _mixer->append(_channels[i].mixer_index, data, size, rate, flags | SoundMixer::FLAG_16BITS);
- }
- }
+ flags |= SoundMixer::FLAG_16BITS;
- delete []data;
} else {
- int8 *data = new int8[size * (stereo ? 2 : 1) * 2];
- _channels[i].chan->getSoundData(data, size);
- if (_channels[i].chan->getRate() == 11025) size *= 2;
+ data = malloc(size * (stereo ? 2 : 1) * 2);
+ _channels[i].chan->getSoundData((int8 *)data, size);
+ if (_channels[i].chan->getRate() == 11025)
+ size *= 2;
size *= stereo ? 2 : 1;
- if (_silentMixer == false) {
- if (_channels[i].first) {
- _channels[i].mixer_index = _mixer->playStream(NULL, -1, data, size, rate, flags | SoundMixer::FLAG_UNSIGNED);
- _channels[i].first = false;
- } else {
- _mixer->append(_channels[i].mixer_index, data, size, rate, flags | SoundMixer::FLAG_UNSIGNED);
- }
- }
+ flags |= SoundMixer::FLAG_UNSIGNED;
+ }
- delete []data;
+ if (_silentMixer == false) {
+ if (_channels[i].first) {
+ _channels[i].mixer_index = _mixer->playStream(NULL, -1, data, size, rate, flags);
+ _channels[i].first = false;
+ } else {
+ _mixer->append(_channels[i].mixer_index, data, size, rate, flags);
+ }
}
+ free(data);
}
}
}
Index: smush_player.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/smush_player.cpp,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -d -r1.36 -r1.37
--- smush_player.cpp 20 Jun 2003 11:21:52 -0000 1.36
+++ smush_player.cpp 21 Jun 2003 19:58:38 -0000 1.37
@@ -436,7 +436,7 @@
*dst++ = *d_src2++;
} else {
int16 val = (int8)value << variable2;
- *dst++ = val>> 8;
+ *dst++ = val >> 8;
*dst++ = (byte)(val);
}
value = *(d_src2++);
More information about the Scummvm-git-logs
mailing list