summaryrefslogtreecommitdiff
path: root/libavformat/mp3enc.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/mp3enc.c')
-rw-r--r--libavformat/mp3enc.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/libavformat/mp3enc.c b/libavformat/mp3enc.c
index eab483f850..3f2f02b943 100644
--- a/libavformat/mp3enc.c
+++ b/libavformat/mp3enc.c
@@ -185,13 +185,11 @@ static int mp3_write_xing(AVFormatContext *s)
header |= (srate_idx << 2) << 8;
header |= channels << 6;
- for (;;) {
+ for (;; bitrate_idx++) {
if (15 == bitrate_idx)
return -1;
- mask = (bitrate_idx << 4) << 8;
- header |= mask;
- avpriv_mpegaudio_decode_header(&c, header);
+ avpriv_mpegaudio_decode_header(&c, header | (bitrate_idx << (4+8)));
xing_offset=xing_offtbl[c.lsf == 1][c.nb_channels == 1];
needed = 4 // header
+ xing_offset
@@ -203,9 +201,6 @@ static int mp3_write_xing(AVFormatContext *s)
if (needed <= c.frame_size)
break;
-
- header &= ~mask;
- ++bitrate_idx;
}
avio_wb32(s->pb, header);