summaryrefslogtreecommitdiff
path: root/libavcodec/aacdec.c
diff options
context:
space:
mode:
authorNiel van der Westhuizen <espes@pequalsnp.com>2015-01-21 21:24:23 -0800
committerAlex Converse <alex.converse@gmail.com>2015-02-03 20:32:16 -0800
commit0ee2573347ecdb9cb5656001f7201d819eec16d8 (patch)
treef9b806bfe8ced5b5be4243b744c46dda2b373834 /libavcodec/aacdec.c
parentedd9ea3ffba1d5873dead1c57c74b1e3cc912167 (diff)
aacdec: Support for ER AAC in LATM
Diffstat (limited to 'libavcodec/aacdec.c')
-rw-r--r--libavcodec/aacdec.c12
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;