diff options
Diffstat (limited to 'libavformat/mp3enc.c')
-rw-r--r-- | libavformat/mp3enc.c | 9 |
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); |