src/mixer.cpp
branchNewGRF_ports
changeset 10991 d8811e327d12
parent 10724 68a692eacf22
child 11137 16d0ea29e638
--- a/src/mixer.cpp	Tue May 27 00:50:55 2008 +0000
+++ b/src/mixer.cpp	Tue Jun 17 10:32:49 2008 +0000
@@ -104,7 +104,7 @@
 	return NULL;
 }
 
-void MxSetChannelRawSrc(MixerChannel *mc, int8 *mem, uint size, uint rate, uint flags)
+void MxSetChannelRawSrc(MixerChannel *mc, int8 *mem, size_t size, uint rate, uint flags)
 {
 	mc->memory = mem;
 	mc->flags = flags;
@@ -114,12 +114,12 @@
 	mc->frac_speed = (rate << 16) / _play_rate;
 
 	/* adjust the magnitude to prevent overflow */
-	while (size & 0xFFFF0000) {
+	while (size & ~0xFFFF) {
 		size >>= 1;
 		rate = (rate >> 1) + 1;
 	}
 
-	mc->samples_left = size * _play_rate / rate;
+	mc->samples_left = (uint)size * _play_rate / rate;
 }
 
 void MxSetChannelVolume(MixerChannel *mc, uint left, uint right)