diff options
| author | Wu-cheng Li <wuchengli@google.com> | 2010-10-21 12:50:37 +0800 |
|---|---|---|
| committer | Wu-cheng Li <wuchengli@google.com> | 2010-10-25 14:56:22 +0800 |
| commit | 994c02bbfeba1dde5ef2761900a433933ac183f8 (patch) | |
| tree | 75fe725a1f6257ac20d266831e8d27d77cd8a945 /services/camera/libcameraservice/CameraService.cpp | |
| parent | b6a2256e5461160a89d077b761d3253d95ce869f (diff) | |
| download | frameworks_base-994c02bbfeba1dde5ef2761900a433933ac183f8.zip frameworks_base-994c02bbfeba1dde5ef2761900a433933ac183f8.tar.gz frameworks_base-994c02bbfeba1dde5ef2761900a433933ac183f8.tar.bz2 | |
Remove the FLIP_H/ROT_90 workaround from CameraService.do not merge
Now overlay does flip before rotation.
bug:3114236
Change-Id: I1780e56154566435a0ceeb2f101de7ed0a0613cb
Diffstat (limited to 'services/camera/libcameraservice/CameraService.cpp')
| -rw-r--r-- | services/camera/libcameraservice/CameraService.cpp | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp index 121819a..a64ddcf 100644 --- a/services/camera/libcameraservice/CameraService.cpp +++ b/services/camera/libcameraservice/CameraService.cpp @@ -153,7 +153,7 @@ sp<ICamera> CameraService::connect( CameraInfo info; HAL_getCameraInfo(cameraId, &info); client = new Client(this, cameraClient, hardware, cameraId, info.facing, - info.orientation, callingPid); + callingPid); mClient[cameraId] = client; LOG1("CameraService::connect X"); return client; @@ -295,7 +295,7 @@ void CameraService::playSound(sound_kind kind) { CameraService::Client::Client(const sp<CameraService>& cameraService, const sp<ICameraClient>& cameraClient, const sp<CameraHardwareInterface>& hardware, - int cameraId, int cameraFacing, int cameraOrientation, int clientPid) { + int cameraId, int cameraFacing, int clientPid) { int callingPid = getCallingPid(); LOG1("Client::Client E (pid %d)", callingPid); @@ -304,7 +304,6 @@ CameraService::Client::Client(const sp<CameraService>& cameraService, mHardware = hardware; mCameraId = cameraId; mCameraFacing = cameraFacing; - mCameraOrientation = cameraOrientation; mClientPid = clientPid; mUseOverlay = mHardware->useOverlay(); mMsgEnabled = 0; @@ -1203,18 +1202,15 @@ int CameraService::Client::getOrientation(int degrees, bool mirror) { else if (degrees == 90) return HAL_TRANSFORM_ROT_90; else if (degrees == 180) return HAL_TRANSFORM_ROT_180; else if (degrees == 270) return HAL_TRANSFORM_ROT_270; - } else { // mirror (horizontal flip) - // Now overlay does ROT_90 before FLIP_V or FLIP_H. It should be FLIP_V - // or FLIP_H first. - // TODO: change this after overlay is fixed. + } else { // Do mirror (horizontal flip) if (degrees == 0) { // FLIP_H and ROT_0 return HAL_TRANSFORM_FLIP_H; } else if (degrees == 90) { // FLIP_H and ROT_90 - return HAL_TRANSFORM_ROT_90 | HAL_TRANSFORM_FLIP_V; + return HAL_TRANSFORM_FLIP_H | HAL_TRANSFORM_ROT_90; } else if (degrees == 180) { // FLIP_H and ROT_180 return HAL_TRANSFORM_FLIP_V; } else if (degrees == 270) { // FLIP_H and ROT_270 - return HAL_TRANSFORM_ROT_90 | HAL_TRANSFORM_FLIP_H; + return HAL_TRANSFORM_FLIP_V | HAL_TRANSFORM_ROT_90; } } LOGE("Invalid setDisplayOrientation degrees=%d", degrees); |
