8#ifndef META_OCEAN_MEDIA_ANDROID_A_LIVE_VIDEO_H
9#define META_OCEAN_MEDIA_ANDROID_A_LIVE_VIDEO_H
31#if defined(__ANDROID_API__) && __ANDROID_API__ >= 24
54 AIMAGE_FORMAT_YCBCR_P010 = 54,
99 float iso(
float* minISO =
nullptr,
float* maxISO =
nullptr,
ControlMode* isoMode =
nullptr)
const override;
268 void onCaptureStarted(ACameraCaptureSession* session,
const ACaptureRequest* request, int64_t timestamp);
276 void onCaptureCompleted(ACameraCaptureSession* session, ACaptureRequest* request,
const ACameraMetadata* result);
304 static bool cameraExposureDurationRange(ACameraManager* cameraManager,
const std::string& cameraId,
double& minExposureDuration,
double& maxExposureDuration);
314 static bool cameraISORange(ACameraManager* cameraManager,
const std::string& cameraId,
float& minISO,
float& maxISO);
323 static bool cameraMinFocus(ACameraManager* cameraManager,
const std::string& cameraId,
float& minFocusPosition);
332 static bool cameraSensorPysicalSize(ACameraManager* cameraManager,
const std::string& cameraId,
float& cameraSensorPhysicalSizeX);
341 static bool horizontalFieldOfView(
const float cameraSensorPhysicalSizeX,
const ACameraMetadata* cameraMetadata,
float& fovX);
425 static void onCaptureFailedStatic(
void* context, ACameraCaptureSession* session, ACaptureRequest* request, ACameraCaptureFailure* failure);
451 static void onCaptureStartedStatic(
void *context, ACameraCaptureSession *session,
const ACaptureRequest *request, int64_t timestamp);
460 static void onCaptureCompletedStatic(
void* context, ACameraCaptureSession* session, ACaptureRequest* request,
const ACameraMetadata* result);
475 ACameraDevice* cameraDevice_ =
nullptr;
478 AImageReader* imageReader_ =
nullptr;
481 ANativeWindow* nativeWindow_ =
nullptr;
490 ACameraCaptureSession* captureSession_ =
nullptr;
493 ACaptureRequest* captureRequest_ =
nullptr;
496 ACameraOutputTarget* outputTarget_ =
nullptr;
499 float cameraSensorPhysicalSizeX_ = -1.0f;
508 double exposureDuration_ = -1.0;
511 double exposureDurationMin_ = -1.0;
514 double exposureDurationMax_ = -1.0;
523 float isoMin_ = -1.0f;
526 float isoMax_ = -1.0f;
532 float focusPosition_ = -1.0f;
535 float focusPositionMin_ = -1.0f;
575 friend class ALiveVideoManager;
626 int createCamera(
ALiveVideo*
object,
const std::string& url,
const unsigned int preferredWidth,
const unsigned int preferredHeight,
const float preferredFrequency);
760 int mediumCameraId = -1;
766 bool mediumIsStarted =
false;
This class implements Ocean's image class.
Definition Frame.h:1808
Definition of a frame type composed by the frame dimension, pixel format and pixel origin.
Definition Frame.h:30
PixelFormat
Definition of all pixel formats available in the Ocean framework.
Definition Frame.h:183
This class implements a recursive lock object.
Definition Lock.h:31
This template class is the base class for all singleton objects.
Definition Singleton.h:71
This class implements a timestamp.
Definition Timestamp.h:36
std::shared_ptr< AnyCamera > SharedAnyCamera
Definition of a shared pointer holding an AnyCamera object with Scalar precision.
Definition AnyCamera.h:60
The namespace covering the entire Ocean framework.
Definition Accessor.h:15