summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2014-09-10 19:02:45 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-09-10 19:02:45 +0000
commitb606de81ce5fffc8923c53cb7d5d00f5b423c9b9 (patch)
tree36c42d19417d20f633b0314cd7cb4e8aa2ee9657 /media
parent4bcbb07be57947ea1421519094f73577b1e263e6 (diff)
parent178e506350ef41609daaf307f598ef0bc4f82c71 (diff)
downloadframeworks_av-b606de81ce5fffc8923c53cb7d5d00f5b423c9b9.zip
frameworks_av-b606de81ce5fffc8923c53cb7d5d00f5b423c9b9.tar.gz
frameworks_av-b606de81ce5fffc8923c53cb7d5d00f5b423c9b9.tar.bz2
Merge "mediaplayer: limit number of outstanding buffer requests" into lmp-dev
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() {