[FFmpeg-cvslog] aacdec:only overwrite configuration if theres a actual change.

Michael Niedermayer git at videolan.org
Thu Oct 20 22:05:13 CEST 2011


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Thu Oct 20 21:57:52 2011 +0200| [b4d0e7804dbeeca179198791acddf3058771a32a] | committer: Michael Niedermayer

aacdec:only overwrite configuration if theres a actual change.
Fixes Ticket574

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b4d0e7804dbeeca179198791acddf3058771a32a
---

 libavcodec/aacdec.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
index 64f8972..6963d71 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -2321,8 +2321,8 @@ static int latm_decode_audio_specific_config(struct LATMContext *latmctx,
                                              GetBitContext *gb, int asclen)
 {
     AVCodecContext *avctx = latmctx->aac_ctx.avctx;
-    MPEG4AudioConfig m4ac;
     AACContext *ac= &latmctx->aac_ctx;
+    MPEG4AudioConfig m4ac=ac->m4ac;
     int  config_start_bit = get_bits_count(gb);
     int     bits_consumed, esize;
 
@@ -2338,7 +2338,8 @@ static int latm_decode_audio_specific_config(struct LATMContext *latmctx,
 
         if (bits_consumed < 0)
             return AVERROR_INVALIDDATA;
-        ac->m4ac= m4ac;
+        if(ac->m4ac.sample_rate != m4ac.sample_rate || m4ac.chan_config != ac->m4ac.chan_config)
+            ac->m4ac= m4ac;
 
         esize = (bits_consumed+7) / 8;
 



More information about the ffmpeg-cvslog mailing list