summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/CaptureModule.java
diff options
context:
space:
mode:
authorjunjiez <junjiez@codeaurora.org>2018-12-19 14:43:55 +0800
committerjunjiez <junjiez@codeaurora.org>2018-12-21 17:31:31 +0800
commitfb588ee269d1fd40776c4286e7b6f7a2a9f0b552 (patch)
tree4b9a28ea0deb7f5b6d0d2cbd3e9999da1ed71dd2 /src/com/android/camera/CaptureModule.java
parentc48104739d7221ff3c617f34f2d6c63be5888288 (diff)
downloadandroid_packages_apps_Snap-fb588ee269d1fd40776c4286e7b6f7a2a9f0b552.tar.gz
android_packages_apps_Snap-fb588ee269d1fd40776c4286e7b6f7a2a9f0b552.tar.bz2
android_packages_apps_Snap-fb588ee269d1fd40776c4286e7b6f7a2a9f0b552.zip
SnapdraongCamera:HEIF improvement
1.Remove JPEG output config when HEIF is enabled. 2.Close heifWrite after unlock focus to ensure the data is arrived. CRs-Fixed: 2371414 Change-Id: Ic72630a690cf2f5af9bcafaee1d5bf013b66cbe5
Diffstat (limited to 'src/com/android/camera/CaptureModule.java')
-rwxr-xr-xsrc/com/android/camera/CaptureModule.java49
1 files changed, 25 insertions, 24 deletions
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java
index b2ebc34be..464e065eb 100755
--- a/src/com/android/camera/CaptureModule.java
+++ b/src/com/android/camera/CaptureModule.java
@@ -1614,7 +1614,9 @@ public class CaptureModule implements CameraModule, PhotoController,
mPreviewRequestBuilder[id].addTarget(surs);
list.add(surs);
}
- list.add(mImageReader[id].getSurface());
+ if (mSettingsManager.getSavePictureFormat() == SettingsManager.JPEG_FORMAT) {
+ list.add(mImageReader[id].getSurface());
+ }
if (mSaveRaw) {
list.add(mRawImageReader[id].getSurface());
}
@@ -2227,14 +2229,9 @@ public class CaptureModule implements CameraModule, PhotoController,
} else if(id == getMainCameraId() && mPostProcessor.isFilterOn()) { // Case of post filtering
captureStillPictureForFilter(captureBuilder, id);
} else {
- if (mImageReader[id] != null) {
- captureBuilder.addTarget(mImageReader[id].getSurface());
- }
-
if (mSaveRaw && mRawImageReader[id] != null) {
captureBuilder.addTarget(mRawImageReader[id].getSurface());
}
-
if (mSettingsManager.getSavePictureFormat() == SettingsManager.HEIF_FORMAT) {
long captureTime = System.currentTimeMillis();
mNamedImages.nameNewImage(captureTime);
@@ -2261,6 +2258,10 @@ public class CaptureModule implements CameraModule, PhotoController,
e.printStackTrace();
}
}
+ } else {
+ if (mImageReader[id] != null) {
+ captureBuilder.addTarget(mImageReader[id].getSurface());
+ }
}
if(mPaused || !mCamerasOpened) {
@@ -2379,13 +2380,20 @@ public class CaptureModule implements CameraModule, PhotoController,
@Override
public void onCaptureSequenceCompleted(CameraCaptureSession session, int
sequenceId, long frameNumber) {
+ if(mLongshotActive) {
+ captureStillPicture(getMainCameraId());
+ } else {
+ mLongshoting = false;
+ mNumFramesArrived.getAndSet(0);
+ unlockFocus(getMainCameraId());
+ }
if (mSettingsManager.getSavePictureFormat() == SettingsManager.HEIF_FORMAT) {
if (mHeifImage != null) {
try {
- mHeifOutput.removeSurface(mHeifImage.getInputSurface());
- session.updateOutputConfiguration(mHeifOutput);
mHeifImage.getWriter().stop(3000);
mHeifImage.getWriter().close();
+ mHeifOutput.removeSurface(mHeifImage.getInputSurface());
+ session.updateOutputConfiguration(mHeifOutput);
mActivity.getMediaSaveService().addHEIFImage(mHeifImage.getPath(),
mHeifImage.getTitle(),mHeifImage.getDate(),null,mPictureSize.getWidth(),mPictureSize.getHeight(),
mHeifImage.getOrientation(),null,mContentResolver,mOnMediaSavedListener,mHeifImage.getQuality(),"heifs");
@@ -2397,13 +2405,6 @@ public class CaptureModule implements CameraModule, PhotoController,
}
}
}
- if(mLongshotActive) {
- captureStillPicture(getMainCameraId());
- } else {
- mLongshoting = false;
- mNumFramesArrived.getAndSet(0);
- unlockFocus(getMainCameraId());
- }
}
};
@@ -2456,13 +2457,18 @@ public class CaptureModule implements CameraModule, PhotoController,
public void onCaptureSequenceCompleted(CameraCaptureSession session, int
sequenceId, long frameNumber) {
Log.d(TAG, "captureStillPictureForCommon onCaptureSequenceCompleted: " + id);
+ if (mUI.getCurrentProMode() != ProMode.MANUAL_MODE) {
+ unlockFocus(id);
+ } else {
+ enableShutterAndVideoOnUiThread(id);
+ }
if (mSettingsManager.getSavePictureFormat() == SettingsManager.HEIF_FORMAT) {
if (mHeifImage != null) {
try {
- mHeifOutput.removeSurface(mHeifImage.getInputSurface());
- mCaptureSession[id].updateOutputConfiguration(mHeifOutput);
mHeifImage.getWriter().stop(3000);
mHeifImage.getWriter().close();
+ mHeifOutput.removeSurface(mHeifImage.getInputSurface());
+ mCaptureSession[id].updateOutputConfiguration(mHeifOutput);
mActivity.getMediaSaveService().addHEIFImage(mHeifImage.getPath(),
mHeifImage.getTitle(),mHeifImage.getDate(),null,mPictureSize.getWidth(),mPictureSize.getHeight(),
mHeifImage.getOrientation(),null,mContentResolver,mOnMediaSavedListener,mHeifImage.getQuality(),"heif");
@@ -2474,11 +2480,6 @@ public class CaptureModule implements CameraModule, PhotoController,
}
}
}
- if (mUI.getCurrentProMode() != ProMode.MANUAL_MODE) {
- unlockFocus(id);
- } else {
- enableShutterAndVideoOnUiThread(id);
- }
}
}, mCaptureCallbackHandler);
}
@@ -2568,10 +2569,10 @@ public class CaptureModule implements CameraModule, PhotoController,
if (mSettingsManager.getSavePictureFormat() == SettingsManager.HEIF_FORMAT) {
if (mLiveShotImage != null) {
try {
- mLiveShotOutput.removeSurface(mLiveShotImage.getInputSurface());
- mCurrentSession.updateOutputConfiguration(mLiveShotOutput);
mLiveShotImage.getWriter().stop(3000);
mLiveShotImage.getWriter().close();
+ mLiveShotOutput.removeSurface(mLiveShotImage.getInputSurface());
+ mCurrentSession.updateOutputConfiguration(mLiveShotOutput);
mActivity.getMediaSaveService().addHEIFImage(mLiveShotImage.getPath(),
mLiveShotImage.getTitle(),mLiveShotImage.getDate(),
null,mVideoSize.getWidth(),mVideoSize.getHeight(),