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

Commit bb99f502 authored by guochuang's avatar guochuang Committed by guochuang
Browse files

Improve the use of pointer



BUG: 369257140
Test: atest android.hardware.camera2.cts.ImageWriterTest
Change-Id: I617ddaeb60d633e694a21b81e406e4c23094a02f
Signed-off-by: default avatarguochuang <guochuang@xiaomi.corp-partner.google.com>
parent d52e734a
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -1023,16 +1023,19 @@ static void Image_getLockedImage(JNIEnv* env, jobject thiz, LockedImage *image)
        return;
    }

    // Maintain a StrongPointer so that the GraphicBuffer isn't destroyed when the
    // StrongPointer in lockImageFromBuffer goes out of scope.
    sp<GraphicBuffer> bufferSp(buffer);
    // ImageWriter doesn't use crop by itself, app sets it, use the no crop version.
    const Rect noCrop(buffer->width, buffer->height);
    const Rect noCrop(bufferSp->width, bufferSp->height);
    status_t res = lockImageFromBuffer(
            buffer, GRALLOC_USAGE_SW_WRITE_OFTEN, noCrop, fenceFd, image);
            bufferSp, GRALLOC_USAGE_SW_WRITE_OFTEN, noCrop, fenceFd, image);
    // Clear the fenceFd as it is already consumed by lock call.
    Image_setFenceFd(env, thiz, /*fenceFd*/-1);
    if (res != OK) {
        jniThrowExceptionFmt(env, "java/lang/RuntimeException",
                "lock buffer failed for format 0x%x",
                buffer->getPixelFormat());
                bufferSp->getPixelFormat());
        return;
    }