summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs/aacdec/AACDecoder.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-09-28 13:13:38 -0700
committerAndreas Huber <andih@google.com>2010-09-28 13:13:38 -0700
commitad3fcfe845163e6fd40e13faf179c6c595963256 (patch)
tree87da1d33c06ba61cbf911a1db14408c8f664ab47 /media/libstagefright/codecs/aacdec/AACDecoder.cpp
parent2b359ed5b5ba4775609c13408b2cf1336c2cc45b (diff)
downloadframeworks_base-ad3fcfe845163e6fd40e13faf179c6c595963256.zip
frameworks_base-ad3fcfe845163e6fd40e13faf179c6c595963256.tar.gz
frameworks_base-ad3fcfe845163e6fd40e13faf179c6c595963256.tar.bz2
Properly flush the AudioTrack/AudioSink on a seek request and make sure that both the mp3 decoder and aac software decoders start fresh after a seek without any dependency on previously decoded content.
Change-Id: I4909fdf19518dbabb6c340e2a31b50dfe6c5b067 related-to-bug: 3029947
Diffstat (limited to 'media/libstagefright/codecs/aacdec/AACDecoder.cpp')
-rw-r--r--media/libstagefright/codecs/aacdec/AACDecoder.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/media/libstagefright/codecs/aacdec/AACDecoder.cpp b/media/libstagefright/codecs/aacdec/AACDecoder.cpp
index e4ed5e6..f58c16d 100644
--- a/media/libstagefright/codecs/aacdec/AACDecoder.cpp
+++ b/media/libstagefright/codecs/aacdec/AACDecoder.cpp
@@ -171,6 +171,10 @@ status_t AACDecoder::read(
mInputBuffer->release();
mInputBuffer = NULL;
}
+
+ // Make sure that the next buffer output does not still
+ // depend on fragments from the last one decoded.
+ PVMP4AudioDecoderResetBuffer(mDecoderBuf);
} else {
seekTimeUs = -1;
}