diff --strip-trailing-cr -u -r rockbox-daily-20060909_org/apps/recorder/recording.c rockbox-daily-20060909/apps/recorder/recording.c --- rockbox-daily-20060909_org/apps/recorder/recording.c 2006-09-04 06:00:50.000000000 +0200 +++ rockbox-daily-20060909/apps/recorder/recording.c 2006-09-11 22:15:02.000000000 +0200 @@ -195,11 +195,18 @@ return false; if (*peak_r > *peak_l) - balance_mem[peak_time % BAL_MEM_SIZE] = - MIN((10000 * *peak_r) / *peak_l - 10000, 15118); + { + if (*peak_l) + balance_mem[peak_time % BAL_MEM_SIZE] = + MIN((10000 * *peak_r) / *peak_l - 10000, 15118); + } else - balance_mem[peak_time % BAL_MEM_SIZE] = - MAX(10000 - (10000 * *peak_l) / *peak_r, -15118); + { + if (*peak_r) + balance_mem[peak_time % BAL_MEM_SIZE] = + MAX(10000 - (10000 * *peak_l) / *peak_r, -15118); + } + *balance = 0; int i; for (i = 0; i < BAL_MEM_SIZE; i++)