Public Member Functions | |
StillPictureTaker (GlobalRef &captureSessionToUse, GlobalRef &captureRequestBuilderToUse, GlobalRef &previewCaptureRequestToUse, GlobalRef &handlerToUse, int autoFocusModeToUse) | |
void | takePicture (const LocalRef< jobject > &stillPictureCaptureRequestToUse) |
Private Types | |
enum | State { State::idle = 0, State::pendingFocusLock, State::pendingExposurePrecapture, State::pendingExposurePostPrecapture, State::pictureTaken } |
Private Member Functions | |
void | cameraCaptureSessionCaptureCompleted (bool isPreview, jobject session, jobject request, jobject result) |
void | cameraCaptureSessionCaptureFailed (bool isPreview, jobject session, jobject request, jobject failure) |
void | cameraCaptureSessionCaptureProgressed (bool isPreview, jobject session, jobject request, jobject partialResult) |
void | cameraCaptureSessionCaptureSequenceAborted (bool isPreview, jobject session, int sequenceId) |
void | cameraCaptureSessionCaptureSequenceCompleted (bool isPreview, jobject session, int sequenceId, int64 frameNumber) |
void | cameraCaptureSessionCaptureStarted (bool isPreview, jobject session, jobject request, int64 timestamp, int64 frameNumber) |
void | captureStillPicture () |
void | captureStillPictureDelayed () |
LocalRef< jobject > | createCaptureSessionCallback (bool createPreviewSession) |
void | lockFocus () |
void | run () override |
void | runPrecaptureSequence () |
void | unlockFocus () |
void | updateState (jobject captureResult) |
Static Private Member Functions | |
static bool | autoFocusHasFinished (const LocalRef< jobject > &controlAfStateValue) |
static void | cameraCaptureSessionCaptureCompletedCallback (JNIEnv *, jobject, jlong host, jboolean isPreview, jobject rawSession, jobject rawRequest, jobject rawResult) |
static void | cameraCaptureSessionCaptureFailedCallback (JNIEnv *, jobject, jlong host, jboolean isPreview, jobject rawSession, jobject rawRequest, jobject rawResult) |
static void | cameraCaptureSessionCaptureProgressedCallback (JNIEnv *, jobject, jlong host, jboolean isPreview, jobject rawSession, jobject rawRequest, jobject rawResult) |
static void | cameraCaptureSessionCaptureSequenceAbortedCallback (JNIEnv *, jobject, jlong host, jboolean isPreview, jobject rawSession, jint sequenceId) |
static void | cameraCaptureSessionCaptureSequenceCompletedCallback (JNIEnv *, jobject, jlong host, jboolean isPreview, jobject rawSession, jint sequenceId, jlong frameNumber) |
static void | cameraCaptureSessionCaptureStartedCallback (JNIEnv *, jobject, jlong host, jboolean isPreview, jobject rawSession, jobject rawRequest, jlong timestamp, jlong frameNumber) |
static LocalRef< jobject > | getCaptureResultIntegerKeyValue (jfieldID key, jobject captureResult) |
static int | getControlAEState (jobject captureResult) |
Private Attributes | |
int | autoFocusMode |
GlobalRef & | captureRequestBuilder |
GlobalRef & | captureSession |
GlobalRef | captureSessionPreviewCaptureCallback |
GlobalRef | captureSessionStillPictureCaptureCallback |
State | currentState = State::idle |
GlobalRef | delayedCaptureRunnable |
GlobalRef & | handler |
GlobalRef & | previewCaptureRequest |
AndroidRunnable | runnable |
GlobalRef | stillPictureCaptureRequest |
|
inline |
|
inlinestaticprivate |
References juce::getEnv().
Referenced by updateState().
|
inlineprivate |
|
inlinestaticprivate |
References juce::getEnv(), juce::gl::result, and CameraDevice::Pimpl::session.
|
inlineprivate |
References juce::ignoreUnused(), JUCE_CAMERA_LOG, and CameraDevice::Pimpl::session.
|
inlinestaticprivate |
References juce::getEnv(), juce::gl::result, and CameraDevice::Pimpl::session.
|
inlineprivate |
References juce::ignoreUnused(), JUCE_CAMERA_LOG, CameraDevice::Pimpl::session, and updateState().
|
inlinestaticprivate |
References juce::getEnv(), juce::gl::result, and CameraDevice::Pimpl::session.
|
inlineprivate |
References juce::ignoreUnused(), JUCE_CAMERA_LOG, and CameraDevice::Pimpl::session.
|
inlinestaticprivate |
References juce::getEnv(), and CameraDevice::Pimpl::session.
|
inlineprivate |
References juce::ignoreUnused(), JUCE_CAMERA_LOG, and CameraDevice::Pimpl::session.
|
inlinestaticprivate |
References juce::getEnv(), and CameraDevice::Pimpl::session.
|
inlineprivate |
References juce::ignoreUnused(), JUCE_CAMERA_LOG, and CameraDevice::Pimpl::session.
|
inlinestaticprivate |
References juce::getEnv(), and CameraDevice::Pimpl::session.
|
inlineprivate |
References captureSession, captureSessionStillPictureCaptureCallback, juce::getEnv(), and stillPictureCaptureRequest.
Referenced by run().
|
inlineprivate |
|
inlineprivate |
References juce::getEnv().
|
inlinestaticprivate |
References juce::getEnv(), and juce::gl::key.
Referenced by getControlAEState(), and updateState().
|
inlinestaticprivate |
References getCaptureResultIntegerKeyValue(), and juce::getEnv().
Referenced by updateState().
|
inlineprivate |
References captureRequestBuilder, captureSession, captureSessionPreviewCaptureCallback, currentState, juce::getEnv(), handler, juce::anonymous_namespace{juce_android_JNIHelpers.h}::jniCheckHasExceptionOccurredAndClear(), JUCE_CAMERA_LOG, pendingFocusLock, and CameraDevice::Pimpl::ScopedCameraDevice::CaptureSession::setCaptureRequestBuilderIntegerKey().
Referenced by takePicture().
|
inlineoverrideprivatevirtual |
Implements AndroidRunnable::Owner.
References captureStillPicture().
|
inlineprivate |
References captureRequestBuilder, captureSession, captureSessionPreviewCaptureCallback, currentState, juce::getEnv(), handler, juce::anonymous_namespace{juce_android_JNIHelpers.h}::jniCheckHasExceptionOccurredAndClear(), pendingExposurePrecapture, and CameraDevice::Pimpl::ScopedCameraDevice::CaptureSession::setCaptureRequestBuilderIntegerKey().
Referenced by updateState().
|
inline |
References JUCE_CAMERA_LOG, lockFocus(), and stillPictureCaptureRequest.
|
inlineprivate |
References captureRequestBuilder, captureSession, currentState, juce::getEnv(), handler, idle, juce::anonymous_namespace{juce_android_JNIHelpers.h}::jniCheckHasExceptionOccurredAndClear(), JUCE_CAMERA_LOG, previewCaptureRequest, and CameraDevice::Pimpl::ScopedCameraDevice::CaptureSession::setCaptureRequestBuilderIntegerKey().
Referenced by cameraCaptureSessionCaptureCompleted().
|
inlineprivate |
References autoFocusHasFinished(), autoFocusMode, captureStillPictureDelayed(), currentState, getCaptureResultIntegerKeyValue(), getControlAEState(), idle, juce::anonymous_namespace{juce_android_JNIHelpers.h}::jniCheckHasExceptionOccurredAndClear(), JUCE_CAMERA_LOG, pendingExposurePostPrecapture, pendingExposurePrecapture, pendingFocusLock, pictureTaken, and runPrecaptureSequence().
Referenced by cameraCaptureSessionCaptureCompleted(), and cameraCaptureSessionCaptureProgressed().
|
private |
Referenced by updateState().
|
private |
Referenced by lockFocus(), runPrecaptureSequence(), and unlockFocus().
|
private |
Referenced by captureStillPicture(), captureStillPictureDelayed(), lockFocus(), runPrecaptureSequence(), and unlockFocus().
|
private |
Referenced by lockFocus(), and runPrecaptureSequence().
|
private |
Referenced by captureStillPicture().
|
private |
Referenced by cameraCaptureSessionCaptureCompleted(), lockFocus(), runPrecaptureSequence(), unlockFocus(), and updateState().
|
private |
Referenced by captureStillPictureDelayed().
|
private |
Referenced by captureStillPictureDelayed(), lockFocus(), runPrecaptureSequence(), and unlockFocus().
|
private |
Referenced by unlockFocus().
|
private |
Referenced by captureStillPictureDelayed().
|
private |
Referenced by captureStillPicture(), and takePicture().