# HG changeset patch # User alexc # Date 1274300314 0 # Node ID 81885162397992343ae65ec972bac5b015e300c1 # Parent 0cb0697b7f578ae197e081c3729363e22dbd3640 Make aac_decode_frame() consume zero padding at the end of a packet. diff -r 0cb0697b7f57 -r 818851623979 aac.c --- a/aac.c Wed May 19 20:13:50 2010 +0000 +++ b/aac.c Wed May 19 20:18:34 2010 +0000 @@ -1954,6 +1954,7 @@ int err, elem_id, data_size_tmp; int buf_consumed; int samples = 1024, multiplier; + int buf_offset; init_get_bits(&gb, buf, buf_size * 8); @@ -2065,7 +2066,11 @@ ac->output_configured = OC_LOCKED; buf_consumed = (get_bits_count(&gb) + 7) >> 3; - return buf_size > buf_consumed ? buf_consumed : buf_size; + for (buf_offset = buf_consumed; buf_offset < buf_size; buf_offset++) + if (buf[buf_offset]) + break; + + return buf_size > buf_offset ? buf_consumed : buf_size; } static av_cold int aac_decode_close(AVCodecContext *avccontext)