Loading media/ndk/NdkImageReader.cpp +8 −2 Original line number Diff line number Diff line Loading @@ -357,8 +357,10 @@ AImageReader::~AImageReader() { it != mAcquiredImages.end(); it++) { AImage* image = *it; Mutex::Autolock _l(image->mLock); releaseImageLocked(image, /*releaseFenceFd*/-1); // Do not alter mAcquiredImages while we are iterating on it releaseImageLocked(image, /*releaseFenceFd*/-1, /*clearCache*/false); } mAcquiredImages.clear(); // Delete Buffer Items for (auto it = mBuffers.begin(); Loading Loading @@ -497,7 +499,7 @@ AImageReader::returnBufferItemLocked(BufferItem* buffer) { } void AImageReader::releaseImageLocked(AImage* image, int releaseFenceFd) { AImageReader::releaseImageLocked(AImage* image, int releaseFenceFd, bool clearCache) { BufferItem* buffer = image->mBuffer; if (buffer == nullptr) { // This should not happen, but is not fatal Loading @@ -521,6 +523,10 @@ AImageReader::releaseImageLocked(AImage* image, int releaseFenceFd) { image->mLockedBuffer = nullptr; image->mIsClosed = true; if (!clearCache) { return; } bool found = false; // cleanup acquired image list for (auto it = mAcquiredImages.begin(); Loading media/ndk/NdkImageReaderPriv.h +1 −1 Original line number Diff line number Diff line Loading @@ -88,7 +88,7 @@ struct AImageReader : public RefBase { media_status_t acquireImageLocked(/*out*/AImage** image, /*out*/int* fenceFd); // Called by AImage/~AImageReader to close image. Caller is responsible to grab AImage::mLock void releaseImageLocked(AImage* image, int releaseFenceFd); void releaseImageLocked(AImage* image, int releaseFenceFd, bool clearCache = true); static int getBufferWidth(BufferItem* buffer); static int getBufferHeight(BufferItem* buffer); Loading Loading
media/ndk/NdkImageReader.cpp +8 −2 Original line number Diff line number Diff line Loading @@ -357,8 +357,10 @@ AImageReader::~AImageReader() { it != mAcquiredImages.end(); it++) { AImage* image = *it; Mutex::Autolock _l(image->mLock); releaseImageLocked(image, /*releaseFenceFd*/-1); // Do not alter mAcquiredImages while we are iterating on it releaseImageLocked(image, /*releaseFenceFd*/-1, /*clearCache*/false); } mAcquiredImages.clear(); // Delete Buffer Items for (auto it = mBuffers.begin(); Loading Loading @@ -497,7 +499,7 @@ AImageReader::returnBufferItemLocked(BufferItem* buffer) { } void AImageReader::releaseImageLocked(AImage* image, int releaseFenceFd) { AImageReader::releaseImageLocked(AImage* image, int releaseFenceFd, bool clearCache) { BufferItem* buffer = image->mBuffer; if (buffer == nullptr) { // This should not happen, but is not fatal Loading @@ -521,6 +523,10 @@ AImageReader::releaseImageLocked(AImage* image, int releaseFenceFd) { image->mLockedBuffer = nullptr; image->mIsClosed = true; if (!clearCache) { return; } bool found = false; // cleanup acquired image list for (auto it = mAcquiredImages.begin(); Loading
media/ndk/NdkImageReaderPriv.h +1 −1 Original line number Diff line number Diff line Loading @@ -88,7 +88,7 @@ struct AImageReader : public RefBase { media_status_t acquireImageLocked(/*out*/AImage** image, /*out*/int* fenceFd); // Called by AImage/~AImageReader to close image. Caller is responsible to grab AImage::mLock void releaseImageLocked(AImage* image, int releaseFenceFd); void releaseImageLocked(AImage* image, int releaseFenceFd, bool clearCache = true); static int getBufferWidth(BufferItem* buffer); static int getBufferHeight(BufferItem* buffer); Loading