|
|
@ -150,18 +150,7 @@ public class Camera1Engine extends CameraBaseEngine implements |
|
|
|
protected void prepareNewMode() { |
|
|
|
protected void prepareNewMode() { |
|
|
|
mCaptureSize = computeCaptureSize(); |
|
|
|
mCaptureSize = computeCaptureSize(); |
|
|
|
Camera.Parameters params = mCamera.getParameters(); |
|
|
|
Camera.Parameters params = mCamera.getParameters(); |
|
|
|
if (getMode() == Mode.PICTURE) { |
|
|
|
setPictureSize(params); |
|
|
|
// setPictureSize is allowed during preview
|
|
|
|
|
|
|
|
params.setPictureSize(mCaptureSize.getWidth(), mCaptureSize.getHeight()); |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
// mCaptureSize in this case is a video size. The available video sizes are not
|
|
|
|
|
|
|
|
// necessarily a subset of the picture sizes, so we can't use the mCaptureSize value:
|
|
|
|
|
|
|
|
// it might crash. However, the setPictureSize() passed here is useless : we don't allow
|
|
|
|
|
|
|
|
// HQ pictures in video mode.
|
|
|
|
|
|
|
|
// While this might be lifted in the future, for now, just use a picture capture size.
|
|
|
|
|
|
|
|
Size pictureSize = computeCaptureSize(Mode.PICTURE); |
|
|
|
|
|
|
|
params.setPictureSize(pictureSize.getWidth(), pictureSize.getHeight()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
applyDefaultFocus(params); |
|
|
|
applyDefaultFocus(params); |
|
|
|
params.setRecordingHint(getMode() == Mode.VIDEO); |
|
|
|
params.setRecordingHint(getMode() == Mode.VIDEO); |
|
|
|
mCamera.setParameters(params); |
|
|
|
mCamera.setParameters(params); |
|
|
@ -238,18 +227,7 @@ public class Camera1Engine extends CameraBaseEngine implements |
|
|
|
params.setPreviewFormat(ImageFormat.NV21); |
|
|
|
params.setPreviewFormat(ImageFormat.NV21); |
|
|
|
// setPreviewSize is not allowed during preview
|
|
|
|
// setPreviewSize is not allowed during preview
|
|
|
|
params.setPreviewSize(mPreviewStreamSize.getWidth(), mPreviewStreamSize.getHeight()); |
|
|
|
params.setPreviewSize(mPreviewStreamSize.getWidth(), mPreviewStreamSize.getHeight()); |
|
|
|
if (getMode() == Mode.PICTURE) { |
|
|
|
setPictureSize(params); |
|
|
|
// setPictureSize is allowed during preview
|
|
|
|
|
|
|
|
params.setPictureSize(mCaptureSize.getWidth(), mCaptureSize.getHeight()); |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
// mCaptureSize in this case is a video size. The available video sizes are not
|
|
|
|
|
|
|
|
// necessarily a subset of the picture sizes, so we can't use the mCaptureSize value:
|
|
|
|
|
|
|
|
// it might crash. However, the setPictureSize() passed here is useless : we don't allow
|
|
|
|
|
|
|
|
// HQ pictures in video mode.
|
|
|
|
|
|
|
|
// While this might be lifted in the future, for now, just use a picture capture size.
|
|
|
|
|
|
|
|
Size pictureSize = computeCaptureSize(Mode.PICTURE); |
|
|
|
|
|
|
|
params.setPictureSize(pictureSize.getWidth(), pictureSize.getHeight()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
mCamera.setParameters(params); |
|
|
|
mCamera.setParameters(params); |
|
|
|
|
|
|
|
|
|
|
|
mCamera.setPreviewCallbackWithBuffer(null); // Release anything left
|
|
|
|
mCamera.setPreviewCallbackWithBuffer(null); // Release anything left
|
|
|
|