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.CaptureRequest;
9import android.hardware.camera2.TotalCaptureResult;
10import android.util.Log;
17class CameraStillPhotoFinalizerCallback
extends CameraCaptureSession.CaptureCallback {
18 QtCamera2 mMainCameraObject =
null;
20 CameraStillPhotoFinalizerCallback(QtCamera2 mainCameraObject)
22 assert(mainCameraObject !=
null);
23 mMainCameraObject = mainCameraObject;
31 public void onCaptureFailed(
32 CameraCaptureSession session,
34 CaptureFailure failure)
36 mMainCameraObject.onStillPhotoCaptureFailed(mMainCameraObject.mCameraId);
37 synchronized (mMainCameraObject.mSyncedMembers) {
38 mMainCameraObject.mSyncedMembers.mIsTakingStillPhoto =
false;
41 mMainCameraObject.setRepeatingRequestToPreview();
42 }
catch (CameraAccessException e) {
49 public void onCaptureCompleted(
50 CameraCaptureSession session,
55 mMainCameraObject.mExifDataHandler =
new QtExifDataHandler(
result);
56 synchronized (mMainCameraObject.mSyncedMembers) {
59 if (mMainCameraObject.mSyncedMembers.mIsStarted) {
60 mMainCameraObject.setRepeatingRequestToPreview();
65 mMainCameraObject.mSyncedMembers.mIsTakingStillPhoto =
false;
67 }
catch (CameraAccessException e) {
69 }
catch (NullPointerException e) {
78 "Null-pointer access exception thrown when finalizing still photo capture. " +
79 "This should not be possible.");
81 }
catch (IllegalStateException e) {
85 Log.w(QtCamera2.LOG_TAG,
"Session is no longer active.");
QNetworkRequest request(url)
[0]