summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs/aacdec
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2012-05-17 16:06:01 -0700
committerAndreas Huber <andih@google.com>2012-05-17 16:07:30 -0700
commite672a0eea2cdc2ed43e002f0583902f20705de57 (patch)
treec753696c7ff4db04867425f3f555fa0107b4eaec /media/libstagefright/codecs/aacdec
parent552477608b137fb66af126655c6865207a82d888 (diff)
downloadframeworks_av-e672a0eea2cdc2ed43e002f0583902f20705de57.zip
frameworks_av-e672a0eea2cdc2ed43e002f0583902f20705de57.tar.gz
frameworks_av-e672a0eea2cdc2ed43e002f0583902f20705de57.tar.bz2
Clear the decoder input buffer after it signalled an error to be able to continue.
Change-Id: I06d43723dea7688d63cfb05e7fc7754672788562 related-to-bug: 6419102
Diffstat (limited to 'media/libstagefright/codecs/aacdec')
-rw-r--r--media/libstagefright/codecs/aacdec/SoftAAC2.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/media/libstagefright/codecs/aacdec/SoftAAC2.cpp b/media/libstagefright/codecs/aacdec/SoftAAC2.cpp
index 4000686..953b0c5 100644
--- a/media/libstagefright/codecs/aacdec/SoftAAC2.cpp
+++ b/media/libstagefright/codecs/aacdec/SoftAAC2.cpp
@@ -101,7 +101,7 @@ void SoftAAC2::initPorts() {
status_t SoftAAC2::initDecoder() {
status_t status = UNKNOWN_ERROR;
- mAACDecoder = aacDecoder_Open(TT_MP4_RAW, /* num layers */ 1);
+ mAACDecoder = aacDecoder_Open(TT_MP4_ADIF, /* num layers */ 1);
if (mAACDecoder != NULL) {
mStreamInfo = aacDecoder_GetStreamInfo(mAACDecoder);
if (mStreamInfo != NULL) {
@@ -428,6 +428,8 @@ void SoftAAC2::onQueueFilled(OMX_U32 portIndex) {
// Discard input buffer.
inHeader->nFilledLen = 0;
+ aacDecoder_SetParam(mAACDecoder, AAC_TPDEC_CLEAR_BUFFER, 1);
+
// fall through
}