diff options
author | Alex Converse <alex.converse@gmail.com> | 2012-03-21 10:11:02 -0700 |
---|---|---|
committer | Alex Converse <alex.converse@gmail.com> | 2012-03-23 14:56:44 -0700 |
commit | a237b38021cd3009cc78eeb974b596085f2fe393 (patch) | |
tree | 85ee453dd81c5ac7779943e6d94f1c3014eee8e2 | |
parent | 7beec7e29df051ce586e519861ac3203d36d8cf5 (diff) | |
download | ffmpeg-a237b38021cd3009cc78eeb974b596085f2fe393.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
-rw-r--r-- | libavcodec/aacps.c | 4 |
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; } |