diff options
author | Phil Burk <philburk@google.com> | 2014-09-19 09:28:32 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-09-19 09:28:32 +0000 |
commit | 5248af4357442289f8acc39dd7b8f574b2263d69 (patch) | |
tree | 11da67e8ce377a7ddd211318b2f4cba45f05fce3 /media | |
parent | 30e4413f96da08520d499f3601d7fefc1074b470 (diff) | |
parent | c0651e858ae4ef4c9a2df2e4506b4093b6666ae9 (diff) | |
download | frameworks_av-5248af4357442289f8acc39dd7b8f574b2263d69.zip frameworks_av-5248af4357442289f8acc39dd7b8f574b2263d69.tar.gz frameworks_av-5248af4357442289f8acc39dd7b8f574b2263d69.tar.bz2 |
am c0651e85: Merge "mediaplayer: fix buffer aggregation when video has offloaded audio" into lmp-dev
* commit 'c0651e858ae4ef4c9a2df2e4506b4093b6666ae9':
mediaplayer: fix buffer aggregation when video has offloaded audio
Diffstat (limited to 'media')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayer.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp index 5321deb..cdbea9f 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp @@ -1270,8 +1270,8 @@ status_t NuPlayer::feedDecoderInputData(bool audio, const sp<AMessage> &msg) { // Aggregate smaller buffers into a larger buffer. // The goal is to reduce power consumption. - // Unfortunately this does not work with the software AAC decoder. - bool doBufferAggregation = (audio && mOffloadAudio);; + // Note this will not work if the decoder requires one frame per buffer. + bool doBufferAggregation = (audio && mOffloadAudio); bool needMoreData = false; bool dropAccessUnit; @@ -1291,7 +1291,7 @@ status_t NuPlayer::feedDecoderInputData(bool audio, const sp<AMessage> &msg) { return err; } else if (err != OK) { if (err == INFO_DISCONTINUITY) { - if (mAggregateBuffer != NULL) { + if (doBufferAggregation && (mAggregateBuffer != NULL)) { // We already have some data so save this for later. mPendingAudioErr = err; mPendingAudioAccessUnit = accessUnit; @@ -1414,7 +1414,7 @@ status_t NuPlayer::feedDecoderInputData(bool audio, const sp<AMessage> &msg) { mAggregateBuffer->setRange(0, 0); // start empty } - if (mAggregateBuffer != NULL) { + if (doBufferAggregation && (mAggregateBuffer != NULL)) { int64_t timeUs; int64_t dummy; bool smallTimestampValid = accessUnit->meta()->findInt64("timeUs", &timeUs); @@ -1463,7 +1463,7 @@ status_t NuPlayer::feedDecoderInputData(bool audio, const sp<AMessage> &msg) { mCCDecoder->decode(accessUnit); } - if (mAggregateBuffer != NULL) { + if (doBufferAggregation && (mAggregateBuffer != NULL)) { ALOGV("feedDecoderInputData() reply with aggregated buffer, %zu", mAggregateBuffer->size()); reply->setBuffer("buffer", mAggregateBuffer); |