aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Converse <alex.converse@gmail.com>2012-03-21 10:11:02 -0700
committerReinhard Tartler <siretart@tauware.de>2012-04-29 22:07:02 +0200
commit9ddd3abe78b6bc0940df87f0fbd7386d794736b1 (patch)
tree433569c20ed1a193f64e74c2d3b624647c18db43
parent86bd0244ec01e873614d94e88177836a9ce650c1 (diff)
downloadffmpeg-9ddd3abe78b6bc0940df87f0fbd7386d794736b1.tar.gz
aac: Reset PS parameters on header decode failure.
If the next header frame codes zero envelopes the previous frame's values will be used. Consequently the invalid values must be cleared. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org (cherry picked from commit a237b38021cd3009cc78eeb974b596085f2fe393) Signed-off-by: Reinhard Tartler <siretart@tauware.de>
-rw-r--r--libavcodec/aacps.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/aacps.c b/libavcodec/aacps.c
index 3da912c6c7..6c9dcf2f1b 100644
--- a/libavcodec/aacps.c
+++ b/libavcodec/aacps.c
@@ -275,6 +275,10 @@ int ff_ps_read_data(AVCodecContext *avctx, GetBitContext *gb_host, PSContext *ps
err:
ps->start = 0;
skip_bits_long(gb_host, bits_left);
+ memset(ps->iid_par, 0, sizeof(ps->iid_par));
+ memset(ps->icc_par, 0, sizeof(ps->icc_par));
+ memset(ps->ipd_par, 0, sizeof(ps->ipd_par));
+ memset(ps->opd_par, 0, sizeof(ps->opd_par));
return bits_left;
}