diff options
author | Janne Grunau <janne-libav@jannau.net> | 2011-10-23 03:11:44 +0400 |
---|---|---|
committer | Janne Grunau <janne-libav@jannau.net> | 2011-10-25 14:07:58 +0400 |
commit | 80e36425fb25a53f89b735d00ff3e7c293a9472c (patch) | |
tree | d44f4f0a38f1aab12539bf29249864db7ff2bfe5 /libavcodec/aacdec.c | |
parent | b2e56e08c90a89c5566a1a391fec7c3136d49e3c (diff) |
aacdec: initialize sbr context only in new channel elements
Diffstat (limited to 'libavcodec/aacdec.c')
-rw-r--r-- | libavcodec/aacdec.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c index e4e18d63a3..d1774a1f98 100644 --- a/libavcodec/aacdec.c +++ b/libavcodec/aacdec.c @@ -184,9 +184,11 @@ static av_cold int che_configure(AACContext *ac, int type, int id, int *channels) { if (che_pos[type][id]) { - if (!ac->che[type][id] && !(ac->che[type][id] = av_mallocz(sizeof(ChannelElement)))) - return AVERROR(ENOMEM); - ff_aac_sbr_ctx_init(ac, &ac->che[type][id]->sbr); + if (!ac->che[type][id]) { + if (!(ac->che[type][id] = av_mallocz(sizeof(ChannelElement)))) + return AVERROR(ENOMEM); + ff_aac_sbr_ctx_init(ac, &ac->che[type][id]->sbr); + } if (type != TYPE_CCE) { ac->output_data[(*channels)++] = ac->che[type][id]->ch[0].ret; if (type == TYPE_CPE || |