3package org.qtproject.qt.android.multimedia.qffmpeg;
5import android.hardware.camera2.CameraAccessException;
6import android.hardware.camera2.CameraCaptureSession;
7import android.hardware.camera2.CaptureFailure;
8import android.hardware.camera2.CaptureResult;
9import android.hardware.camera2.CaptureRequest;
10import android.hardware.camera2.TotalCaptureResult;
11import android.util.Log;
18class CameraStillPhotoFinalizerCallback
extends CameraCaptureSession.CaptureCallback {
19 QtCamera2 mMainCameraObject =
null;
21 CameraStillPhotoFinalizerCallback(QtCamera2 mainCameraObject)
23 assert(mainCameraObject !=
null);
24 mMainCameraObject = mainCameraObject;
32 public void onCaptureFailed(
33 CameraCaptureSession session,
35 CaptureFailure failure)
37 mMainCameraObject.onStillPhotoCaptureFailed(mMainCameraObject.mCameraId);
38 synchronized (mMainCameraObject.mSyncedMembers) {
39 mMainCameraObject.mSyncedMembers.mIsTakingStillPhoto =
false;
42 mMainCameraObject.setRepeatingRequestToPreview();
43 }
catch (CameraAccessException e) {
50 public void onCaptureCompleted(
51 CameraCaptureSession session,
56 mMainCameraObject.mExifDataHandler =
new QtExifDataHandler(
result);
57 synchronized (mMainCameraObject.mSyncedMembers) {
60 if (mMainCameraObject.mSyncedMembers.mIsStarted) {
61 mMainCameraObject.setRepeatingRequestToPreview();
66 mMainCameraObject.mSyncedMembers.mIsTakingStillPhoto =
false;
68 }
catch (CameraAccessException e) {
70 }
catch (NullPointerException e) {
79 "Null-pointer access exception thrown when finalizing still photo capture. " +
80 "This should not be possible.");
82 }
catch (IllegalStateException e) {
86 Log.w(QtCamera2.LOG_TAG,
"Session is no longer active.");
QNetworkRequest request(url)
[0]