diff options
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/camera/EffectsRecorder.java | 1 | ||||
-rw-r--r-- | src/com/android/camera/VideoCamera.java | 23 |
2 files changed, 11 insertions, 13 deletions
diff --git a/src/com/android/camera/EffectsRecorder.java b/src/com/android/camera/EffectsRecorder.java index be33d31..f78f5dc 100644 --- a/src/com/android/camera/EffectsRecorder.java +++ b/src/com/android/camera/EffectsRecorder.java @@ -232,6 +232,7 @@ public class EffectsRecorder { default: break; } + if (mLogVerbose) Log.v(TAG, "Setting orientation hint to: " + degrees); mOrientationHint = degrees; setFaceDetectOrientation(degrees); diff --git a/src/com/android/camera/VideoCamera.java b/src/com/android/camera/VideoCamera.java index 73ba11f..acdc11e 100644 --- a/src/com/android/camera/VideoCamera.java +++ b/src/com/android/camera/VideoCamera.java @@ -521,7 +521,9 @@ public class VideoCamera extends ActivityBase if (mOrientationCompensation != orientationCompensation) { mOrientationCompensation = orientationCompensation; if (effectsActive()) { - mEffectsRecorder.setOrientationHint(orientationCompensation); + CameraInfo info = CameraHolder.instance().getCameraInfo()[mCameraId]; + int rotation = (info.orientation + mOrientation) % 360;; + mEffectsRecorder.setOrientationHint(rotation); } // Do not rotate the icons during recording because the video // orientation is fixed after recording. @@ -884,13 +886,14 @@ public class VideoCamera extends ActivityBase } mPreviewing = false; } + + mDisplayRotation = Util.getDisplayRotation(this); + int orientation = Util.getDisplayOrientation(mDisplayRotation, mCameraId); + mCameraDevice.setDisplayOrientation(orientation); + setCameraParameters(); + if (!effectsActive()) { setPreviewDisplay(mSurfaceHolder); - mDisplayRotation = Util.getDisplayRotation(this); - int orientation = Util.getDisplayOrientation(mDisplayRotation, mCameraId); - mCameraDevice.setDisplayOrientation(orientation); - setCameraParameters(); - try { mCameraDevice.startPreview(); } catch (Throwable ex) { @@ -898,8 +901,6 @@ public class VideoCamera extends ActivityBase throw new RuntimeException("startPreview failed", ex); } } else { - setCameraParameters(); - initializeEffectsPreview(); Log.v(TAG, "effectsStartPreview"); mEffectsRecorder.startPreview(); @@ -1242,11 +1243,7 @@ public class VideoCamera extends ActivityBase int rotation = 0; if (mOrientation != OrientationEventListener.ORIENTATION_UNKNOWN) { CameraInfo info = CameraHolder.instance().getCameraInfo()[mCameraId]; - if (info.facing == CameraInfo.CAMERA_FACING_FRONT) { - rotation = (info.orientation - mOrientation + 360) % 360; - } else { // back-facing camera - rotation = (info.orientation + mOrientation) % 360; - } + rotation = (info.orientation + mOrientation) % 360; } mEffectsRecorder.setOrientationHint(rotation); mOrientationHint = rotation; |