diff options
author | Lajos Molnar <lajos@google.com> | 2014-09-11 14:16:36 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-09-11 14:16:36 +0000 |
commit | d51c19cdca101fdc8464d3adae9c88f0be9a8a75 (patch) | |
tree | f559674c0bc480e77509b0e406fb349c7d9e72c5 /media | |
parent | 940c794be4d939d8ac3f1f3a279bbdfc04a54643 (diff) | |
parent | 55e9e26779b2e08b460da1af2a420767655bde12 (diff) | |
download | frameworks_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.cpp | 13 |
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() { |