Index: /libmpc/trunk/libmpcdec/streaminfo.c
===================================================================
--- /libmpc/trunk/libmpcdec/streaminfo.c	(revision 349)
+++ /libmpc/trunk/libmpcdec/streaminfo.c	(revision 350)
@@ -131,5 +131,5 @@
 	// convert gain info
 	if (si->gain_title != 0) {
-		int tmp = OLD_GAIN_REF * 256 - ((int)(mpc_int16_t)si->gain_title * 256 + 50) / 100;
+		int tmp = (int)((OLD_GAIN_REF - (mpc_int16_t)si->gain_title / 100.) * 256. + .5);
 		if (tmp >= (1 << 16) || tmp < 0) tmp = 0;
 		si->gain_title = (mpc_int16_t) tmp;
@@ -137,5 +137,5 @@
 
 	if (si->gain_album != 0) {
-		int tmp = OLD_GAIN_REF * 256 - ((int)(mpc_int16_t)si->gain_album * 256 + 50) / 100;
+		int tmp = (int)((OLD_GAIN_REF - (mpc_int16_t)si->gain_album / 100.) * 256. + .5);
 		if (tmp >= (1 << 16) || tmp < 0) tmp = 0;
 		si->gain_album = (mpc_int16_t) tmp;
