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

Commit b0acf7fc authored by Eino-Ville Talvala's avatar Eino-Ville Talvala
Browse files

Legacy: Only set user surface dimensions on output surfaces

The GL layer gets exclusive use of the direct producer dimensions;
we should only set the user dimensions.

Bug: 16404608
Change-Id: Ie5b720104bdbee6b096b62520baa1c6b518c6c1c
parent 3292c0e2
Loading
Loading
Loading
Loading
+3 −9
Original line number Diff line number Diff line
@@ -598,15 +598,10 @@ static jint LegacyCameraDevice_nativeSetSurfaceDimens(JNIEnv* env, jobject thiz,
        ALOGE("%s: Could not retrieve native window from surface.", __FUNCTION__);
        return BAD_VALUE;
    }
    status_t err = native_window_set_buffers_dimensions(anw.get(), width, height);
    if (err != NO_ERROR) {
        ALOGE("%s: Error while setting surface dimens %s (%d).", __FUNCTION__, strerror(-err), err);
        return err;
    }

    // WAR - Set user dimensions also to avoid incorrect scaling after TextureView orientation
    // change.
    err = native_window_set_buffers_user_dimensions(anw.get(), width, height);
    // Set user dimensions only
    // The producer dimensions are owned by GL
    status_t err = native_window_set_buffers_user_dimensions(anw.get(), width, height);
    if (err != NO_ERROR) {
        ALOGE("%s: Error while setting surface user dimens %s (%d).", __FUNCTION__, strerror(-err),
                err);
@@ -750,4 +745,3 @@ int register_android_hardware_camera2_legacy_LegacyCameraDevice(JNIEnv* env)
            gCameraDeviceMethods,
            NELEM(gCameraDeviceMethods));
}