summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/camera/VideoModule.java12
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();