diff options
author | Justin Ruggles <justin.ruggles@gmail.com> | 2011-04-16 03:56:42 +0400 |
---|---|---|
committer | Justin Ruggles <justin.ruggles@gmail.com> | 2011-05-01 21:32:03 +0400 |
commit | 4142487d1cd8c555e13f156d1cc89f838099db10 (patch) | |
tree | fd0dbc90af7bf5a17db1c17e4e04eb85e19e7284 /libavcodec/ac3enc.c | |
parent | 987fe2dc55c2de4dd798cbd0ebcdae6a066faff7 (diff) |
ac3enc: return error if frame+exponent bits are too large instead of using
av_assert2().
This can occur in some very rare cases with low bitrates.
Diffstat (limited to 'libavcodec/ac3enc.c')
-rw-r--r-- | libavcodec/ac3enc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c index 00cb047374..47fd9b6a34 100644 --- a/libavcodec/ac3enc.c +++ b/libavcodec/ac3enc.c @@ -1052,7 +1052,8 @@ static int cbr_bit_allocation(AC3EncodeContext *s) int snr_offset, snr_incr; bits_left = 8 * s->frame_size - (s->frame_bits + s->exponent_bits); - av_assert2(bits_left >= 0); + if (bits_left < 0) + return AVERROR(EINVAL); snr_offset = s->coarse_snr_offset << 4; |