[Scummvm-cvs-logs] CVS: scummvm/scumm/imuse_digi dimuse.cpp,1.45,1.46
Max Horn
fingolfin at users.sourceforge.net
Sat Feb 14 04:08:02 CET 2004
Update of /cvsroot/scummvm/scummvm/scumm/imuse_digi
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29199/scumm/imuse_digi
Modified Files:
dimuse.cpp
Log Message:
Explaining odd hacks with a comment is usually a good idea :-)
Index: dimuse.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi/dimuse.cpp,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -d -r1.45 -r1.46
--- dimuse.cpp 14 Feb 2004 10:52:08 -0000 1.45
+++ dimuse.cpp 14 Feb 2004 12:01:07 -0000 1.46
@@ -296,8 +296,13 @@
assert(channels == 1 || channels == 2);
assert(0 < freq && freq <= 65535);
- freq /= 25;
- freq *= 25;
+ // Round the frequency to a multiple of 25. This is done to
+ // ensure we don't run into data under-/overflows (this is a
+ // design limitation of the current IMuseDigital code, which
+ // pushes data 'blindly' into the mixer, instead of providing
+ // a pull based interface, i.e. a custom AudioInputStream
+ // subclass).
+ freq -= (fraq % 25);
_track[l].iteration = _track[l].pullSize = freq * channels;
More information about the Scummvm-git-logs
mailing list