summaryrefslogtreecommitdiff
path: root/libavcodec/aacdec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-02-04 13:31:24 +0100
committerMichael Niedermayer <michaelni@gmx.at>2015-02-04 13:31:24 +0100
commitf53aa3f4f331d845b76c336405435b76dc7204f9 (patch)
treeeb78153cb538fc7bbb7b0acbb03efc618f3a942b /libavcodec/aacdec.c
parent5348d7b605c0188852e6729c6dbc22afae590a73 (diff)
parent0ee2573347ecdb9cb5656001f7201d819eec16d8 (diff)
Merge commit '0ee2573347ecdb9cb5656001f7201d819eec16d8'
* commit '0ee2573347ecdb9cb5656001f7201d819eec16d8': aacdec: Support for ER AAC in LATM Conflicts: libavcodec/aacdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
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 249066d058..6a5a5d0074 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -3429,7 +3429,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, avpkt)) < 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, avpkt);
+ }
+ if (err < 0)
return err;
return muxlength;