Loading media/ndk/NdkImage.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -53,7 +53,6 @@ AImage::isClosed() const { void AImage::close(int releaseFenceFd) { lockReader(); Mutex::Autolock _l(mLock); if (mIsClosed) { return; Loading @@ -71,7 +70,6 @@ AImage::close(int releaseFenceFd) { mBuffer = nullptr; mLockedBuffer = nullptr; mIsClosed = true; unlockReader(); } void Loading Loading @@ -622,7 +620,9 @@ EXPORT void AImage_deleteAsync(AImage* image, int releaseFenceFd) { ALOGV("%s", __FUNCTION__); if (image != nullptr) { image->lockReader(); image->close(releaseFenceFd); image->unlockReader(); if (!image->isClosed()) { LOG_ALWAYS_FATAL("Image close failed!"); } Loading media/ndk/NdkImageReader.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -349,8 +349,8 @@ AImageReader::~AImageReader() { for (auto it = mAcquiredImages.begin(); it != mAcquiredImages.end(); it++) { AImage* image = *it; Mutex::Autolock _l(image->mLock); releaseImageLocked(image, /*releaseFenceFd*/-1); image->close(); } // Delete Buffer Items Loading Loading @@ -502,6 +502,8 @@ AImageReader::releaseImageLocked(AImage* image, int releaseFenceFd) { mBufferItemConsumer->releaseBuffer(*buffer, bufferFence); returnBufferItemLocked(buffer); image->mBuffer = nullptr; image->mLockedBuffer = nullptr; image->mIsClosed = true; bool found = false; // cleanup acquired image list Loading media/ndk/NdkImageReaderPriv.h +1 −1 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ struct AImageReader : public RefBase { // Called by AImageReader_acquireXXX to acquire a Buffer and setup AImage. media_status_t acquireImageLocked(/*out*/AImage** image, /*out*/int* fenceFd); // Called by AImage to close image // Called by AImage/~AImageReader to close image. Caller is responsible to grab AImage::mLock void releaseImageLocked(AImage* image, int releaseFenceFd); static int getBufferWidth(BufferItem* buffer); Loading Loading
media/ndk/NdkImage.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -53,7 +53,6 @@ AImage::isClosed() const { void AImage::close(int releaseFenceFd) { lockReader(); Mutex::Autolock _l(mLock); if (mIsClosed) { return; Loading @@ -71,7 +70,6 @@ AImage::close(int releaseFenceFd) { mBuffer = nullptr; mLockedBuffer = nullptr; mIsClosed = true; unlockReader(); } void Loading Loading @@ -622,7 +620,9 @@ EXPORT void AImage_deleteAsync(AImage* image, int releaseFenceFd) { ALOGV("%s", __FUNCTION__); if (image != nullptr) { image->lockReader(); image->close(releaseFenceFd); image->unlockReader(); if (!image->isClosed()) { LOG_ALWAYS_FATAL("Image close failed!"); } Loading
media/ndk/NdkImageReader.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -349,8 +349,8 @@ AImageReader::~AImageReader() { for (auto it = mAcquiredImages.begin(); it != mAcquiredImages.end(); it++) { AImage* image = *it; Mutex::Autolock _l(image->mLock); releaseImageLocked(image, /*releaseFenceFd*/-1); image->close(); } // Delete Buffer Items Loading Loading @@ -502,6 +502,8 @@ AImageReader::releaseImageLocked(AImage* image, int releaseFenceFd) { mBufferItemConsumer->releaseBuffer(*buffer, bufferFence); returnBufferItemLocked(buffer); image->mBuffer = nullptr; image->mLockedBuffer = nullptr; image->mIsClosed = true; bool found = false; // cleanup acquired image list Loading
media/ndk/NdkImageReaderPriv.h +1 −1 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ struct AImageReader : public RefBase { // Called by AImageReader_acquireXXX to acquire a Buffer and setup AImage. media_status_t acquireImageLocked(/*out*/AImage** image, /*out*/int* fenceFd); // Called by AImage to close image // Called by AImage/~AImageReader to close image. Caller is responsible to grab AImage::mLock void releaseImageLocked(AImage* image, int releaseFenceFd); static int getBufferWidth(BufferItem* buffer); Loading