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;
267 void onCaptureStarted(ACameraCaptureSession* session,
const ACaptureRequest* request, int64_t timestamp);
275 void onCaptureCompleted(ACameraCaptureSession* session, ACaptureRequest* request,
const ACameraMetadata* result);
303 static bool cameraExposureDurationRange(ACameraManager* cameraManager,
const std::string& cameraId,
double& minExposureDuration,
double& maxExposureDuration);
313 static bool cameraISORange(ACameraManager* cameraManager,
const std::string& cameraId,
float& minISO,
float& maxISO);
322 static bool cameraMinFocus(ACameraManager* cameraManager,
const std::string& cameraId,
float& minFocusPosition);
331 static bool cameraSensorPysicalSize(ACameraManager* cameraManager,
const std::string& cameraId,
float& cameraSensorPhysicalSizeX);
340 static bool horizontalFieldOfView(
const float cameraSensorPhysicalSizeX,
const ACameraMetadata* cameraMetadata,
float& fovX);
424 static void onCaptureFailedStatic(
void* context, ACameraCaptureSession* session, ACaptureRequest* request, ACameraCaptureFailure* failure);
450 static void onCaptureStartedStatic(
void *context, ACameraCaptureSession *session,
const ACaptureRequest *request, int64_t timestamp);
459 static void onCaptureCompletedStatic(
void* context, ACameraCaptureSession* session, ACaptureRequest* request,
const ACameraMetadata* result);
474 ACameraDevice* cameraDevice_ =
nullptr;
477 AImageReader* imageReader_ =
nullptr;
480 ANativeWindow* nativeWindow_ =
nullptr;
489 ACameraCaptureSession* captureSession_ =
nullptr;
492 ACaptureRequest* captureRequest_ =
nullptr;
495 ACameraOutputTarget* outputTarget_ =
nullptr;
498 float cameraSensorPhysicalSizeX_ = -1.0f;
507 double exposureDuration_ = -1.0;
510 double exposureDurationMin_ = -1.0;
513 double exposureDurationMax_ = -1.0;
522 float isoMin_ = -1.0f;
525 float isoMax_ = -1.0f;
531 float focusPosition_ = -1.0f;
534 float focusPositionMin_ = -1.0f;
574 friend class ALiveVideoManager;
625 int createCamera(
ALiveVideo*
object,
const std::string& url,
const unsigned int preferredWidth,
const unsigned int preferredHeight,
const float preferredFrequency);
759 int mediumCameraId = -1;
765 bool mediumIsStarted =
false;
This class implements Ocean's image class.
Definition: Frame.h:1792
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