[Scummvm-cvs-logs] SF.net SVN: scummvm: [28836] scummvm/branches/gsoc2007-mixer/sound/rate.cpp

dogmatixman at users.sourceforge.net dogmatixman at users.sourceforge.net
Mon Sep 3 00:59:56 CEST 2007


Revision: 28836
          http://scummvm.svn.sourceforge.net/scummvm/?rev=28836&view=rev
Author:   dogmatixman
Date:     2007-09-02 15:59:56 -0700 (Sun, 02 Sep 2007)

Log Message:
-----------
Fixed circular buffer indexing for stereo streams.

Modified Paths:
--------------
    scummvm/branches/gsoc2007-mixer/sound/rate.cpp

Modified: scummvm/branches/gsoc2007-mixer/sound/rate.cpp
===================================================================
--- scummvm/branches/gsoc2007-mixer/sound/rate.cpp	2007-09-02 22:47:53 UTC (rev 28835)
+++ scummvm/branches/gsoc2007-mixer/sound/rate.cpp	2007-09-02 22:59:56 UTC (rev 28836)
@@ -433,7 +433,7 @@
 			 */
 			 
 			/* Circularly decrement inPos by numChan */
-			inPos = (inPos + (subLen - numChan)) % subLen;
+			inPos = (inPos + (numChan * subLen - numChan)) % (numChan * subLen);
 			
 			uint8 inLen;
 			
@@ -459,10 +459,10 @@
 		double *base = coeffs + (currBank * subLen);
 		 
 		for (i = 0; i < subLen; i++) {
-			accum0 += (double)inBuf[(inPos + numChan * i) % subLen]
+			accum0 += (double)inBuf[(inPos + numChan * i) % (numChan * subLen)]
 						* base[i];
 			if (stereo) {
-				accum1 += (double)inBuf[(inPos + numChan * i + 1) % subLen]
+				accum1 += (double)inBuf[(inPos + numChan * i + 1) % (numChan * subLen)]
 						* base[i];
 			}
 		}


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list