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
This commit is contained in:
Eino-Ville Talvala
2015-02-11 15:41:12 -08:00
parent 3292c0e264
commit b0acf7fcfa

View File

@@ -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));
}