diff options
-rw-r--r-- | src/com/android/camera/VideoModule.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java index 0ee62bb9d..92a2a9493 100644 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java @@ -965,7 +965,6 @@ public class VideoModule implements CameraModule, } mMediaRecorder = new MediaRecorder(); - setupMediaRecorderPreviewDisplay(); // Unlock the camera object before passing it to media recorder. mCameraDevice.unlock(); mMediaRecorder.setCamera(mCameraDevice.getCamera()); @@ -974,6 +973,7 @@ public class VideoModule implements CameraModule, } mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); mMediaRecorder.setProfile(mProfile); + mMediaRecorder.setVideoSize(mProfile.videoFrameWidth, mProfile.videoFrameHeight); mMediaRecorder.setMaxDuration(mMaxVideoDurationInMs); if (mCaptureTimeLapse) { double fps = 1000 / (double) mTimeBetweenTimeLapseFrameCaptureMs; @@ -1022,6 +1022,7 @@ public class VideoModule implements CameraModule, } } mMediaRecorder.setOrientationHint(rotation); + setupMediaRecorderPreviewDisplay(); try { mMediaRecorder.prepare(); @@ -1463,6 +1464,7 @@ public class VideoModule implements CameraModule, @SuppressWarnings("deprecation") private void setCameraParameters() { mParameters.setPreviewSize(mDesiredPreviewWidth, mDesiredPreviewHeight); + mParameters.set("video-size", mProfile.videoFrameWidth+"x"+mProfile.videoFrameHeight); int[] fpsRange = CameraUtil.getMaxPreviewFpsRange(mParameters); if (fpsRange.length > 0) { mParameters.setPreviewFpsRange( @@ -1527,7 +1529,15 @@ public class VideoModule implements CameraModule, CameraProfile.QUALITY_HIGH); mParameters.setJpegQuality(jpegQuality); + boolean flag = false; + if (mPreviewing) { + stopPreview(); + flag = true; + } mCameraDevice.setParameters(mParameters); + if (flag) { + startPreview(); + } // Keep preview size up to date. mParameters = mCameraDevice.getParameters(); |