diff --git a/src/common.c b/src/common.c index 3be78e87..98562025 100644 --- a/src/common.c +++ b/src/common.c @@ -18,7 +18,7 @@ static const char *modes[5] = {"Stereo", "Joint-Stereo", "Dual-Channel", "Single static const char *smodes[5] = { "stereo", "joint-stereo", "dual-channel", "mono", "invalid" }; static const char *layers[4] = { "Unknown" , "I", "II", "III" }; static const char *versions[4] = {"1.0", "2.0", "2.5", "x.x" }; -static const int samples_pre_frame[4][4] = +static const int samples_per_frame[4][4] = { { -1,384,1152,1152 }, /* MPEG 1 */ { -1,384,1152,576 }, /* MPEG 2 */ @@ -91,7 +91,7 @@ void print_header(mpg123_handle *mh) { case MPG123_CBR: if(i.bitrate) fprintf(stderr, "%d kbit/s", i.bitrate); - else fprintf(stderr, "%d kbit/s (free format)", (int)((double)i.framesize*8*i.rate*0.001/samples_pre_frame[i.version][i.layer]+0.5)); + else fprintf(stderr, "%d kbit/s (free format)", (int)((double)(i.framesize+4)*8*i.rate*0.001/samples_per_frame[i.version][i.layer]+0.5)); break; case MPG123_VBR: fprintf(stderr, "VBR"); break; case MPG123_ABR: fprintf(stderr, "%d kbit/s ABR", i.abr_rate); break; @@ -113,7 +113,7 @@ void print_header_compact(mpg123_handle *mh) { case MPG123_CBR: if(i.bitrate) fprintf(stderr, "%d kbit/s", i.bitrate); - else fprintf(stderr, "%d kbit/s (free format)", (int)((double)i.framesize*8*i.rate*0.001/samples_pre_frame[i.version][i.layer]+0.5)); + else fprintf(stderr, "%d kbit/s (free format)", (int)((double)i.framesize*8*i.rate*0.001/samples_per_frame[i.version][i.layer]+0.5)); break; case MPG123_VBR: fprintf(stderr, "VBR"); break; case MPG123_ABR: fprintf(stderr, "%d kbit/s ABR", i.abr_rate); break;