diff options
author | Lajos Molnar <lajos@google.com> | 2014-09-11 00:13:19 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-09-11 00:13:19 +0000 |
commit | ebea445f9344dbbe2ad560e340fb0ee3b9151650 (patch) | |
tree | 54c621357c61197861df5cb02713f9828bfc40e0 /media | |
parent | 42db212edc507588768479ec91acfb97b49b2837 (diff) | |
parent | b9b87fe9d9f3d91c05300a22920d7227a3f8eb83 (diff) | |
download | frameworks_av-ebea445f9344dbbe2ad560e340fb0ee3b9151650.zip frameworks_av-ebea445f9344dbbe2ad560e340fb0ee3b9151650.tar.gz frameworks_av-ebea445f9344dbbe2ad560e340fb0ee3b9151650.tar.bz2 |
am b9b87fe9: mediaplayer: release MediaBuffer in stale input buffers
* commit 'b9b87fe9d9f3d91c05300a22920d7227a3f8eb83':
mediaplayer: release MediaBuffer in stale input buffers
Diffstat (limited to 'media')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp index 8ce7baf..163a0b5 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp @@ -595,7 +595,18 @@ void NuPlayer::Decoder::onMessageReceived(const sp<AMessage> &msg) { { if (!isStaleReply(msg)) { onInputBufferFilled(msg); + } else { + /* release any MediaBuffer passed in the stale buffer */ + sp<ABuffer> buffer; + MediaBuffer *mediaBuffer = NULL; + if (msg->findBuffer("buffer", &buffer) && + buffer->meta()->findPointer( + "mediaBuffer", (void **)&mediaBuffer) && + mediaBuffer != NULL) { + mediaBuffer->release(); + } } + break; } |