aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorJanne Grunau <janne-libav@jannau.net>2011-10-23 01:11:44 +0200
committerJanne Grunau <janne-libav@jannau.net>2011-10-25 12:07:58 +0200
commit80e36425fb25a53f89b735d00ff3e7c293a9472c (patch)
treed44f4f0a38f1aab12539bf29249864db7ff2bfe5 /libavcodec
parentb2e56e08c90a89c5566a1a391fec7c3136d49e3c (diff)
downloadffmpeg-80e36425fb25a53f89b735d00ff3e7c293a9472c.tar.gz
aacdec: initialize sbr context only in new channel elements
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/aacdec.c8
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 ||