From b5e2bb8c3c57de54163311d0c4dcfe38c4f75d04 Mon Sep 17 00:00:00 2001
From: Alex Converse <alex.converse@gmail.com>
Date: Thu, 4 Mar 2010 12:34:15 +0000
Subject: [PATCH] AAC: Return the number of bytes consumed in decoding a frame.

The libfaad wrapper does this.

Originally committed as revision 22206 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/aac.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavcodec/aac.c b/libavcodec/aac.c
index 160c775f7a5..0e014e083dc 100644
--- a/libavcodec/aac.c
+++ b/libavcodec/aac.c
@@ -1948,6 +1948,7 @@ static int aac_decode_frame(AVCodecContext *avccontext, void *data,
     GetBitContext gb;
     enum RawDataBlockType elem_type;
     int err, elem_id, data_size_tmp;
+    int buf_consumed;
 
     init_get_bits(&gb, buf, buf_size * 8);
 
@@ -2048,7 +2049,8 @@ static int aac_decode_frame(AVCodecContext *avccontext, void *data,
     if (ac->output_configured)
         ac->output_configured = OC_LOCKED;
 
-    return buf_size;
+    buf_consumed = (get_bits_count(&gb) + 7) >> 3;
+    return buf_size > buf_consumed ? buf_consumed : buf_size;
 }
 
 static av_cold int aac_decode_close(AVCodecContext *avccontext)
-- 
GitLab