Make aac_decode_frame() consume zero padding at the end of a packet.

Originally committed as revision 23195 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Alex Converse 2010-05-19 20:18:34 +00:00
parent 7382617a2f
commit c16d5a6f14

View File

@ -1954,6 +1954,7 @@ static int aac_decode_frame(AVCodecContext *avccontext, void *data,
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 @@ static int aac_decode_frame(AVCodecContext *avccontext, void *data,
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)