Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1d0afc45 authored by Wei Jia's avatar Wei Jia Committed by Android (Google) Code Review
Browse files

Merge "IMediaSource: release MediaBuffers when desired shared memory is not...

Merge "IMediaSource: release MediaBuffers when desired shared memory is not available." into nyc-dev
parents 4d363d46 027b8115
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -295,13 +295,19 @@ status_t BnMediaSource::onTransact(
                            mGroup->add_buffer(new MediaBuffer(allocateSize));
                        }

                        MediaBuffer *newBuf = NULL;
                        ret = mGroup->acquire_buffer(
                                &transferBuf, false /* nonBlocking */, usedSize);
                        if (ret != OK || transferBuf == NULL || transferBuf->mMemory == NULL) {
                                &newBuf, false /* nonBlocking */, usedSize);
                        if (ret != OK || newBuf == NULL || newBuf->mMemory == NULL) {
                            ALOGW("failed to acquire shared memory, ret %d", ret);
                            buf->release();
                            if (newBuf != NULL) {
                                newBuf->release();
                            }
                            reply->writeInt32(NULL_BUFFER);
                            return NO_ERROR;
                        }
                        transferBuf = newBuf;
                        memcpy(transferBuf->data(), (uint8_t*)buf->data() + buf->range_offset(),
                                buf->range_length());
                        offset = 0;