[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