From: Luca Barbato <lu_z...@gentoo.org> --- libavcodec/aac_ac3_parser.c | 57 ++++++++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 27 deletions(-)
diff --git a/libavcodec/aac_ac3_parser.c b/libavcodec/aac_ac3_parser.c index d3da9b7..ec19f23 100644 --- a/libavcodec/aac_ac3_parser.c +++ b/libavcodec/aac_ac3_parser.c @@ -22,8 +22,9 @@ #include "libavutil/channel_layout.h" #include "libavutil/common.h" -#include "parser.h" + #include "aac_ac3_parser.h" +#include "parser.h" int ff_aac_ac3_parse(AVCodecParserContext *s1, AVCodecContext *avctx, @@ -31,30 +32,32 @@ int ff_aac_ac3_parse(AVCodecParserContext *s1, const uint8_t *buf, int buf_size) { AACAC3ParseContext *s = s1->priv_data; - ParseContext *pc = &s->pc; + ParseContext *pc = &s->pc; int len, i; int new_frame_start; get_next: - i=END_NOT_FOUND; - if(s->remaining_size <= buf_size){ - if(s->remaining_size && !s->need_next_header){ - i= s->remaining_size; + i = END_NOT_FOUND; + if (s->remaining_size <= buf_size) { + if (s->remaining_size && !s->need_next_header) { + i = s->remaining_size; s->remaining_size = 0; - }else{ //we need a header first - len=0; - for(i=s->remaining_size; i<buf_size; i++){ - s->state = (s->state<<8) + buf[i]; - if((len=s->sync(s->state, s, &s->need_next_header, &new_frame_start))) + } else { // we need a header first + len = 0; + for (i = s->remaining_size; i < buf_size; i++) { + s->state = (s->state << 8) + buf[i]; + if ((len = + s->sync(s->state, s, &s->need_next_header, + &new_frame_start))) break; } - if(len<=0){ - i=END_NOT_FOUND; - }else{ - s->state=0; - i-= s->header_size -1; + if (len <= 0) { + i = END_NOT_FOUND; + } else { + s->state = 0; + i -= s->header_size - 1; s->remaining_size = len; - if(!new_frame_start || pc->index+i<=0){ + if (!new_frame_start || pc->index + i <= 0) { s->remaining_size += i; goto get_next; } @@ -62,24 +65,24 @@ get_next: } } - if(ff_combine_frame(pc, i, &buf, &buf_size)<0){ + if (ff_combine_frame(pc, i, &buf, &buf_size) < 0) { s->remaining_size -= FFMIN(s->remaining_size, buf_size); - *poutbuf = NULL; - *poutbuf_size = 0; + *poutbuf = NULL; + *poutbuf_size = 0; return buf_size; } - *poutbuf = buf; + *poutbuf = buf; *poutbuf_size = buf_size; /* update codec info */ - if(s->codec_id) + if (s->codec_id) avctx->codec_id = s->codec_id; /* Due to backwards compatible HE-AAC the sample rate, channel count, - and total number of samples found in an AAC ADTS header are not - reliable. Bit rate is still accurate because the total frame duration in - seconds is still correct (as is the number of bits in the frame). */ + * and total number of samples found in an AAC ADTS header are not + * reliable. Bit rate is still accurate because the total frame duration in + * seconds is still correct (as is the number of bits in the frame). */ if (avctx->codec_id != AV_CODEC_ID_AAC) { avctx->sample_rate = s->sample_rate; @@ -101,10 +104,10 @@ FF_ENABLE_DEPRECATION_WARNINGS avctx->channels = 2; avctx->channel_layout = AV_CH_LAYOUT_STEREO; } else { - avctx->channels = s->channels; + avctx->channels = s->channels; avctx->channel_layout = s->channel_layout; } - s1->duration = s->samples; + s1->duration = s->samples; avctx->audio_service_type = s->service_type; } -- 1.9.3 (Apple Git-50) _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel