summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2014-09-10 19:16:28 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-09-10 19:16:28 +0000
commit55e9e26779b2e08b460da1af2a420767655bde12 (patch)
treef5fca01c9ad6f32d5e68c862e7b5fb91394b5786 /media
parentb788e3d3bb54b7f133c5b501d60054995bfd9b82 (diff)
parentb606de81ce5fffc8923c53cb7d5d00f5b423c9b9 (diff)
downloadframeworks_av-55e9e26779b2e08b460da1af2a420767655bde12.zip
frameworks_av-55e9e26779b2e08b460da1af2a420767655bde12.tar.gz
frameworks_av-55e9e26779b2e08b460da1af2a420767655bde12.tar.bz2
am b606de81: Merge "mediaplayer: limit number of outstanding buffer requests" into lmp-dev
* commit 'b606de81ce5fffc8923c53cb7d5d00f5b423c9b9': mediaplayer: limit number of outstanding buffer requests
Diffstat (limited to 'media')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.cpp
index c9be0dd..ab7906a 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoderPassThrough.cpp
@@ -115,9 +115,12 @@ void NuPlayer::DecoderPassThrough::requestABuffer() {
notify->post();
mPendingBuffers++;
- sp<AMessage> message = new AMessage(kWhatRequestABuffer, id());
- message->setInt32("generation", mBufferGeneration);
- message->post();
+ // pending buffers will already result in requestABuffer
+ if (mPendingBuffers < kMaxPendingBuffers) {
+ sp<AMessage> message = new AMessage(kWhatRequestABuffer, id());
+ message->setInt32("generation", mBufferGeneration);
+ message->post();
+ }
return;
}
@@ -155,9 +158,7 @@ void android::NuPlayer::DecoderPassThrough::onInputBufferFilled(
void NuPlayer::DecoderPassThrough::onBufferConsumed(int32_t size) {
mPendingBuffers--;
mCachedBytes -= size;
- sp<AMessage> message = new AMessage(kWhatRequestABuffer, id());
- message->setInt32("generation", mBufferGeneration);
- message->post();
+ requestABuffer();
}
void NuPlayer::DecoderPassThrough::onFlush() {