summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2014-09-11 14:16:36 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-09-11 14:16:36 +0000
commitd51c19cdca101fdc8464d3adae9c88f0be9a8a75 (patch)
treef559674c0bc480e77509b0e406fb349c7d9e72c5 /media
parent940c794be4d939d8ac3f1f3a279bbdfc04a54643 (diff)
parent55e9e26779b2e08b460da1af2a420767655bde12 (diff)
downloadframeworks_av-d51c19cdca101fdc8464d3adae9c88f0be9a8a75.zip
frameworks_av-d51c19cdca101fdc8464d3adae9c88f0be9a8a75.tar.gz
frameworks_av-d51c19cdca101fdc8464d3adae9c88f0be9a8a75.tar.bz2
am 55e9e267: am b606de81: Merge "mediaplayer: limit number of outstanding buffer requests" into lmp-dev
* commit '55e9e26779b2e08b460da1af2a420767655bde12': 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() {