summaryrefslogtreecommitdiff
path: root/libavcodec/aacps.c
diff options
context:
space:
mode:
authorAlex Converse <alex.converse@gmail.com>2012-03-21 10:11:02 -0700
committerAlex Converse <alex.converse@gmail.com>2012-03-23 14:56:44 -0700
commita237b38021cd3009cc78eeb974b596085f2fe393 (patch)
tree85ee453dd81c5ac7779943e6d94f1c3014eee8e2 /libavcodec/aacps.c
parent7beec7e29df051ce586e519861ac3203d36d8cf5 (diff)
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
Diffstat (limited to 'libavcodec/aacps.c')
-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;
}