diff options
author | Niel van der Westhuizen <espes@pequalsnp.com> | 2015-01-21 21:24:23 -0800 |
---|---|---|
committer | Alex Converse <alex.converse@gmail.com> | 2015-02-03 20:32:16 -0800 |
commit | 0ee2573347ecdb9cb5656001f7201d819eec16d8 (patch) | |
tree | f9b806bfe8ced5b5be4243b744c46dda2b373834 | |
parent | edd9ea3ffba1d5873dead1c57c74b1e3cc912167 (diff) | |
download | ffmpeg-0ee2573347ecdb9cb5656001f7201d819eec16d8.tar.gz |
aacdec: Support for ER AAC in LATM
-rw-r--r-- | libavcodec/aacdec.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c index 90de2767d1..80dc79d162 100644 --- a/libavcodec/aacdec.c +++ b/libavcodec/aacdec.c @@ -3235,7 +3235,17 @@ static int latm_decode_frame(AVCodecContext *avctx, void *out, return AVERROR_INVALIDDATA; } - if ((err = aac_decode_frame_int(avctx, out, got_frame_ptr, &gb)) < 0) + switch (latmctx->aac_ctx.oc[1].m4ac.object_type) { + case AOT_ER_AAC_LC: + case AOT_ER_AAC_LTP: + case AOT_ER_AAC_LD: + case AOT_ER_AAC_ELD: + err = aac_decode_er_frame(avctx, out, got_frame_ptr, &gb); + break; + default: + err = aac_decode_frame_int(avctx, out, got_frame_ptr, &gb); + } + if (err < 0) return err; return muxlength; |