summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorWu-cheng Li <wuchengli@google.com>2010-10-21 12:50:37 +0800
committerWu-cheng Li <wuchengli@google.com>2010-10-25 14:56:22 +0800
commitb2ee05b6c453b7da24b23139489ad92bb2c79621 (patch)
treec87270874c46e1835b4c825bdd78109006856d3a /services
parent12ac08f2e1ffb74fd4efdc726066db15e6d3d50d (diff)
downloadframeworks_av-b2ee05b6c453b7da24b23139489ad92bb2c79621.zip
frameworks_av-b2ee05b6c453b7da24b23139489ad92bb2c79621.tar.gz
frameworks_av-b2ee05b6c453b7da24b23139489ad92bb2c79621.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')
-rw-r--r--services/camera/libcameraservice/CameraService.cpp14
-rw-r--r--services/camera/libcameraservice/CameraService.h2
2 files changed, 5 insertions, 11 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);
diff --git a/services/camera/libcameraservice/CameraService.h b/services/camera/libcameraservice/CameraService.h
index 0dec2ab..f09773d 100644
--- a/services/camera/libcameraservice/CameraService.h
+++ b/services/camera/libcameraservice/CameraService.h
@@ -109,7 +109,6 @@ private:
const sp<CameraHardwareInterface>& hardware,
int cameraId,
int cameraFacing,
- int mCameraOrientation,
int clientPid);
~Client();
@@ -162,7 +161,6 @@ private:
sp<ICameraClient> mCameraClient;
int mCameraId; // immutable after constructor
int mCameraFacing; // immutable after constructor
- int mCameraOrientation; // immutable after constructor
pid_t mClientPid;
sp<CameraHardwareInterface> mHardware; // cleared after disconnect()
bool mUseOverlay; // immutable after constructor