MediaBuffer: ABuffer will release MediaBuffer when it's destructed.
Bug: 17454455
Change-Id: Ia423bcc2e1fa39137f114eac44912ed15357bb99
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
index 87f85e7..601cd40 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
@@ -283,14 +283,9 @@
// handle widevine classic source - that fills an arbitrary input buffer
MediaBuffer *mediaBuffer = NULL;
- if (hasBuffer && buffer->meta()->findPointer(
- "mediaBuffer", (void **)&mediaBuffer)) {
- if (mediaBuffer == NULL) {
- // received no actual buffer
- ALOGW("[%s] received null MediaBuffer %s",
- mComponentName.c_str(), msg->debugString().c_str());
- buffer = NULL;
- } else {
+ if (hasBuffer) {
+ mediaBuffer = (MediaBuffer *)(buffer->getMediaBufferBase());
+ if (mediaBuffer != NULL) {
// likely filled another buffer than we requested: adjust buffer index
size_t ix;
for (ix = 0; ix < mInputBuffers.size(); ix++) {
@@ -598,16 +593,6 @@
{
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;