# OH_Camera ## Overview The **OH_Camera** module provides C APIs for the camera service. **System capability**: SystemCapability.Multimedia.Camera.Core **Since**: 11 ## Summary ### File | Name| Description| | -------- | -------- | | [camera.h](camera_8h.md) | Declares the basic concepts of the camera.| | [camera_device.h](camera__device_8h.md) | Declares the basic concepts of the camera device.| | [camera_input.h](camera__input_8h.md) | Declares the camera input concepts.| | [camera_manager.h](camera__manager_8h.md) | Declares the camera manager concepts.| | [capture_session.h](capture__session_8h.md) | Declares the capture session concepts.| | [metadata_output.h](metadata__output_8h.md) | Declares the metadata output concepts.| | [photo_native.h](photo__native_8h.md) | Declares the camera photo concepts.| | [photo_output.h](photo__output_8h.md) | Declares the photo output concepts.| | [preview_output.h](preview__output_8h.md) | Declares the preview output concepts.| | [video_output.h](video__output_8h.md) | Declares the video output concepts.| ### Structs | Name| Description| | -------- | -------- | | struct [Camera_Size](_camera___size.md) | Describes the parameters related to the size.| | struct [Camera_Profile](_camera___profile.md) | Describes the profile of a camera stream.| | struct [Camera_FrameRateRange](_camera___frame_rate_range.md) | Describes the frame rate range.| | struct [Camera_VideoProfile](_camera___video_profile.md) | Describes the video profile.| | struct [Camera_OutputCapability](_camera___output_capability.md) | Describes the camera output capability.| | struct [Camera_Device](_camera___device.md) | Describes the camera device.| | struct [Camera_StatusInfo](_camera___status_info.md) | Describes the camera status information.| | struct [Camera_Point](_camera___point.md) | Describes the parameters related to a point.| | struct [Camera_Location](_camera___location.md) | Describes the location where the photo is taken.| | struct [Camera_PhotoCaptureSetting](_camera___photo_capture_setting.md) | Describes the parameters related to photo capture.| | struct [Camera_FrameShutterInfo](_camera___frame_shutter_info.md) | Describes the frame shutter information.| | struct [Camera_CaptureEndInfo](_camera___capture_end_info.md) | Describes the capture end information.| | struct [Camera_Rect](_camera___rect.md) | Describes the rectangle.| | struct [Camera_MetadataObject](_camera___metadata_object.md) | Describes the camera metadata.| | struct [Camera_TorchStatusInfo](_camera___torch_status_info.md) | Describes the flashlight status information.| | struct [Camera_SmoothZoomInfo](_camera___smooth_zoom_info.md) | Describes the smooth zoom information.| | struct [Camera_CaptureStartInfo](_camera___capture_start_info.md) | Describes the capture start information.| | struct [Camera_FrameShutterEndInfo](_camera___frame_shutter_end_info.md) | Describes the frame shutter end information during capture.| | struct [CameraInput_Callbacks](_camera_input___callbacks.md) | Describes the callbacks used to listen for camera input errors.| | struct [CameraManager_Callbacks](_camera_manager___callbacks.md) | Describes the callbacks used to listen for camera status changes.| | struct [CaptureSession_Callbacks](_capture_session___callbacks.md) | Describes the callbacks used for a capture session.| | struct [MetadataOutput_Callbacks](_metadata_output___callbacks.md) | Describes the callbacks related to metadata output.| | struct [PhotoOutput_Callbacks](_photo_output___callbacks.md) | Describes the callbacks related to photo output.| | struct [PreviewOutput_Callbacks](_preview_output___callbacks.md) | Describes the callbacks related to preview output.| | struct [VideoOutput_Callbacks](_video_output___callbacks.md) | Describes the callbacks related to video output.| ### Types | Name| Description| | -------- | -------- | | typedef struct [Camera_Manager](#camera_manager) [Camera_Manager](#camera_manager) | Defines a struct for the camera manager.| | typedef enum [Camera_ErrorCode](#camera_errorcode) [Camera_ErrorCode](#camera_errorcode) | Defines an enum for the camera error codes.| | typedef enum [Camera_Status](#camera_status) [Camera_Status](#camera_status) | Defines an enum for the camera statuses.| | typedef enum [Camera_SceneMode](#camera_scenemode) [Camera_SceneMode](#camera_scenemode) | Defines an enum for the camera scene modes.| | typedef enum [Camera_Position](#camera_position) [Camera_Position](#camera_position) | Defines an enum for the camera positions.| | typedef enum [Camera_Type](#camera_type) [Camera_Type](#camera_type) | Defines an enum for the camera types.| | typedef enum [Camera_Connection](#camera_connection) [Camera_Connection](#camera_connection) | Defines an enum for the camera connection types.| | typedef enum [Camera_Format](#camera_format) [Camera_Format](#camera_format) | Defines an enum for the camera output formats.| | typedef enum [Camera_FlashMode](#camera_flashmode) [Camera_FlashMode](#camera_flashmode) | Defines an enum for the flash modes.| | typedef enum [Camera_ExposureMode](#camera_exposuremode) [Camera_ExposureMode](#camera_exposuremode) | Defines an enum for the exposure modes.| | typedef enum [Camera_FocusMode](#camera_focusmode) [Camera_FocusMode](#camera_focusmode) | Defines an enum for the focus modes.| | typedef enum [Camera_FocusState](#camera_focusstate) [Camera_FocusState](#camera_focusstate) | Defines an enum for the focus states.| | typedef enum [Camera_VideoStabilizationMode](#camera_videostabilizationmode) [Camera_VideoStabilizationMode](#camera_videostabilizationmode) | Defines an enum for the video stabilization modes.| | typedef enum [Camera_ImageRotation](#camera_imagerotation) [Camera_ImageRotation](#camera_imagerotation) | Defines an enum for the image rotation angles.| | typedef enum [Camera_QualityLevel](#camera_qualitylevel) [Camera_QualityLevel](#camera_qualitylevel) | Defines an enum for the image quality levels.| | typedef enum [Camera_MetadataObjectType](#camera_metadataobjecttype) [Camera_MetadataObjectType](#camera_metadataobjecttype) | Defines an enum for the metadata object types.| | typedef enum [Camera_TorchMode](#camera_torchmode) [Camera_TorchMode](#camera_torchmode) | Defines an enum for the flashlight modes.| | typedef enum [Camera_SmoothZoomMode](#camera_smoothzoommode) [Camera_SmoothZoomMode](#camera_smoothzoommode) | Defines an enum for the smooth zoom modes.| | typedef enum [Camera_PreconfigType](#camera_preconfigtype) [Camera_PreconfigType](#camera_preconfigtype) | Defines an enum for the preconfigured resolution types.| | typedef enum [Camera_PreconfigRatio](#camera_preconfigratio) [Camera_PreconfigRatio](#camera_preconfigratio) | Defines an enum for the preconfigured aspect ratios.| | typedef struct [Camera_Size](_camera___size.md) [Camera_Size](#camera_size) | Defines a struct for the parameters related to the size.| | typedef struct [Camera_Profile](_camera___profile.md) [Camera_Profile](#camera_profile) | Defines a struct for the profile of a camera stream.| | typedef struct [Camera_FrameRateRange](_camera___frame_rate_range.md) [Camera_FrameRateRange](#camera_frameraterange) | Defines a struct for the frame rate range.| | typedef struct [Camera_VideoProfile](_camera___video_profile.md) [Camera_VideoProfile](#camera_videoprofile) | Defines a struct for the video profile.| | typedef struct [Camera_OutputCapability](_camera___output_capability.md) [Camera_OutputCapability](#camera_outputcapability) | Defines a struct for the camera output capability.| | typedef struct [Camera_Device](_camera___device.md) [Camera_Device](#camera_device) | Defines a struct for the camera device.| | typedef struct [Camera_StatusInfo](_camera___status_info.md) [Camera_StatusInfo](#camera_statusinfo) | Defines a struct for the camera status information.| | typedef struct [Camera_Point](_camera___point.md) [Camera_Point](#camera_point) | Defines a struct for the parameters related to a point.| | typedef struct [Camera_Location](_camera___location.md) [Camera_Location](#camera_location) | Defines a struct for the location where the photo is taken.| | typedef struct [Camera_PhotoCaptureSetting](_camera___photo_capture_setting.md) [Camera_PhotoCaptureSetting](#camera_photocapturesetting) | Defines a struct for the parameters related to photo capture.| | typedef struct [Camera_FrameShutterInfo](_camera___frame_shutter_info.md) [Camera_FrameShutterInfo](#camera_frameshutterinfo) | Defines a struct for the frame shutter information.| | typedef struct [Camera_CaptureEndInfo](_camera___capture_end_info.md) [Camera_CaptureEndInfo](#camera_captureendinfo) | Defines a struct for the capture end information.| | typedef struct [Camera_Rect](_camera___rect.md) [Camera_Rect](#camera_rect) | Defines a struct for the rectangle.| | typedef struct [Camera_MetadataObject](_camera___metadata_object.md) [Camera_MetadataObject](#camera_metadataobject) | Defines a struct for the camera metadata.| | typedef struct [Camera_TorchStatusInfo](_camera___torch_status_info.md) [Camera_TorchStatusInfo](#camera_torchstatusinfo) | Defines a struct for the flashlight status information.| | typedef struct [Camera_SmoothZoomInfo](_camera___smooth_zoom_info.md) [Camera_SmoothZoomInfo](#camera_smoothzoominfo) | Defines a struct for the smooth zoom information.| | typedef struct [Camera_CaptureStartInfo](_camera___capture_start_info.md) [Camera_CaptureStartInfo](#camera_capturestartinfo) | Defines a struct for the capture start information.| | typedef struct [Camera_FrameShutterEndInfo](_camera___frame_shutter_end_info.md) [Camera_FrameShutterEndInfo](#camera_frameshutterendinfo) | Defines a struct for the frame shutter end information during capture.| | typedef struct [Camera_Input](#camera_input) [Camera_Input](#camera_input) | Defines a struct for the camera input object.| | typedef void(\* [OH_CameraInput_OnError](#oh_camerainput_onerror)) (const [Camera_Input](#camera_input) \*cameraInput, [Camera_ErrorCode](#camera_errorcode) errorCode) | Defines the callback defined in the [CameraInput_Callbacks](_camera_input___callbacks.md) struct and used to report camera input errors.| | typedef struct [CameraInput_Callbacks](_camera_input___callbacks.md) [CameraInput_Callbacks](#camerainput_callbacks) | Defines a struct for the callbacks used to listen for camera input errors.| | typedef void(\* [OH_CameraManager_StatusCallback](#oh_cameramanager_statuscallback)) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_StatusInfo](_camera___status_info.md) \*status) | Defines the callback defined in the [CameraManager_Callbacks](_camera_manager___callbacks.md) struct and used to report the camera manager status.| | typedef void(\* [OH_CameraManager_TorchStatusCallback](#oh_cameramanager_torchstatuscallback)) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_TorchStatusInfo](_camera___torch_status_info.md) \*status) | Defines the callback invoked when the flashlight status changes.| | typedef struct [CameraManager_Callbacks](_camera_manager___callbacks.md) [CameraManager_Callbacks](#cameramanager_callbacks) | Defines a struct for the callbacks used to listen for camera status changes.| | typedef struct [Camera_CaptureSession](#camera_capturesession) [Camera_CaptureSession](#camera_capturesession) | Defines a struct for the capture session object.| | typedef void(\* [OH_CaptureSession_OnFocusStateChange](#oh_capturesession_onfocusstatechange)) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_FocusState](#camera_focusstate) focusState) | Defines the callback defined in the [CaptureSession_Callbacks](_capture_session___callbacks.md) struct and used to report focus status changes of a capture session.| | typedef void(\* [OH_CaptureSession_OnError](#oh_capturesession_onerror)) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_ErrorCode](#camera_errorcode) errorCode) | Defines the callback defined in the [CaptureSession_Callbacks](_capture_session___callbacks.md) struct and used to report capture session errors.| | typedef void(\* [OH_CaptureSession_OnSmoothZoomInfo](#oh_capturesession_onsmoothzoominfo)) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_SmoothZoomInfo](_camera___smooth_zoom_info.md) \*smoothZoomInfo) | Defines the callback invoked when smooth zoom is triggered for a capture session.| | typedef struct [CaptureSession_Callbacks](_capture_session___callbacks.md) [CaptureSession_Callbacks](#capturesession_callbacks) | Defines a struct for the callbacks used for a capture session.| | typedef struct [Camera_MetadataOutput](#camera_metadataoutput) [Camera_MetadataOutput](#camera_metadataoutput) | Defines a struct for the metadata output object.| | typedef void(\* [OH_MetadataOutput_OnMetadataObjectAvailable](#oh_metadataoutput_onmetadataobjectavailable)) ([Camera_MetadataOutput](#camera_metadataoutput) \*metadataOutput, [Camera_MetadataObject](_camera___metadata_object.md) \*metadataObject, uint32_t size) | Defines the callback defined in the [MetadataOutput_Callbacks](_metadata_output___callbacks.md) struct and used to report metadata output data.| | typedef void(\* [OH_MetadataOutput_OnError](#oh_metadataoutput_onerror)) ([Camera_MetadataOutput](#camera_metadataoutput) \*metadataOutput, [Camera_ErrorCode](#camera_errorcode) errorCode) | Defines the callback defined in the [MetadataOutput_Callbacks](_metadata_output___callbacks.md) struct and used to report metadata output errors.| | typedef struct [MetadataOutput_Callbacks](_metadata_output___callbacks.md) [MetadataOutput_Callbacks](#metadataoutput_callbacks) | Defines a struct for the callbacks related to metadata output.| | typedef struct [OH_PhotoNative](#oh_photonative) [OH_PhotoNative](#oh_photonative) | Defines a struct for a camera photo object.| | typedef struct [Camera_PhotoOutput](#camera_photooutput) [Camera_PhotoOutput](#camera_photooutput) | Defines a struct for the photo output object.| | typedef void(\* [OH_PhotoOutput_OnFrameStart](#oh_photooutput_onframestart)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput) | Defines the callback defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct and used to report photo output frame start events.| | typedef void(\* [OH_PhotoOutput_OnFrameShutter](#oh_photooutput_onframeshutter)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [Camera_FrameShutterInfo](_camera___frame_shutter_info.md) \*info) | Defines the callback defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct and used to report frame shutter events.| | typedef void(\* [OH_PhotoOutput_OnFrameEnd](#oh_photooutput_onframeend)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, int32_t frameCount) | Defines the callback defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct and used to report photo output frame end events.| | typedef void(\* [OH_PhotoOutput_OnError](#oh_photooutput_onerror)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [Camera_ErrorCode](#camera_errorcode) errorCode) | Defines the callback defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct and used to report photo output errors.| | typedef void(\* [OH_PhotoOutput_CaptureEnd](#oh_photooutput_captureend)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, int32_t frameCount) | Defines the callback invoked when the capture ends.| | typedef void(\* [OH_PhotoOutput_CaptureStartWithInfo](#oh_photooutput_capturestartwithinfo)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [Camera_CaptureStartInfo](_camera___capture_start_info.md) \*Info) | Defines the callback invoked when the capture starts.| | typedef void(\* [OH_PhotoOutput_OnFrameShutterEnd](#oh_photooutput_onframeshutterend)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [Camera_FrameShutterInfo](_camera___frame_shutter_info.md) \*Info) | Defines the callback invoked when frame shutter ends.| | typedef void(\* [OH_PhotoOutput_CaptureReady](#oh_photooutput_captureready)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput) | Defines the callback invoked when the camera is ready to take photos. When the callback is received, the next capture can be performed.| | typedef void(\* [OH_PhotoOutput_EstimatedCaptureDuration](#oh_photooutput_estimatedcaptureduration)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, int64_t duration) | Defines the callback for the estimated capture duration.| | typedef void(\* [OH_PhotoOutput_PhotoAvailable](#oh_photooutput_photoavailable)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoNative](#oh_photonative) \*photo) | Defines the callback invoked when a high-resolution photo is available.| | typedef void(\* [OH_PhotoOutput_PhotoAssetAvailable](#oh_photooutput_photoassetavailable)) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, OH_MediaAsset \*photoAsset) | Defines the callback invoked when a photo asset is available.| | typedef struct [PhotoOutput_Callbacks](_photo_output___callbacks.md) [PhotoOutput_Callbacks](#photooutput_callbacks) | Defines a struct for the callbacks related to photo output.| | typedef struct [Camera_PreviewOutput](#camera_previewoutput) [Camera_PreviewOutput](#camera_previewoutput) | Defines a struct for the preview output object.| | typedef void(\* [OH_PreviewOutput_OnFrameStart](#oh_previewoutput_onframestart)) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput) | Defines the callback defined in the [PreviewOutput_Callbacks](_preview_output___callbacks.md) struct and used to report preview output frame start events.| | typedef void(\* [OH_PreviewOutput_OnFrameEnd](#oh_previewoutput_onframeend)) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput, int32_t frameCount) | Defines the callback defined in the [PreviewOutput_Callbacks](_preview_output___callbacks.md) struct and used to report preview output frame end events.| | typedef void(\* [OH_PreviewOutput_OnError](#oh_previewoutput_onerror)) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput, [Camera_ErrorCode](#camera_errorcode) errorCode) | Defines the callback defined in the [PreviewOutput_Callbacks](_preview_output___callbacks.md) struct and used to report preview output errors.| | typedef struct [PreviewOutput_Callbacks](_preview_output___callbacks.md) [PreviewOutput_Callbacks](#previewoutput_callbacks) | Defines a struct for the callbacks related to preview output.| | typedef struct [Camera_VideoOutput](#camera_videooutput) [Camera_VideoOutput](#camera_videooutput) | Defines a struct for the video output object.| | typedef void(\* [OH_VideoOutput_OnFrameStart](#oh_videooutput_onframestart)) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput) | Defines the callback defined in the [VideoOutput_Callbacks](_video_output___callbacks.md) struct and used to report video output frame start events.| | typedef void(\* [OH_VideoOutput_OnFrameEnd](#oh_videooutput_onframeend)) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput, int32_t frameCount) | Defines the callback defined in the [VideoOutput_Callbacks](_video_output___callbacks.md) struct and used to report video output frame end events.| | typedef void(\* [OH_VideoOutput_OnError](#oh_videooutput_onerror)) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput, [Camera_ErrorCode](#camera_errorcode) errorCode) | Defines the callback defined in the [VideoOutput_Callbacks](_video_output___callbacks.md) struct and used to report video output errors.| | typedef struct [VideoOutput_Callbacks](_video_output___callbacks.md) [VideoOutput_Callbacks](#videooutput_callbacks) | Defines a struct for the callbacks related to video output.| ### Enums | Name| Description| | -------- | -------- | | [Camera_ErrorCode](#camera_errorcode) {
CAMERA_OK = 0,
CAMERA_INVALID_ARGUMENT = 7400101,
CAMERA_OPERATION_NOT_ALLOWED = 7400102,
CAMERA_SESSION_NOT_CONFIG = 7400103,
CAMERA_SESSION_NOT_RUNNING = 7400104,
CAMERA_SESSION_CONFIG_LOCKED = 7400105,
CAMERA_DEVICE_SETTING_LOCKED = 7400106,
CAMERA_CONFLICT_CAMERA = 7400107,
CAMERA_DEVICE_DISABLED = 7400108,
CAMERA_DEVICE_PREEMPTED = 7400109,
CAMERA_UNRESOLVED_CONFLICTS_WITH_CURRENT_CONFIGURATIONS = 7400110,
CAMERA_SERVICE_FATAL_ERROR = 7400201} | Enumerates the camera error codes.| | [Camera_Status](#camera_status) {
CAMERA_STATUS_APPEAR = 0,
CAMERA_STATUS_DISAPPEAR = 1,
CAMERA_STATUS_AVAILABLE = 2,
CAMERA_STATUS_UNAVAILABLE = 3 } | Enumerates the camera statuses.| | [Camera_SceneMode](#camera_scenemode) {
NORMAL_PHOTO = 1,
NORMAL_VIDEO = 2,
SECURE_PHOTO = 12 } | Enumerates the camera scene modes.| | [Camera_Position](#camera_position) {
CAMERA_POSITION_UNSPECIFIED = 0,
CAMERA_POSITION_BACK = 1,
CAMERA_POSITION_FRONT = 2 } | Enumerates the camera positions.| | [Camera_Type](#camera_type) {
CAMERA_TYPE_DEFAULT = 0,
CAMERA_TYPE_WIDE_ANGLE = 1,
CAMERA_TYPE_ULTRA_WIDE = 2,
CAMERA_TYPE_TELEPHOTO = 3,
CAMERA_TYPE_TRUE_DEPTH = 4
} | Enumerates the camera types.| | [Camera_Connection](#camera_connection) {
CAMERA_CONNECTION_BUILT_IN = 0,
CAMERA_CONNECTION_USB_PLUGIN = 1,
CAMERA_CONNECTION_REMOTE = 2 } | Enumerates the camera connection types.| | [Camera_Format](#camera_format) {
CAMERA_FORMAT_RGBA_8888 = 3,
CAMERA_FORMAT_YUV_420_SP = 1003,
CAMERA_FORMAT_JPEG = 2000,
CAMERA_FORMAT_YCBCR_P010 = 2001,
CAMERA_FORMAT_YCRCB_P010 = 2002
} | Enumerates the camera output formats.| | [Camera_FlashMode](#camera_flashmode) {
FLASH_MODE_CLOSE = 0,
FLASH_MODE_OPEN = 1,
FLASH_MODE_AUTO = 2,
FLASH_MODE_ALWAYS_OPEN = 3 } | Enumerates the flash modes.| | [Camera_ExposureMode](#camera_exposuremode) {
EXPOSURE_MODE_LOCKED = 0,
EXPOSURE_MODE_AUTO = 1,
EXPOSURE_MODE_CONTINUOUS_AUTO = 2 } | Enumerates the exposure modes.| | [Camera_FocusMode](#camera_focusmode) {
FOCUS_MODE_MANUAL = 0,
FOCUS_MODE_CONTINUOUS_AUTO = 1,
FOCUS_MODE_AUTO = 2,
FOCUS_MODE_LOCKED = 3 } | Enumerates the focus modes.| | [Camera_FocusState](#camera_focusstate) {
FOCUS_STATE_SCAN = 0,
FOCUS_STATE_FOCUSED = 1,
FOCUS_STATE_UNFOCUSED = 2 } | Enumerates the focus states.| | [Camera_VideoStabilizationMode](#camera_videostabilizationmode) {
STABILIZATION_MODE_OFF = 0,
STABILIZATION_MODE_LOW = 1,
STABILIZATION_MODE_MIDDLE = 2,
STABILIZATION_MODE_HIGH = 3,
STABILIZATION_MODE_AUTO = 4
} | Enumerates the video stabilization modes.| | [Camera_ImageRotation](#camera_imagerotation) {
IAMGE_ROTATION_0 = 0,
IAMGE_ROTATION_90 = 90,
IAMGE_ROTATION_180 = 180,
IAMGE_ROTATION_270 = 270 } | Enumerates the image rotation angles.| | [Camera_QualityLevel](#camera_qualitylevel) {
QUALITY_LEVEL_HIGH = 0,
QUALITY_LEVEL_MEDIUM = 1,
QUALITY_LEVEL_LOW = 2 } | Enumerates the image quality levels.| | [Camera_MetadataObjectType](#camera_metadataobjecttype) { FACE_DETECTION = 0 } | Enumerates the metadata object types.| | [Camera_TorchMode](#camera_torchmode) { OFF = 0, ON = 1, AUTO = 2 } | Enumerates the flashlight modes.| | [Camera_SmoothZoomMode](#camera_smoothzoommode) { NORMAL = 0 } | Enumerates the smooth zoom modes.| | [Camera_PreconfigType](#camera_preconfigtype) {
PRECONFIG_720P = 0,
PRECONFIG_1080P = 1,
PRECONFIG_4K = 2,
PRECONFIG_HIGH_QUALITY = 3 } | Enumerates the preconfigured resolution types.| | [Camera_PreconfigRatio](#camera_preconfigratio) {
PRECONFIG_RATIO_1_1 = 0,
PRECONFIG_RATIO_4_3 = 1,
PRECONFIG_RATIO_16_9 = 2 } | Enumerates the preconfigured aspect ratios.| ### Functions | Name| Description| | -------- | -------- | | [Camera_ErrorCode](#camera_errorcode) [OH_Camera_GetCameraManager](#oh_camera_getcameramanager) ([Camera_Manager](#camera_manager) \*\*cameraManager) | Obtains a **CameraManager** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_Camera_DeleteCameraManager](#oh_camera_deletecameramanager) ([Camera_Manager](#camera_manager) \*cameraManager) | Deletes a **CameraManager** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraDevice_GetCameraOrientation](#oh_cameradevice_getcameraorientation) ([Camera_Device](_camera___device.md) \*camera, uint32_t \*orientation) | Obtains the sensor direction of a camera.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraInput_RegisterCallback](#oh_camerainput_registercallback) ([Camera_Input](#camera_input) \*cameraInput, [CameraInput_Callbacks](_camera_input___callbacks.md) \*callback) | Registers a callback to listen for camera input events.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraInput_UnregisterCallback](#oh_camerainput_unregistercallback) ([Camera_Input](#camera_input) \*cameraInput, [CameraInput_Callbacks](_camera_input___callbacks.md) \*callback) | Unregisters the callback used to listen for camera input events.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraInput_Open](#oh_camerainput_open) ([Camera_Input](#camera_input) \*cameraInput) | Opens a camera.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraInput_OpenSecureCamera](#oh_camerainput_opensecurecamera) ([Camera_Input](#camera_input) \*cameraInput, uint64_t \*secureSeqId) | Opens a camera in secure mode.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraInput_Close](#oh_camerainput_close) ([Camera_Input](#camera_input) \*cameraInput) | Closes a camera.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraInput_Release](#oh_camerainput_release) ([Camera_Input](#camera_input) \*cameraInput) | Releases a **CameraInput** instance. Either this function or [OH_CameraInput_Close](#oh_camerainput_close) needs to be called.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_RegisterCallback](#oh_cameramanager_registercallback) ([Camera_Manager](#camera_manager) \*cameraManager, [CameraManager_Callbacks](_camera_manager___callbacks.md) \*callback) | Registers a callback to listen for camera status changes.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_UnregisterCallback](#oh_cameramanager_unregistercallback) ([Camera_Manager](#camera_manager) \*cameraManager, [CameraManager_Callbacks](_camera_manager___callbacks.md) \*callback) | Unregisters the callback used to listen for camera status changes.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_RegisterTorchStatusCallback](#oh_cameramanager_registertorchstatuscallback) ([Camera_Manager](#camera_manager) \*cameraManager, [OH_CameraManager_TorchStatusCallback](#oh_cameramanager_torchstatuscallback) torchStatusCallback) | Registers a callback to listen for flashlight status changes.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_UnregisterTorchStatusCallback](#oh_cameramanager_unregistertorchstatuscallback) ([Camera_Manager](#camera_manager) \*cameraManager, [OH_CameraManager_TorchStatusCallback](#oh_cameramanager_torchstatuscallback) torchStatusCallback) | Unregisters the callback used to listen for flashlight status changes.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_GetSupportedCameras](#oh_cameramanager_getsupportedcameras) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_Device](_camera___device.md) \*\*cameras, uint32_t \*size) | Obtains supported cameras.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_DeleteSupportedCameras](#oh_cameramanager_deletesupportedcameras) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_Device](_camera___device.md) \*cameras, uint32_t size) | Deletes supported cameras.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_GetSupportedCameraOutputCapability](#oh_cameramanager_getsupportedcameraoutputcapability) ([Camera_Manager](#camera_manager) \*cameraManager, const [Camera_Device](_camera___device.md) \*camera, [Camera_OutputCapability](_camera___output_capability.md) \*\*cameraOutputCapability) | Obtains the output capability supported by a camera.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_GetSupportedCameraOutputCapabilityWithSceneMode](#oh_cameramanager_getsupportedcameraoutputcapabilitywithscenemode) ([Camera_Manager](#camera_manager) \*cameraManager, const [Camera_Device](_camera___device.md) \*camera, [Camera_SceneMode](#camera_scenemode) sceneMode, [Camera_OutputCapability](_camera___output_capability.md) \*\*cameraOutputCapability) | Obtains the output capability supported by a camera in the specified mode.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_DeleteSupportedCameraOutputCapability](#oh_cameramanager_deletesupportedcameraoutputcapability) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_OutputCapability](_camera___output_capability.md) \*cameraOutputCapability) | Deletes the output capability supported by a camera.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_IsCameraMuted](#oh_cameramanager_iscameramuted) ([Camera_Manager](#camera_manager) \*cameraManager, bool \*isCameraMuted) | Checks whether a camera is muted.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreateCaptureSession](#oh_cameramanager_createcapturesession) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_CaptureSession](#camera_capturesession) \*\*captureSession) | Creates a **CaptureSession** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreateCameraInput](#oh_cameramanager_createcamerainput) ([Camera_Manager](#camera_manager) \*cameraManager, const [Camera_Device](_camera___device.md) \*camera, [Camera_Input](#camera_input) \*\*cameraInput) | Creates a **CameraInput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreateCameraInput_WithPositionAndType](#oh_cameramanager_createcamerainput_withpositionandtype) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_Position](#camera_position) position, [Camera_Type](#camera_type) type, [Camera_Input](#camera_input) \*\*cameraInput) | Creates a **CameraInput** instance with the specified location and type.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreatePreviewOutput](#oh_cameramanager_createpreviewoutput) ([Camera_Manager](#camera_manager) \*cameraManager, const [Camera_Profile](_camera___profile.md) \*profile, const char \*surfaceId, [Camera_PreviewOutput](#camera_previewoutput) \*\*previewOutput) | Creates a **PreviewOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreatePreviewOutputUsedInPreconfig](#oh_cameramanager_createpreviewoutputusedinpreconfig) ([Camera_Manager](#camera_manager) \*cameraManager, const char \*surfaceId, [Camera_PreviewOutput](#camera_previewoutput) \*\*previewOutput) | Creates a **PreviewOutput** instance to be used in a preconfiguration stream.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreatePhotoOutput](#oh_cameramanager_createphotooutput) ([Camera_Manager](#camera_manager) \*cameraManager, const [Camera_Profile](_camera___profile.md) \*profile, const char \*surfaceId, [Camera_PhotoOutput](#camera_photooutput) \*\*photoOutput) | Creates a **PhotoOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreatePhotoOutputUsedInPreconfig](#oh_cameramanager_createphotooutputusedinpreconfig) ([Camera_Manager](#camera_manager) \*cameraManager, const char \*surfaceId, [Camera_PhotoOutput](#camera_photooutput) \*\*photoOutput) | Creates a **PhotoOutput** instance to be used in a preconfiguration stream.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreatePhotoOutputWithoutSurface](#oh_cameramanager_createphotooutputwithoutsurface) ([Camera_Manager](#camera_manager) \*cameraManager, const [Camera_Profile](_camera___profile.md) \*profile, [Camera_PhotoOutput](#camera_photooutput) \*\*photoOutput) | Creates a **PhotoOutput** instance. **surfaceId** is not required in this function.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreateVideoOutput](#oh_cameramanager_createvideooutput) ([Camera_Manager](#camera_manager) \*cameraManager, const [Camera_VideoProfile](_camera___video_profile.md) \*profile, const char \*surfaceId, [Camera_VideoOutput](#camera_videooutput) \*\*videoOutput) | Creates a **VideoOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreateVideoOutputUsedInPreconfig](#oh_cameramanager_createvideooutputusedinpreconfig) ([Camera_Manager](#camera_manager) \*cameraManager, const char \*surfaceId, [Camera_VideoOutput](#camera_videooutput) \*\*videoOutput) | Creates a **VideoOutput** instance to be used in a preconfiguration stream.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_CreateMetadataOutput](#oh_cameramanager_createmetadataoutput) ([Camera_Manager](#camera_manager) \*cameraManager, const [Camera_MetadataObjectType](#camera_metadataobjecttype) \*profile, [Camera_MetadataOutput](#camera_metadataoutput) \*\*metadataOutput) | Creates a **MetadataOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_GetSupportedSceneModes](#oh_cameramanager_getsupportedscenemodes) ([Camera_Device](_camera___device.md) \*camera, [Camera_SceneMode](#camera_scenemode) \*\*sceneModes, uint32_t \*size) | Obtains the scene modes supported by a camera.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_DeleteSceneModes](#oh_cameramanager_deletescenemodes) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_SceneMode](#camera_scenemode) \*sceneModes) | Deletes scene modes.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_IsTorchSupported](#oh_cameramanager_istorchsupported) ([Camera_Manager](#camera_manager) \*cameraManager, bool \*isTorchSupported) | Checks whether the device supports the flashlight.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_IsTorchSupportedByTorchMode](#oh_cameramanager_istorchsupportedbytorchmode) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_TorchMode](#camera_torchmode) torchMode, bool \*isTorchSupported) | Checks whether the device supports the specified flashlight mode.| | [Camera_ErrorCode](#camera_errorcode) [OH_CameraManager_SetTorchMode](#oh_cameramanager_settorchmode) ([Camera_Manager](#camera_manager) \*cameraManager, [Camera_TorchMode](#camera_torchmode) torchMode) | Sets a flashlight mode.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_RegisterCallback](#oh_capturesession_registercallback) ([Camera_CaptureSession](#camera_capturesession) \*session, [CaptureSession_Callbacks](_capture_session___callbacks.md) \*callback) | Registers a callback to listen for capture session events.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_UnregisterCallback](#oh_capturesession_unregistercallback) ([Camera_CaptureSession](#camera_capturesession) \*session, [CaptureSession_Callbacks](_capture_session___callbacks.md) \*callback) | Unregisters the callback used to listen for capture session events.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_RegisterSmoothZoomInfoCallback](#oh_capturesession_registersmoothzoominfocallback) ([Camera_CaptureSession](#camera_capturesession) \*session, [OH_CaptureSession_OnSmoothZoomInfo](#oh_capturesession_onsmoothzoominfo) smoothZoomInfoCallback) | Registers a callback to listen for smooth zoom events.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_UnregisterSmoothZoomInfoCallback](#oh_capturesession_unregistersmoothzoominfocallback) ([Camera_CaptureSession](#camera_capturesession) \*session, [OH_CaptureSession_OnSmoothZoomInfo](#oh_capturesession_onsmoothzoominfo) smoothZoomInfoCallback) | Unregisters the callback used to listen for smooth zoom events.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetSessionMode](#oh_capturesession_setsessionmode) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_SceneMode](#camera_scenemode) sceneMode) | Sets a session mode.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_AddSecureOutput](#oh_capturesession_addsecureoutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PreviewOutput](#camera_previewoutput) \*previewOutput) | Marks a preview output stream as secure output.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_BeginConfig](#oh_capturesession_beginconfig) ([Camera_CaptureSession](#camera_capturesession) \*session) | Starts the configuration for a capture session.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_CommitConfig](#oh_capturesession_commitconfig) ([Camera_CaptureSession](#camera_capturesession) \*session) | Commits the configuration for a capture session.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_AddInput](#oh_capturesession_addinput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_Input](#camera_input) \*cameraInput) | Adds a **CameraInput** instance to a session.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_RemoveInput](#oh_capturesession_removeinput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_Input](#camera_input) \*cameraInput) | Removes a **CameraInput** instance from a session.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_AddPreviewOutput](#oh_capturesession_addpreviewoutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PreviewOutput](#camera_previewoutput) \*previewOutput) | Adds a **PreviewOutput** instance to a session.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_RemovePreviewOutput](#oh_capturesession_removepreviewoutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PreviewOutput](#camera_previewoutput) \*previewOutput) | Removes a **PreviewOutput** instance from a session.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_AddPhotoOutput](#oh_capturesession_addphotooutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PhotoOutput](#camera_photooutput) \*photoOutput) | Adds a **PhotoOutput** instance to a session.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_RemovePhotoOutput](#oh_capturesession_removephotooutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PhotoOutput](#camera_photooutput) \*photoOutput) | Removes a **PhotoOutput** instance from a session.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_AddVideoOutput](#oh_capturesession_addvideooutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_VideoOutput](#camera_videooutput) \*videoOutput) | Adds a **VideoOutput** instance to a session.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_RemoveVideoOutput](#oh_capturesession_removevideooutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_VideoOutput](#camera_videooutput) \*videoOutput) | Removes a **VideoOutput** instance from a session.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_AddMetadataOutput](#oh_capturesession_addmetadataoutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_MetadataOutput](#camera_metadataoutput) \*metadataOutput) | Adds a **MetadataOutput** instance to a session.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_RemoveMetadataOutput](#oh_capturesession_removemetadataoutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_MetadataOutput](#camera_metadataoutput) \*metadataOutput) | Removes a **MetadataOutput** instance from a session.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_Start](#oh_capturesession_start) ([Camera_CaptureSession](#camera_capturesession) \*session) | Starts a capture session.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_Stop](#oh_capturesession_stop) ([Camera_CaptureSession](#camera_capturesession) \*session) | Stops a capture session.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_Release](#oh_capturesession_release) ([Camera_CaptureSession](#camera_capturesession) \*session) | Releases a **CaptureSession** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_HasFlash](#oh_capturesession_hasflash) ([Camera_CaptureSession](#camera_capturesession) \*session, bool \*hasFlash) | Checks whether the device has flash.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_IsFlashModeSupported](#oh_capturesession_isflashmodesupported) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_FlashMode](#camera_flashmode) flashMode, bool \*isSupported) | Checks whether a flash mode is supported.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetFlashMode](#oh_capturesession_getflashmode) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_FlashMode](#camera_flashmode) \*flashMode) | Obtains the flash mode in use.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetFlashMode](#oh_capturesession_setflashmode) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_FlashMode](#camera_flashmode) flashMode) | Sets a flash mode for the device.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_IsExposureModeSupported](#oh_capturesession_isexposuremodesupported) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_ExposureMode](#camera_exposuremode) exposureMode, bool \*isSupported) | Checks whether an exposure mode is supported.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetExposureMode](#oh_capturesession_getexposuremode) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_ExposureMode](#camera_exposuremode) \*exposureMode) | Obtains the exposure mode in use.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetExposureMode](#oh_capturesession_setexposuremode) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_ExposureMode](#camera_exposuremode) exposureMode) | Sets an exposure mode for the device.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetMeteringPoint](#oh_capturesession_getmeteringpoint) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_Point](_camera___point.md) \*point) | Obtains the metering point in use.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetMeteringPoint](#oh_capturesession_setmeteringpoint) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_Point](_camera___point.md) point) | Sets the metering point, which is the center point of the metering rectangle.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetExposureBiasRange](#oh_capturesession_getexposurebiasrange) ([Camera_CaptureSession](#camera_capturesession) \*session, float \*minExposureBias, float \*maxExposureBias, float \*step) | Obtains the exposure compensation values of the device.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetExposureBias](#oh_capturesession_setexposurebias) ([Camera_CaptureSession](#camera_capturesession) \*session, float exposureBias) | Sets an exposure compensation value for the device.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetExposureBias](#oh_capturesession_getexposurebias) ([Camera_CaptureSession](#camera_capturesession) \*session, float \*exposureBias) | Obtains the exposure compensation value in use.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_IsFocusModeSupported](#oh_capturesession_isfocusmodesupported) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_FocusMode](#camera_focusmode) focusMode, bool \*isSupported) | Checks whether a focus mode is supported.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetFocusMode](#oh_capturesession_getfocusmode) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_FocusMode](#camera_focusmode) \*focusMode) | Obtains the focus mode in use.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetFocusMode](#oh_capturesession_setfocusmode) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_FocusMode](#camera_focusmode) focusMode) | Sets a focus mode for the device.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetFocusPoint](#oh_capturesession_getfocuspoint) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_Point](_camera___point.md) \*focusPoint) | Obtains the focal point in use.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetFocusPoint](#oh_capturesession_setfocuspoint) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_Point](_camera___point.md) focusPoint) | Sets a focal point for the device.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetZoomRatioRange](#oh_capturesession_getzoomratiorange) ([Camera_CaptureSession](#camera_capturesession) \*session, float \*minZoom, float \*maxZoom) | Obtains the supported zoom ratio range.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetZoomRatio](#oh_capturesession_getzoomratio) ([Camera_CaptureSession](#camera_capturesession) \*session, float \*zoom) | Obtains the zoom ratio in use.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetZoomRatio](#oh_capturesession_setzoomratio) ([Camera_CaptureSession](#camera_capturesession) \*session, float zoom) | Sets a zoom ratio for the device.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_IsVideoStabilizationModeSupported](#oh_capturesession_isvideostabilizationmodesupported) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_VideoStabilizationMode](#camera_videostabilizationmode) mode, bool \*isSupported) | Checks whether a video stabilization mode is supported. | | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetVideoStabilizationMode](#oh_capturesession_getvideostabilizationmode) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_VideoStabilizationMode](#camera_videostabilizationmode) \*mode) | Obtains the video stabilization mode in use.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetVideoStabilizationMode](#oh_capturesession_setvideostabilizationmode) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_VideoStabilizationMode](#camera_videostabilizationmode) mode) | Sets a video stabilization mode for the device.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_CanAddInput](#oh_capturesession_canaddinput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_Input](#camera_input) \*cameraInput, bool \*isSuccessful) | Checks whether a **CameraInput** instance can be added to a session.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_CanAddPreviewOutput](#oh_capturesession_canaddpreviewoutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PreviewOutput](#camera_previewoutput) \*cameraOutput, bool \*isSuccessful) | Checks whether a **PreviewOutput** instance can be added to a session.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_CanAddPhotoOutput](#oh_capturesession_canaddphotooutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PhotoOutput](#camera_photooutput) \*cameraOutput, bool \*isSuccessful) | Checks whether a **PhotoOutput** instance can be added to a session.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_CanAddVideoOutput](#oh_capturesession_canaddvideooutput) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_VideoOutput](#camera_videooutput) \*cameraOutput, bool \*isSuccessful) | Checks whether a **VideoOutput** instance can be added to a session.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_CanPreconfig](#oh_capturesession_canpreconfig) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PreconfigType](#camera_preconfigtype) preconfigType, bool \*canPreconfig) | Checks whether a preconfigured resolution type is supported.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_CanPreconfigWithRatio](#oh_capturesession_canpreconfigwithratio) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PreconfigType](#camera_preconfigtype) preconfigType, [Camera_PreconfigRatio](#camera_preconfigratio) preconfigRatio, bool \*canPreconfig) | Checks whether a preconfigured resolution type with an aspect ratio is supported.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_Preconfig](#oh_capturesession_preconfig) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PreconfigType](#camera_preconfigtype) preconfigType) | Sets a preconfigured resolution type.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_PreconfigWithRatio](#oh_capturesession_preconfigwithratio) ([Camera_CaptureSession](#camera_capturesession) \*session, [Camera_PreconfigType](#camera_preconfigtype) preconfigType, [Camera_PreconfigRatio](#camera_preconfigratio) preconfigRatio) | Sets a preconfigured resolution type with an aspect ratio.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetExposureValue](#oh_capturesession_getexposurevalue) ([Camera_CaptureSession](#camera_capturesession) \*session, float \*exposureValue) | Obtains the exposure value.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetFocalLength](#oh_capturesession_getfocallength) ([Camera_CaptureSession](#camera_capturesession) \*session, float \*focalLength) | Obtains the current focal length.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetSmoothZoom](#oh_capturesession_setsmoothzoom) ([Camera_CaptureSession](#camera_capturesession) \*session, float targetZoom, [Camera_SmoothZoomMode](#camera_smoothzoommode) smoothZoomMode) | Sets smooth zoom.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetSupportedColorSpaces](#oh_capturesession_getsupportedcolorspaces) ([Camera_CaptureSession](#camera_capturesession) \*session, OH_NativeBuffer_ColorSpace \*\*colorSpace, uint32_t \*size) | Obtains the supported color spaces.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_DeleteColorSpaces](#oh_capturesession_deletecolorspaces) ([Camera_CaptureSession](#camera_capturesession) \*session, OH_NativeBuffer_ColorSpace \*colorSpace) | Deletes color spaces.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_GetActiveColorSpace](#oh_capturesession_getactivecolorspace) ([Camera_CaptureSession](#camera_capturesession) \*session, OH_NativeBuffer_ColorSpace \*colorSpace) | Obtains the active color space.| | [Camera_ErrorCode](#camera_errorcode) [OH_CaptureSession_SetActiveColorSpace](#oh_capturesession_setactivecolorspace) ([Camera_CaptureSession](#camera_capturesession) \*session, OH_NativeBuffer_ColorSpace colorSpace) | Sets the active color space.| | [Camera_ErrorCode](#camera_errorcode) [OH_MetadataOutput_RegisterCallback](#oh_metadataoutput_registercallback) ([Camera_MetadataOutput](#camera_metadataoutput) \*metadataOutput, [MetadataOutput_Callbacks](_metadata_output___callbacks.md) \*callback) | Registers a callback to listen for metadata output events.| | [Camera_ErrorCode](#camera_errorcode) [OH_MetadataOutput_UnregisterCallback](#oh_metadataoutput_unregistercallback) ([Camera_MetadataOutput](#camera_metadataoutput) \*metadataOutput, [MetadataOutput_Callbacks](_metadata_output___callbacks.md) \*callback) | Unregisters the callback used to listen for metadata output events.| | [Camera_ErrorCode](#camera_errorcode) [OH_MetadataOutput_Start](#oh_metadataoutput_start) ([Camera_MetadataOutput](#camera_metadataoutput) \*metadataOutput) | Starts metadata output.| | [Camera_ErrorCode](#camera_errorcode) [OH_MetadataOutput_Stop](#oh_metadataoutput_stop) ([Camera_MetadataOutput](#camera_metadataoutput) \*metadataOutput) | Stops metadata output.| | [Camera_ErrorCode](#camera_errorcode) [OH_MetadataOutput_Release](#oh_metadataoutput_release) ([Camera_MetadataOutput](#camera_metadataoutput) \*metadataOutput) | Releases a **MetadataOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoNative_GetMainImage](#oh_photonative_getmainimage) ([OH_PhotoNative](#oh_photonative) \*photo, OH_ImageNative \*\*mainImage) | Obtains a full quality photo.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoNative_Release](#oh_photonative_release) ([OH_PhotoNative](#oh_photonative) \*photo) | Releases a full quality photo.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_RegisterCallback](#oh_photooutput_registercallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [PhotoOutput_Callbacks](_photo_output___callbacks.md) \*callback) | Registers a callback to listen for photo output events.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_UnregisterCallback](#oh_photooutput_unregistercallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [PhotoOutput_Callbacks](_photo_output___callbacks.md) \*callback) | Unregisters the callback used to listen for photo output events.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_RegisterCaptureStartWithInfoCallback](#oh_photooutput_registercapturestartwithinfocallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_CaptureStartWithInfo](#oh_photooutput_capturestartwithinfo) callback) | Registers a callback to listen for capture start events.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_UnregisterCaptureStartWithInfoCallback](#oh_photooutput_unregistercapturestartwithinfocallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_CaptureStartWithInfo](#oh_photooutput_capturestartwithinfo) callback) | Unregisters the callback used to listen for capture start events.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_RegisterCaptureEndCallback](#oh_photooutput_registercaptureendcallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_CaptureEnd](#oh_photooutput_captureend) callback) | Registers a callback to listen for capture end events.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_UnregisterCaptureEndCallback](#oh_photooutput_unregistercaptureendcallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_CaptureEnd](#oh_photooutput_captureend) callback) | Unregisters the callback used to listen for capture end events.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_RegisterFrameShutterEndCallback](#oh_photooutput_registerframeshutterendcallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_OnFrameShutterEnd](#oh_photooutput_onframeshutterend) callback) | Registers a callback to listen for frame shutter end events.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_UnregisterFrameShutterEndCallback](#oh_photooutput_unregisterframeshutterendcallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_OnFrameShutterEnd](#oh_photooutput_onframeshutterend) callback) | Unregisters the callback used to listen for frame shutter end events.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_RegisterCaptureReadyCallback](#oh_photooutput_registercapturereadycallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_CaptureReady](#oh_photooutput_captureready) callback) | Registers a callback to listen for camera ready events. When the callback is received, the next capture can be performed.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_UnregisterCaptureReadyCallback](#oh_photooutput_unregistercapturereadycallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_CaptureReady](#oh_photooutput_captureready) callback) | Unregisters the callback used to listen for camera ready events.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_RegisterEstimatedCaptureDurationCallback](#oh_photooutput_registerestimatedcapturedurationcallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_EstimatedCaptureDuration](#oh_photooutput_estimatedcaptureduration) callback) | Registers a callback to listen for estimated capture duration events.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_UnregisterEstimatedCaptureDurationCallback](#oh_photooutput_unregisterestimatedcapturedurationcallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_EstimatedCaptureDuration](#oh_photooutput_estimatedcaptureduration) callback) | Unregisters the callback used to listen for estimated capture duration events.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_RegisterPhotoAvailableCallback](#oh_photooutput_registerphotoavailablecallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_PhotoAvailable](#oh_photooutput_photoavailable) callback) | Registers a callback to listen for photo availability events.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_UnregisterPhotoAvailableCallback](#oh_photooutput_unregisterphotoavailablecallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_PhotoAvailable](#oh_photooutput_photoavailable) callback) | Unregisters the callback used to listen for photo availability events.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_RegisterPhotoAssetAvailableCallback](#oh_photooutput_registerphotoassetavailablecallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_PhotoAssetAvailable](#oh_photooutput_photoassetavailable) callback) | Registers a callback to listen for photo asset availability events.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_UnregisterPhotoAssetAvailableCallback](#oh_photooutput_unregisterphotoassetavailablecallback) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [OH_PhotoOutput_PhotoAssetAvailable](#oh_photooutput_photoassetavailable) callback) | Unregisters the callback used to listen for photo asset availability events.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_Capture](#oh_photooutput_capture) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput) | Captures a photo.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_Capture_WithCaptureSetting](#oh_photooutput_capture_withcapturesetting) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [Camera_PhotoCaptureSetting](_camera___photo_capture_setting.md) setting) | Captures a photo with photographing parameters.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_Release](#oh_photooutput_release) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput) | Releases a **PhotoOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_IsMirrorSupported](#oh_photooutput_ismirrorsupported) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, bool \*isSupported) | Checks whether mirroring is supported.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_GetActiveProfile](#oh_photooutput_getactiveprofile) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, [Camera_Profile](_camera___profile.md) \*\*profile) | Obtains the profile of a **PhotoOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_DeleteProfile](#oh_photooutput_deleteprofile) ([Camera_Profile](_camera___profile.md) \*profile) | Deletes the profile of this **PhotoOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_IsMovingPhotoSupported](#oh_photooutput_ismovingphotosupported) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, bool \*isSupported) | Checks whether moving photos are supported.| | [Camera_ErrorCode](#camera_errorcode) [OH_PhotoOutput_EnableMovingPhoto](#oh_photooutput_enablemovingphoto) ([Camera_PhotoOutput](#camera_photooutput) \*photoOutput, bool enabled) | Enables moving photos.| | [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_RegisterCallback](#oh_previewoutput_registercallback) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput, [PreviewOutput_Callbacks](_preview_output___callbacks.md) \*callback) | Registers a callback to listen for preview output events.| | [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_UnregisterCallback](#oh_previewoutput_unregistercallback) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput, [PreviewOutput_Callbacks](_preview_output___callbacks.md) \*callback) | Unregisters the callback used to listen for preview output events.| | [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_Start](#oh_previewoutput_start) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput) | Starts preview output.| | [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_Stop](#oh_previewoutput_stop) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput) | Stops preview output.| | [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_Release](#oh_previewoutput_release) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput) | Releases a **PreviewOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_GetActiveProfile](#oh_previewoutput_getactiveprofile) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput, [Camera_Profile](_camera___profile.md) \*\*profile) | Obtains the profile of a **PreviewOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_DeleteProfile](#oh_previewoutput_deleteprofile) ([Camera_Profile](_camera___profile.md) \*profile) | Deletes the profile of this **PreviewOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_GetSupportedFrameRates](#oh_previewoutput_getsupportedframerates) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput, [Camera_FrameRateRange](_camera___frame_rate_range.md) \*\*frameRateRange, uint32_t \*size) | Obtains the list of frame rates supported by a **PreviewOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_DeleteFrameRates](#oh_previewoutput_deleteframerates) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput, [Camera_FrameRateRange](_camera___frame_rate_range.md) \*frameRateRange) | Deletes the frame rate list.| | [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_SetFrameRate](#oh_previewoutput_setframerate) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput, int32_t minFps, int32_t maxFps) | Sets the frame rates for a **PreviewOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_PreviewOutput_GetActiveFrameRate](#oh_previewoutput_getactiveframerate) ([Camera_PreviewOutput](#camera_previewoutput) \*previewOutput, [Camera_FrameRateRange](_camera___frame_rate_range.md) \*frameRateRange) | Obtains the active frame rates of a **PreviewOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_RegisterCallback](#oh_videooutput_registercallback) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput, [VideoOutput_Callbacks](_video_output___callbacks.md) \*callback) | Registers a callback to listen for video output events.| | [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_UnregisterCallback](#oh_videooutput_unregistercallback) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput, [VideoOutput_Callbacks](_video_output___callbacks.md) \*callback) | Unregisters the callback used to listen for video output events.| | [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_Start](#oh_videooutput_start) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput) | Starts video output.| | [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_Stop](#oh_videooutput_stop) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput) | Stops video output.| | [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_Release](#oh_videooutput_release) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput) | Releases a **VideoOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_GetActiveProfile](#oh_videooutput_getactiveprofile) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput, [Camera_VideoProfile](_camera___video_profile.md) \*\*profile) | Obtains the profile of a **VideoOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_DeleteProfile](#oh_videooutput_deleteprofile) ([Camera_VideoProfile](_camera___video_profile.md) \*profile) | Deletes the profile of this **VideoOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_GetSupportedFrameRates](#oh_videooutput_getsupportedframerates) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput, [Camera_FrameRateRange](_camera___frame_rate_range.md) \*\*frameRateRange, uint32_t \*size) | Obtains the list of frame rates supported by a **VideoOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_DeleteFrameRates](#oh_videooutput_deleteframerates) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput, [Camera_FrameRateRange](_camera___frame_rate_range.md) \*frameRateRange) | Deletes the frame rate list.| | [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_SetFrameRate](#oh_videooutput_setframerate) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput, int32_t minFps, int32_t maxFps) | Sets the frame rates for a **VideoOutput** instance.| | [Camera_ErrorCode](#camera_errorcode) [OH_VideoOutput_GetActiveFrameRate](#oh_videooutput_getactiveframerate) ([Camera_VideoOutput](#camera_videooutput) \*videoOutput, [Camera_FrameRateRange](_camera___frame_rate_range.md) \*frameRateRange) | Obtains the active frame rates of a **VideoOutput** instance.| ## Type Description ### Camera_CaptureEndInfo ``` typedef struct Camera_CaptureEndInfo Camera_CaptureEndInfo ``` **Description** Defines a struct for the capture end information. **Since**: 11 ### Camera_CaptureSession ``` typedef struct Camera_CaptureSession Camera_CaptureSession ``` **Description** Defines a struct for the capture session object. You can call [OH_CameraManager_CreateCaptureSession](#oh_cameramanager_createcapturesession) to create such an object. **Since**: 11 ### Camera_CaptureStartInfo ``` typedef struct Camera_CaptureStartInfo Camera_CaptureStartInfo ``` **Description** Defines a struct for the capture start information. **Since**: 12 ### Camera_Connection ``` typedef enum Camera_Connection Camera_Connection ``` **Description** Defines an enum for the camera connection types. **Since**: 11 ### Camera_Device ``` typedef struct Camera_Device Camera_Device ``` **Description** Defines a struct for the camera device. **Since**: 11 ### Camera_ErrorCode ``` typedef enum Camera_ErrorCode Camera_ErrorCode ``` **Description** Defines an enum for the camera error codes. **Since**: 11 ### Camera_ExposureMode ``` typedef enum Camera_ExposureMode Camera_ExposureMode ``` **Description** Defines an enum for the exposure modes. **Since**: 11 ### Camera_FlashMode ``` typedef enum Camera_FlashMode Camera_FlashMode ``` **Description** Defines an enum for the flash modes. **Since**: 11 ### Camera_FocusMode ``` typedef enum Camera_FocusMode Camera_FocusMode ``` **Description** Defines an enum for the focus modes. **Since**: 11 ### Camera_FocusState ``` typedef enum Camera_FocusState Camera_FocusState ``` **Description** Defines an enum for the focus states. **Since**: 11 ### Camera_Format ``` typedef enum Camera_FormatCamera_Format ``` **Description** Defines an enum for the camera output formats. **Since**: 11 ### Camera_FrameRateRange ``` typedef struct Camera_FrameRateRange Camera_FrameRateRange ``` **Description** Defines a struct for the frame rate range. **Since**: 11 ### Camera_FrameShutterEndInfo ``` typedef struct Camera_FrameShutterEndInfo Camera_FrameShutterEndInfo ``` **Description** Defines a struct for the frame shutter end information during capture. **Since**: 12 ### Camera_FrameShutterInfo ``` typedef struct Camera_FrameShutterInfo Camera_FrameShutterInfo ``` **Description** Defines a struct for the frame shutter information. **Since**: 11 ### Camera_ImageRotation ``` typedef enum Camera_ImageRotation Camera_ImageRotation ``` **Description** Defines an enum for the image rotation angles. **Since**: 11 ### Camera_Input ``` typedef struct Camera_Input Camera_Input ``` **Description** Defines a struct for the camera input object. You can call [OH_CameraManager_CreateCameraInput](#oh_cameramanager_createcamerainput) to create such an object. **Since**: 11 ### Camera_Location ``` typedef struct Camera_Location Camera_Location ``` **Description** Defines a struct for the location where the photo is taken. **Since**: 11 ### Camera_Manager ``` typedef struct Camera_Manager Camera_Manager ``` **Description** Defines a struct for the camera manager. You can call [OH_Camera_GetCameraManager](#oh_camera_getcameramanager) to create such an object. **Since**: 11 ### Camera_MetadataObject ``` typedef struct Camera_MetadataObject Camera_MetadataObject ``` **Description** Defines a struct for the camera metadata. **Since**: 11 ### Camera_MetadataObjectType ``` typedef enum Camera_MetadataObjectType Camera_MetadataObjectType ``` **Description** Defines an enum for the metadata object types. **Since**: 11 ### Camera_MetadataOutput ``` typedef struct Camera_MetadataOutput Camera_MetadataOutput ``` **Description** Defines a struct for the metadata output object. You can call [OH_CameraManager_CreateMetadataOutput](#oh_cameramanager_createmetadataoutput) to create such an object. **Since**: 11 ### Camera_OutputCapability ``` typedef struct Camera_OutputCapability Camera_OutputCapability ``` **Description** Defines a struct for the camera output capability. **Since**: 11 ### Camera_PhotoCaptureSetting ``` typedef struct Camera_PhotoCaptureSetting Camera_PhotoCaptureSetting ``` **Description** Defines a struct for the parameters related to photo capture. **Since**: 11 ### Camera_PhotoOutput ``` typedef struct Camera_PhotoOutput Camera_PhotoOutput ``` **Description** Defines a struct for the photo output object. You can call [OH_CameraManager_CreatePhotoOutput](#oh_cameramanager_createphotooutput) to create such an object. **Since**: 11 ### Camera_Point ``` typedef struct Camera_Point Camera_Point ``` **Description** Defines a struct for the parameters related to a point. **Since**: 11 ### Camera_Position ``` typedef enum Camera_Position Camera_Position ``` **Description** Defines an enum for the camera positions. **Since**: 11 ### Camera_PreconfigRatio ``` typedef enum Camera_PreconfigRatio Camera_PreconfigRatio ``` **Description** Defines an enum for the preconfigured aspect ratios. **Since**: 12 ### Camera_PreconfigType ``` typedef enum Camera_PreconfigType Camera_PreconfigType ``` **Description** Defines an enum for the preconfigured resolution types. **Since**: 12 ### Camera_PreviewOutput ``` typedef struct Camera_PreviewOutput Camera_PreviewOutput ``` **Description** Defines a struct for the preview output object. You can call [OH_CameraManager_CreatePreviewOutput](#oh_cameramanager_createpreviewoutput) to create such an object. **Since**: 11 ### Camera_Profile ``` typedef struct Camera_Profile Camera_Profile ``` **Description** Defines a struct for the profile of a camera stream. **Since**: 11 ### Camera_QualityLevel ``` typedef enum Camera_QualityLevel Camera_QualityLevel ``` **Description** Defines an enum for the image quality levels. **Since**: 11 ### Camera_Rect ``` typedef struct Camera_Rect Camera_Rect ``` **Description** Defines a struct for the rectangle. **Since**: 11 ### Camera_SceneMode ``` typedef enum Camera_SceneMode Camera_SceneMode ``` **Description** Defines an enum for the camera scene modes. **Since**: 12 ### Camera_Size ``` typedef struct Camera_Size Camera_Size ``` **Description** Defines a struct for the parameters related to the size. **Since**: 11 ### Camera_SmoothZoomInfo ``` typedef struct Camera_SmoothZoomInfo Camera_SmoothZoomInfo ``` **Description** Defines a struct for the smooth zoom information. **Since**: 12 ### Camera_SmoothZoomMode ``` typedef enum Camera_SmoothZoomMode Camera_SmoothZoomMode ``` **Description** Defines an enum for the smooth zoom modes. **Since**: 12 ### Camera_Status ``` typedef enum Camera_Status Camera_Status ``` **Description** Defines an enum for the camera statuses. **Since**: 11 ### Camera_StatusInfo ``` typedef struct Camera_StatusInfo Camera_StatusInfo ``` **Description** Defines a struct for the camera status information. **Since**: 11 ### Camera_TorchMode ``` typedef enum Camera_TorchMode Camera_TorchMode ``` **Description** Defines an enum for the flashlight modes. **Since**: 12 ### Camera_TorchStatusInfo ``` typedef struct Camera_TorchStatusInfo Camera_TorchStatusInfo ``` **Description** Defines a struct for the flashlight status information. **Since**: 12 ### Camera_Type ``` typedef enum Camera_Type Camera_Type ``` **Description** Defines an enum for the camera types. **Since**: 11 ### Camera_VideoOutput ``` typedef struct Camera_VideoOutput Camera_VideoOutput ``` **Description** Defines a struct for the video output object. You can call [OH_CameraManager_CreateVideoOutput](#oh_cameramanager_createvideooutput) to create such an object. **Since**: 11 ### Camera_VideoProfile ``` typedef struct Camera_VideoProfile Camera_VideoProfile ``` **Description** Defines a struct for the video profile. **Since**: 11 ### Camera_VideoStabilizationMode ``` typedef enum Camera_VideoStabilizationMode Camera_VideoStabilizationMode ``` **Description** Defines an enum for the video stabilization modes. **Since**: 11 ### CameraInput_Callbacks ``` typedef struct CameraInput_Callbacks CameraInput_Callbacks ``` **Description** Defines a struct for the callbacks used to listen for camera input errors. **Since**: 11 **See** [OH_CameraInput_RegisterCallback](#oh_camerainput_registercallback) ### CameraManager_Callbacks ``` typedef struct CameraManager_Callbacks CameraManager_Callbacks ``` **Description** Defines a struct for the callbacks used to listen for camera status changes. **Since**: 11 **See** [OH_CameraManager_RegisterCallback](#oh_cameramanager_registercallback) ### CaptureSession_Callbacks ``` typedef struct CaptureSession_Callbacks CaptureSession_Callbacks ``` **Description** Defines a struct for the callbacks used for a capture session. **Since**: 11 **See** [OH_CaptureSession_RegisterCallback](#oh_capturesession_registercallback) ### MetadataOutput_Callbacks ``` typedef struct MetadataOutput_Callbacks MetadataOutput_Callbacks ``` **Description** Defines a struct for the callbacks related to metadata output. **Since**: 11 **See** [OH_MetadataOutput_RegisterCallback](#oh_metadataoutput_registercallback) ### OH_CameraInput_OnError ``` typedef void (*OH_CameraInput_OnError)(const Camera_Input* cameraInput, Camera_ErrorCode errorCode) ``` **Description** Defines the callback defined in the [CameraInput_Callbacks](_camera_input___callbacks.md) struct and used to report camera input errors. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraInput | Pointer to the [Camera_Input](#camera_input) instance that transfers the callback.| | errorCode | Error code reported during camera input and defined in [Camera_ErrorCode](#camera_errorcode-1).| **See** In [Camera_ErrorCode](#camera_errorcode-1): - CAMERA_CONFLICT_CAMERA - CAMERA_DEVICE_DISABLED - CAMERA_DEVICE_PREEMPTED - CAMERA_SERVICE_FATAL_ERROR ### OH_CameraManager_StatusCallback ``` typedef void (*OH_CameraManager_StatusCallback)(Camera_Manager* cameraManager, Camera_StatusInfo* status) ``` **Description** Defines the callback defined in the [CameraManager_Callbacks](_camera_manager___callbacks.md) struct and used to report the camera manager status. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to the [Camera_Manager](#camera_manager) instance that transfers the callback.| | status | Pointer to the camera manager status, which is defined in the [Camera_StatusInfo](_camera___status_info.md) struct.| ### OH_CameraManager_TorchStatusCallback ``` typedef void (*OH_CameraManager_TorchStatusCallback)(Camera_Manager* cameraManager, Camera_TorchStatusInfo* status) ``` **Description** Defines the callback invoked when the flashlight status changes. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to the [Camera_Manager](#camera_manager) instance that transfers the callback.| | status | Pointer to the flashlight status, which is defined in the [Camera_TorchStatusInfo](_camera___torch_status_info.md) struct.| ### OH_CaptureSession_OnError ``` typedef void (*OH_CaptureSession_OnError)(Camera_CaptureSession* session, Camera_ErrorCode errorCode) ``` **Description** Defines the callback defined in the [CaptureSession_Callbacks](_capture_session___callbacks.md) struct and used to report capture session errors. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the [Camera_CaptureSession](#camera_capturesession) instance that transfers the callback.| | errorCode | Error code reported in a capture session and defined in [Camera_ErrorCode](#camera_errorcode-1).| **See** **CAMERA_SERVICE_FATAL_ERROR** in [Camera_ErrorCode](#camera_errorcode-1). ### OH_CaptureSession_OnFocusStateChange ``` typedef void (*OH_CaptureSession_OnFocusStateChange)(Camera_CaptureSession* session, Camera_FocusState focusState) ``` **Description** Defines the callback defined in the [CaptureSession_Callbacks](_capture_session___callbacks.md) struct and used to report focus status changes of a capture session. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the [Camera_CaptureSession](#camera_capturesession) instance that transfers the callback.| | focusState | Focus state, which is defined in [Camera_FocusState](#camera_focusstate).| ### OH_CaptureSession_OnSmoothZoomInfo ``` typedef void (*OH_CaptureSession_OnSmoothZoomInfo)(Camera_CaptureSession* session, Camera_SmoothZoomInfo* smoothZoomInfo) ``` **Description** Defines the callback invoked when smooth zoom is triggered for a capture session. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the [Camera_CaptureSession](#camera_capturesession) instance that transfers the callback.| | smoothZoomInfo | Pointer to [Camera_SmoothZoomInfo](_camera___smooth_zoom_info.md) passed by the callback.| ### OH_MetadataOutput_OnError ``` typedef void (*OH_MetadataOutput_OnError)(Camera_MetadataOutput* metadataOutput, Camera_ErrorCode errorCode) ``` **Description** Defines the callback defined in the [MetadataOutput_Callbacks](_metadata_output___callbacks.md) struct and used to report metadata output errors. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | metadataOutput | Pointer to the [Camera_MetadataOutput](#camera_metadataoutput) instance that transfers the callback.| | errorCode | Error code reported during metadata output and defined in [Camera_ErrorCode](#camera_errorcode-1).| **See** **CAMERA_SERVICE_FATAL_ERROR** in [Camera_ErrorCode](#camera_errorcode-1). ### OH_MetadataOutput_OnMetadataObjectAvailable ``` typedef void (*OH_MetadataOutput_OnMetadataObjectAvailable)(Camera_MetadataOutput* metadataOutput, Camera_MetadataObject* metadataObject, uint32_t size) ``` **Description** Defines the callback defined in the [MetadataOutput_Callbacks](_metadata_output___callbacks.md) struct and used to report metadata output data. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | metadataOutput | Pointer to the [Camera_MetadataOutput](#camera_metadataoutput) instance that transfers the callback.| | metadataObject | Pointer to the metadata output data, which is defined in the [Camera_MetadataObject](_camera___metadata_object.md) struct.| | size | Size of the metadata object.| ### OH_PhotoNative ``` typedef struct OH_PhotoNative OH_PhotoNative ``` **Description** Defines a struct for a camera photo object. Defines a high-resolution image object. **Since**: 12 ### OH_PhotoOutput_CaptureEnd ``` typedef void (*OH_PhotoOutput_CaptureEnd) (Camera_PhotoOutput* photoOutput, int32_t frameCount) ``` **Description** Defines the callback invoked when the capture ends. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| | frameCount | Number of frames to be included in the callback.| ### OH_PhotoOutput_CaptureReady ``` typedef void (*OH_PhotoOutput_CaptureReady) (Camera_PhotoOutput* photoOutput) ``` **Description** Defines the callback invoked when the camera is ready to take photos. When the callback is received, the next capture can be performed. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| ### OH_PhotoOutput_CaptureStartWithInfo ``` typedef void (*OH_PhotoOutput_CaptureStartWithInfo) (Camera_PhotoOutput* photoOutput, Camera_CaptureStartInfo* Info) ``` **Description** Defines the callback invoked when the capture starts. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| | Info | Pointer to [Camera_CaptureStartInfo](_camera___capture_start_info.md) passed by the callback.| ### OH_PhotoOutput_EstimatedCaptureDuration ``` typedef void (*OH_PhotoOutput_EstimatedCaptureDuration) (Camera_PhotoOutput* photoOutput, int64_t duration) ``` **Description** Defines the callback for the estimated capture duration. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| | duration | Estimated capture duration passed by the callback.| ### OH_PhotoOutput_OnError ``` typedef void (*OH_PhotoOutput_OnError)(Camera_PhotoOutput* photoOutput, Camera_ErrorCode errorCode) ``` **Description** Defines the callback defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct and used to report photo output errors. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| | errorCode | Error code reported during photo output and defined in [Camera_ErrorCode](#camera_errorcode-1).| **See** **CAMERA_SERVICE_FATAL_ERROR** in [Camera_ErrorCode](#camera_errorcode-1). ### OH_PhotoOutput_OnFrameEnd ``` typedef void (*OH_PhotoOutput_OnFrameEnd)(Camera_PhotoOutput* photoOutput, int32_t frameCount) ``` **Description** Defines the callback defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct and used to report photo output frame end events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| | frameCount | Number of frames to be included in the callback.| ### OH_PhotoOutput_OnFrameShutter ``` typedef void (*OH_PhotoOutput_OnFrameShutter)(Camera_PhotoOutput* photoOutput, Camera_FrameShutterInfo* info) ``` **Description** Defines the callback defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct and used to report frame shutter events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| | info | Pointer to the frame shutter information, which is defined in the [Camera_FrameShutterInfo](_camera___frame_shutter_info.md) struct.| ### OH_PhotoOutput_OnFrameShutterEnd ``` typedef void (*OH_PhotoOutput_OnFrameShutterEnd) (Camera_PhotoOutput* photoOutput, Camera_FrameShutterInfo* Info) ``` **Description** Defines the callback invoked when frame shutter ends. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| | Info | Pointer to [Camera_CaptureStartInfo](_camera___capture_start_info.md) passed by the callback.| ### OH_PhotoOutput_OnFrameStart ``` typedef void(* OH_PhotoOutput_OnFrameStart) (Camera_PhotoOutput *photoOutput) ``` **Description** Defines the callback defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct and used to report photo output frame start events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| ### OH_PhotoOutput_PhotoAssetAvailable ``` typedef void (*OH_PhotoOutput_PhotoAssetAvailable)(Camera_PhotoOutput* photoOutput, OH_MediaAsset* photoAsset) ``` **Description** Defines the callback invoked when a photo asset is available. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| | photoAsset | Pointer to [OH_MediaAsset](../apis-media-library-kit/_media_asset_manager.md#oh_mediaasset) passed by the callback.| ### OH_PhotoOutput_PhotoAvailable ``` typedef void (*OH_PhotoOutput_PhotoAvailable)(Camera_PhotoOutput* photoOutput, OH_PhotoNative* photo) ``` **Description** Defines the callback invoked when a high-resolution photo is available. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance that transfers the callback.| | photo | Pointer to [OH_PhotoNative](#oh_photonative) passed by the callback.| ### OH_PreviewOutput_OnError ``` typedef void (*OH_PreviewOutput_OnError)(Camera_PreviewOutput* previewOutput, Camera_ErrorCode errorCode) ``` **Description** Defines the callback defined in the [PreviewOutput_Callbacks](_preview_output___callbacks.md) struct and used to report preview output errors. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | previewOutput | Pointer to the [Camera_PreviewOutput](#camera_previewoutput) instance that transfers the callback.| | errorCode | Error code reported during preview output and defined in [Camera_ErrorCode](#camera_errorcode-1).| **See** **CAMERA_SERVICE_FATAL_ERROR** in [Camera_ErrorCode](#camera_errorcode-1). ### OH_PreviewOutput_OnFrameEnd ``` typedef void (*OH_PreviewOutput_OnFrameEnd)(Camera_PreviewOutput* previewOutput, int32_t frameCount) ``` **Description** Defines the callback defined in the [PreviewOutput_Callbacks](_preview_output___callbacks.md) struct and used report preview output frame end events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | previewOutput | Pointer to the [Camera_PreviewOutput](#camera_previewoutput) instance that transfers the callback.| | frameCount | Number of frames to be included in the callback.| ### OH_PreviewOutput_OnFrameStart ``` typedef void (*OH_PreviewOutput_OnFrameStart)(Camera_PreviewOutput* previewOutput) ``` **Description** Defines the callback defined in the [PreviewOutput_Callbacks](_preview_output___callbacks.md) struct and used to report preview output frame start events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | previewOutput | Pointer to the [Camera_PreviewOutput](#camera_previewoutput) instance that transfers the callback.| ### OH_VideoOutput_OnError ``` typedef void (*OH_VideoOutput_OnError)(Camera_VideoOutput* videoOutput, Camera_ErrorCode errorCode) ``` **Description** Defines the callback defined in the [VideoOutput_Callbacks](_video_output___callbacks.md) struct and used to report video output errors. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | videoOutput | Pointer to the [Camera_VideoOutput](#camera_videooutput) instance that transfers the callback.| | errorCode | Error code reported during video output and defined in [Camera_ErrorCode](#camera_errorcode-1).| **See** **CAMERA_SERVICE_FATAL_ERROR** in [Camera_ErrorCode](#camera_errorcode-1). ### OH_VideoOutput_OnFrameEnd ``` typedef void (*OH_VideoOutput_OnFrameEnd)(Camera_VideoOutput* videoOutput, int32_t frameCount) ``` **Description** Defines the callback defined in the [VideoOutput_Callbacks](_video_output___callbacks.md) struct and used to report video output frame end events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | videoOutput | Pointer to the [Camera_VideoOutput](#camera_videooutput) instance that transfers the callback.| | frameCount | Number of frames to be included in the callback.| ### OH_VideoOutput_OnFrameStart ``` typedef void (*OH_VideoOutput_OnFrameStart)(Camera_VideoOutput* videoOutput) ``` **Description** Defines the callback defined in the [VideoOutput_Callbacks](_video_output___callbacks.md) struct and used to report video output frame start events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | videoOutput | Pointer to the [Camera_VideoOutput](#camera_videooutput) instance that transfers the callback.| ### PhotoOutput_Callbacks ``` typedef struct PhotoOutput_Callbacks PhotoOutput_Callbacks ``` **Description** Defines a struct for the callbacks related to photo output. **Since**: 11 **See** [OH_PhotoOutput_RegisterCallback](#oh_photooutput_registercallback) ### PreviewOutput_Callbacks ``` typedef struct PreviewOutput_Callbacks PreviewOutput_Callbacks ``` **Description** Defines a struct for the callbacks related to preview output. **Since**: 11 **See** [OH_PreviewOutput_RegisterCallback](#oh_previewoutput_registercallback) ### VideoOutput_Callbacks ``` typedef struct VideoOutput_Callbacks VideoOutput_Callbacks ``` **Description** Defines a struct for the callbacks related to video output. **Since**: 11 **See** [OH_VideoOutput_RegisterCallback](#oh_videooutput_registercallback) ## Enum Description ### Camera_Connection ``` enum Camera_Connection ``` **Description** Enumerates the camera connection types. **Since**: 11 | Value| Description| | -------- | -------- | | CAMERA_CONNECTION_BUILT_IN | Built-in camera.| | CAMERA_CONNECTION_USB_PLUGIN | Camera connected using USB.| | CAMERA_CONNECTION_REMOTE | Remote camera.| ### Camera_ErrorCode ``` enum Camera_ErrorCode ``` **Description** Enumerates the camera error codes. **Since**: 11 | Value| Description| | -------- | -------- | | CAMERA_OK | The camera is normal.| | CAMERA_INVALID_ARGUMENT | A parameter is missing or the parameter type is incorrect.| | CAMERA_OPERATION_NOT_ALLOWED | The operation is not allowed.| | CAMERA_SESSION_NOT_CONFIG | The session is not configured.| | CAMERA_SESSION_NOT_RUNNING | The session is not running.| | CAMERA_SESSION_CONFIG_LOCKED | The session configuration is locked.| | CAMERA_DEVICE_SETTING_LOCKED | The device setting is locked.| | CAMERA_CONFLICT_CAMERA | The device is already started.| | CAMERA_DEVICE_DISABLED | The camera is disabled for security reasons.| | CAMERA_DEVICE_PREEMPTED | The camera is preempted.| | CAMERA_UNRESOLVED_CONFLICTS_WITH_CURRENT_CONFIGURATIONS | The configuration conflicts with the current configuration.
**Since**: 12| | CAMERA_SERVICE_FATAL_ERROR | A fatal error occurs in the camera service.| ### Camera_ExposureMode ``` enum Camera_ExposureMode ``` **Description** Enumerates the exposure modes. **Since**: 11 | Value| Description| | -------- | -------- | | EXPOSURE_MODE_LOCKED | Exposure locked.| | EXPOSURE_MODE_AUTO | Auto exposure.| | EXPOSURE_MODE_CONTINUOUS_AUTO | Continuous auto exposure.| ### Camera_FlashMode ``` enum Camera_FlashMode ``` **Description** Enumerates the flash modes. **Since**: 11 | Value| Description| | -------- | -------- | | FLASH_MODE_CLOSE | The flash is off.| | FLASH_MODE_OPEN | The flash is on.| | FLASH_MODE_AUTO | The flash mode is auto.| | FLASH_MODE_ALWAYS_OPEN | The flash is steady on.| ### Camera_FocusMode ``` enum Camera_FocusMode ``` **Description** Enumerates the focus modes. **Since**: 11 | Value| Description| | -------- | -------- | | FOCUS_MODE_MANUAL | Manual focus.| | FOCUS_MODE_CONTINUOUS_AUTO | Continuous auto focus.| | FOCUS_MODE_AUTO | Auto focus.| | FOCUS_MODE_LOCKED | Focus locked.| ### Camera_FocusState ``` enum Camera_FocusState ``` **Description** Enumerates the focus states. **Since**: 11 | Value| Description| | -------- | -------- | | FOCUS_STATE_SCAN | Focusing.| | FOCUS_STATE_FOCUSED | Focused.| | FOCUS_STATE_UNFOCUSED | Unfocused.| ### Camera_Format ``` enum Camera_Format ``` **Description** Enumerates the camera output formats. **Since**: 11 | Value| Description| | -------- | -------- | | CAMERA_FORMAT_RGBA_8888 | RGBA 8888.| | CAMERA_FORMAT_YUV_420_SP | YUV 420 SP.| | CAMERA_FORMAT_JPEG | JPEG.| | CAMERA_FORMAT_YCBCR_P010 | YCBCR P010.
**Since**: 12| | CAMERA_FORMAT_YCRCB_P010 | YCRCB P010.
**Since**: 12| ### Camera_ImageRotation ``` enum Camera_ImageRotation ``` **Description** Enumerates the image rotation angles. **Since**: 11 | Value| Description| | -------- | -------- | | IAMGE_ROTATION_0 | The image rotates 0 degrees.| | IAMGE_ROTATION_90 | The image rotates 90 degrees.| | IAMGE_ROTATION_180 | The image rotates 180 degrees.| | IAMGE_ROTATION_270 | The image rotates 270 degrees.| ### Camera_MetadataObjectType ``` enum Camera_MetadataObjectType ``` **Description** Enumerates the metadata object types. **Since**: 11 | Value| Description| | -------- | -------- | | FACE_DETECTION | Face detection.| ### Camera_Position ``` enum Camera_Position ``` **Description** Enumerates the camera positions. **Since**: 11 | Value| Description| | -------- | -------- | | CAMERA_POSITION_UNSPECIFIED | Unspecified position.| | CAMERA_POSITION_BACK | Rear camera.| | CAMERA_POSITION_FRONT | Front camera.| ### Camera_PreconfigRatio ``` enum Camera_PreconfigRatio ``` **Description** Enumerates the preconfigured aspect ratios. **Since**: 12 | Value| Description| | -------- | -------- | | PRECONFIG_RATIO_1_1 | 1:1 aspect ratio.| | PRECONFIG_RATIO_4_3 | 4:3 aspect ratio.| | PRECONFIG_RATIO_16_9 | 16:9 aspect ratio.| ### Camera_PreconfigType ``` enum Camera_PreconfigType ``` **Description** Enumerates the preconfigured resolution types. **Since**: 12 | Value| Description| | -------- | -------- | | PRECONFIG_720P | 720p resolution.| | PRECONFIG_1080P | 1080p resolution.| | PRECONFIG_4K | 4K resolution.| | PRECONFIG_HIGH_QUALITY | High-quality photos.| ### Camera_QualityLevel ``` enum Camera_QualityLevel ``` **Description** Enumerates the image quality levels. **Since**: 11 | Value| Description| | -------- | -------- | | QUALITY_LEVEL_HIGH | High image quality.| | QUALITY_LEVEL_MEDIUM | Medium image quality.| | QUALITY_LEVEL_LOW | Low image quality.| ### Camera_SceneMode ``` enum Camera_SceneMode ``` **Description** Enumerates the camera scene modes. **Since**: 12 | Value| Description| | -------- | -------- | | NORMAL_PHOTO | Normal photo mode.| | NORMAL_VIDEO | Normal video mode.| | SECURE_PHOTO | Secure mode.| ### Camera_SmoothZoomMode ``` enum Camera_SmoothZoomMode ``` **Description** Enumerates the smooth zoom modes. **Since**: 12 | Value| Description| | -------- | -------- | | NORMAL | Bessel curve mode.| ### Camera_Status ``` enum Camera_Status ``` **Description** Enumerates the camera statuses. **Since**: 11 | Value| Description| | -------- | -------- | | CAMERA_STATUS_APPEAR | A camera appears.| | CAMERA_STATUS_DISAPPEAR | The camera disappears.| | CAMERA_STATUS_AVAILABLE | The camera is available.| | CAMERA_STATUS_UNAVAILABLE | The camera is unavailable.| ### Camera_TorchMode ``` enum Camera_TorchMode ``` **Description** Enumerates the flashlight modes. **Since**: 12 | Value| Description| | -------- | -------- | | OFF | The flashlight is always off.| | ON | The flashlight is always on.| | AUTO | The flashlight will be turned on automatically based on the ambient lighting level.| ### Camera_Type ``` enum Camera_Type ``` **Description** Enumerates the camera types. **Since**: 11 | Value| Description| | -------- | -------- | | CAMERA_TYPE_DEFAULT | Default camera type.| | CAMERA_TYPE_WIDE_ANGLE | Wide camera.| | CAMERA_TYPE_ULTRA_WIDE | Ultra wide camera.| | CAMERA_TYPE_TELEPHOTO | Telephone camera.| | CAMERA_TYPE_TRUE_DEPTH | Camera with depth of field information.| ### Camera_VideoStabilizationMode ``` enum Camera_VideoStabilizationMode ``` **Description** Enumerates the video stabilization modes. **Since**: 11 | Value| Description| | -------- | -------- | | STABILIZATION_MODE_OFF | Video stabilization is disabled.| | STABILIZATION_MODE_LOW | The basic video stabilization algorithm is used.| | STABILIZATION_MODE_MIDDLE | A video stabilization algorithm with a stabilization effect better than that of the **LOW** type is used.| | STABILIZATION_MODE_HIGH | A video stabilization algorithm with a stabilization effect better than that of the **MIDDLE** type is used.| | STABILIZATION_MODE_AUTO | Automatic video stabilization is used. This value is available for HDF cameras.| ## Function Description ### OH_Camera_DeleteCameraManager() ``` Camera_ErrorCode OH_Camera_DeleteCameraManager(Camera_Manager* cameraManager) ``` **Description** Deletes a **CameraManager** instance. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to the target [Camera_Manager](#camera_manager) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_Camera_GetCameraManager() ``` Camera_ErrorCode OH_Camera_GetCameraManager(Camera_Manager** cameraManager) ``` **Description** Obtains a **CameraManager** instance. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Double pointer to the [Camera_Manager](#camera_manager) instance if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraDevice_GetCameraOrientation() ``` Camera_ErrorCode OH_CameraDevice_GetCameraOrientation(Camera_Device* camera, uint32_t* orientation) ``` **Description** Obtains the sensor direction of a camera device. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | camera | Pointer to the target [Camera_Device](_camera___device.md) instance.| | orientation | Pointer to the sensor direction obtained.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraInput_Close() ``` Camera_ErrorCode OH_CameraInput_Close(Camera_Input* cameraInput) ``` **Description** Closes a camera. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraInput | Pointer to the target [Camera_Input](#camera_input) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraInput_Open() ``` Camera_ErrorCode OH_CameraInput_Open(Camera_Input* cameraInput) ``` **Description** Opens a camera. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraInput | Pointer to the target [Camera_Input](#camera_input) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_CONFLICT_CAMERA**: The camera cannot be used due to a conflict. - **CAMERA_DEVICE_DISABLED**: The camera is disabled due to security reasons. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraInput_OpenSecureCamera() ``` Camera_ErrorCode OH_CameraInput_OpenSecureCamera(Camera_Input* cameraInput, uint64_t* secureSeqId) ``` **Description** Opens a camera in secure mode. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | cameraInput | Pointer to the target [Camera_Input](#camera_input) instance.| | secureSeqId | Pointer to the sequence ID of the camera.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_CONFLICT_CAMERA**: The camera cannot be used due to a conflict. - **CAMERA_DEVICE_DISABLED**: The camera is disabled due to security reasons. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraInput_RegisterCallback() ``` Camera_ErrorCode OH_CameraInput_RegisterCallback(Camera_Input* cameraInput, CameraInput_Callbacks* callback) ``` **Description** Registers a callback to listen for camera input events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraInput | Pointer to a [Camera_Input](#camera_input) instance.| | callback | Pointer to the target callback, which is defined in the [CameraInput_Callbacks](_camera_input___callbacks.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CameraInput_Release() ``` Camera_ErrorCode OH_CameraInput_Release(Camera_Input* cameraInput) ``` **Description** Releases a **CameraInput** instance. Either this function or [OH_CameraInput_Close](#oh_camerainput_close) needs to be called. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraInput | Pointer to the target [Camera_Input](#camera_input) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraInput_UnregisterCallback() ``` Camera_ErrorCode OH_CameraInput_UnregisterCallback(Camera_Input* cameraInput, CameraInput_Callbacks* callback) ``` **Description** Unregisters the callback used to listen for camera input events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraInput | Pointer to a [Camera_Input](#camera_input) instance.| | callback | Pointer to the target callback, which is defined in the [CameraInput_Callbacks](_camera_input___callbacks.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CameraManager_CreateCameraInput() ``` Camera_ErrorCode OH_CameraManager_CreateCameraInput(Camera_Manager* cameraManager, const Camera_Device* camera, Camera_Input** cameraInput) ``` **Description** Creates a **CameraInput** instance. **Since**: 11 **Required permissions**: ohos.permission.CAMERA **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | camera | Pointer to the target camera, which is defined in [Camera_Device](_camera___device.md).| | cameraInput | Double pointer to the [Camera_Input](#camera_input) instance if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraManager_CreateCameraInput_WithPositionAndType() ``` Camera_ErrorCode OH_CameraManager_CreateCameraInput_WithPositionAndType(Camera_Manager* cameraManager, Camera_Position position, Camera_Type type, Camera_Input** cameraInput) ``` **Description** Creates a **CameraInput** instance with the specified location and type. **Since**: 11 **Required permissions**: ohos.permission.CAMERA **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | position | Camera position, which is defined in [Camera_Position](#camera_position).| | type | Camera type, which is defined in [Camera_Type](#camera_type).| | cameraInput | Double pointer to the [Camera_Input](#camera_input) instance if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraManager_CreateCaptureSession() ``` Camera_ErrorCode OH_CameraManager_CreateCaptureSession(Camera_Manager* cameraManager, Camera_CaptureSession** captureSession) ``` **Description** Creates a **CaptureSession** instance. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | captureSession | Double pointer to the [Camera_CaptureSession](#camera_capturesession) instance if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraManager_CreateMetadataOutput() ``` Camera_ErrorCode OH_CameraManager_CreateMetadataOutput(Camera_Manager* cameraManager, const Camera_MetadataObjectType* profile, Camera_MetadataOutput** metadataOutput) ``` **Description** Creates a **MetadataOutput** instance. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | profile | Pointer to the profile, which is defined in [Camera_MetadataObjectType](#camera_metadataobjecttype).| | metadataOutput | Double pointer to the [Camera_MetadataOutput](#camera_metadataoutput) instance if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraManager_CreatePhotoOutput() ``` Camera_ErrorCode OH_CameraManager_CreatePhotoOutput(Camera_Manager* cameraManager, const Camera_Profile* profile, const char* surfaceId, Camera_PhotoOutput** photoOutput) ``` **Description** Creates a **PhotoOutput** instance. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | profile | Pointer to the profile, which is defined in [Camera_Profile](_camera___profile.md).| | surfaceId | Pointer to the surface ID.| | photoOutput | Double pointer to the [Camera_PhotoOutput](#camera_photooutput) instance if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraManager_CreatePhotoOutputUsedInPreconfig() ``` Camera_ErrorCode OH_CameraManager_CreatePhotoOutputUsedInPreconfig(Camera_Manager* cameraManager, const char* surfaceId, Camera_PhotoOutput** photoOutput) ``` **Description** Creates a **PhotoOutput** instance to be used in a preconfiguration stream. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | surfaceId | Pointer to the surface ID.| | photoOutput | Double pointer to the [Camera_PhotoOutput](#camera_photooutput) instance if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraManager_CreatePhotoOutputWithoutSurface() ``` Camera_ErrorCode OH_CameraManager_CreatePhotoOutputWithoutSurface(Camera_Manager *cameraManager, const Camera_Profile *profile, Camera_PhotoOutput **photoOutput) ``` **Description** Creates a **PhotoOutput** instance. **surfaceId** is not required in this function. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | profile | Pointer to the profile, which is defined in [Camera_Profile](_camera___profile.md).| | photoOutput | Double pointer to the [Camera_PhotoOutput](#camera_photooutput) instance if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraManager_CreatePreviewOutput() ``` Camera_ErrorCode OH_CameraManager_CreatePreviewOutput(Camera_Manager* cameraManager, const Camera_Profile* profile, const char* surfaceId, Camera_PreviewOutput** previewOutput) ``` **Description** Creates a **PreviewOutput** instance. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | profile | Pointer to the profile, which is defined in [Camera_Profile](_camera___profile.md).| | surfaceId | Pointer to the surface ID.| | previewOutput | Double pointer to the [Camera_PreviewOutput](#camera_previewoutput) instance if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraManager_CreatePreviewOutputUsedInPreconfig() ``` Camera_ErrorCode OH_CameraManager_CreatePreviewOutputUsedInPreconfig(Camera_Manager* cameraManager, const char* surfaceId, Camera_PreviewOutput** previewOutput) ``` **Description** Creates a **PreviewOutput** instance to be used in a preconfiguration stream. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | surfaceId | Pointer to the surface ID.| | previewOutput | Double pointer to the [Camera_PreviewOutput](#camera_previewoutput) instance if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraManager_CreateVideoOutput() ``` Camera_ErrorCode OH_CameraManager_CreateVideoOutput(Camera_Manager* cameraManager, const Camera_VideoProfile* profile, const char* surfaceId, Camera_VideoOutput** videoOutput) ``` **Description** Creates a **VideoOutput** instance. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | profile | Pointer to the profile, which is defined in the [Camera_VideoProfile](_camera___video_profile.md) struct.| | surfaceId | Pointer to the surface ID.| | videoOutput | Double pointer to the [Camera_VideoOutput](#camera_videooutput) instance if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraManager_CreateVideoOutputUsedInPreconfig() ``` Camera_ErrorCode OH_CameraManager_CreateVideoOutputUsedInPreconfig(Camera_Manager* cameraManager, const char* surfaceId, Camera_VideoOutput** videoOutput) ``` **Description** Creates a **VideoOutput** instance to be used in a preconfiguration stream. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | surfaceId | Pointer to the surface ID.| | videoOutput | Double pointer to the [Camera_VideoOutput](#camera_videooutput) instance if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraManager_DeleteSceneModes() ``` Camera_ErrorCode OH_CameraManager_DeleteSceneModes(Camera_Manager* cameraManager, Camera_SceneMode* sceneModes) ``` **Description** Deletes scene modes. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | sceneModes | Target scene modes, which are defined in [Camera_SceneMode](#camera_scenemode).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CameraManager_DeleteSupportedCameraOutputCapability() ``` Camera_ErrorCode OH_CameraManager_DeleteSupportedCameraOutputCapability(Camera_Manager* cameraManager, Camera_OutputCapability* cameraOutputCapability) ``` **Description** Deletes the output capability supported by a camera. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | cameraOutputCapability | Pointer to the output capability, which is defined in the [Camera_OutputCapability](_camera___output_capability.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CameraManager_DeleteSupportedCameras() ``` Camera_ErrorCode OH_CameraManager_DeleteSupportedCameras(Camera_Manager* cameraManager, Camera_Device* cameras, uint32_t size) ``` **Description** Deletes supported cameras. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | cameras | Pointer to a list of cameras, which are defined in [Camera_Device](_camera___device.md).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CameraManager_GetSupportedCameraOutputCapability() ``` Camera_ErrorCode OH_CameraManager_GetSupportedCameraOutputCapability(Camera_Manager* cameraManager, const Camera_Device* camera, Camera_OutputCapability** cameraOutputCapability) ``` **Description** Obtains the output capability supported by a camera. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | camera | Pointer to a camera, which is defined in [Camera_Device](_camera___device.md).| | cameraOutputCapability | Double pointer to the output capability, which is defined in [Camera_OutputCapability](_camera___output_capability.md), if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CameraManager_GetSupportedCameraOutputCapabilityWithSceneMode() ``` Camera_ErrorCode OH_CameraManager_GetSupportedCameraOutputCapabilityWithSceneMode(Camera_Manager* cameraManager, const Camera_Device* camera, Camera_SceneMode sceneMode, Camera_OutputCapability** cameraOutputCapability) ``` **Description** Obtains the output capability supported by a camera in the specified mode. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | camera | Pointer to a camera, which is defined in [Camera_Device](_camera___device.md).| | sceneMode | Scene mode, which is defined in [Camera_SceneMode](#camera_scenemode).| | cameraOutputCapability | Double pointer to output capability, which is defined in [Camera_OutputCapability](_camera___output_capability.md), if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraManager_GetSupportedCameras() ``` Camera_ErrorCode OH_CameraManager_GetSupportedCameras(Camera_Manager* cameraManager, Camera_Device** cameras, uint32_t* size) ``` **Description** Obtains supported cameras. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | cameras | Double pointer to the list of cameras, which is defined in [Camera_Device](_camera___device.md), if the function is successfully called.| | size | Pointer to the size of the list of cameras.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CameraManager_GetSupportedSceneModes() ``` Camera_ErrorCode OH_CameraManager_GetSupportedSceneModes(Camera_Device* camera, Camera_SceneMode** sceneModes, uint32_t* size) ``` **Description** Obtains the scene modes supported by a camera. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | camera | Pointer to a camera, which is defined in [Camera_Device](_camera___device.md).| | sceneModes | Double pointer to the list of scene modes, which are defined in [Camera_SceneMode](#camera_scenemode), if the function is successfully called.| | size | Pointer to the size of the list of scene modes.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraManager_IsCameraMuted() ``` Camera_ErrorCode OH_CameraManager_IsCameraMuted(Camera_Manager* cameraManager, bool* isCameraMuted) ``` **Description** Checks whether a camera is muted. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | isCameraMuted | Pointer to the result that specifies whether the camera is muted if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CameraManager_IsTorchSupported() ``` Camera_ErrorCode OH_CameraManager_IsTorchSupported(Camera_Manager* cameraManager, bool* isTorchSupported) ``` **Description** Checks whether the device supports the flashlight. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | isTorchSupported | Pointer to the result indicating whether the device supports the flashlight.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CameraManager_IsTorchSupportedByTorchMode() ``` Camera_ErrorCode OH_CameraManager_IsTorchSupportedByTorchMode(Camera_Manager* cameraManager, Camera_TorchMode torchMode, bool* isTorchSupported) ``` **Description** Checks whether the device supports the specified flashlight mode. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | torchMode | Target flashlight mode, which is defined in [Camera_TorchMode](#camera_torchmode-1).| | isTorchSupported | Pointer to the result indicating whether the device supports the flashlight mode.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraManager_RegisterCallback() ``` Camera_ErrorCode OH_CameraManager_RegisterCallback(Camera_Manager* cameraManager, CameraManager_Callbacks* callback) ``` **Description** Registers a callback to listen for camera status changes. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | callback | Pointer to the target callback, which is defined in the [CameraManager_Callbacks](_camera_manager___callbacks.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CameraManager_RegisterTorchStatusCallback() ``` Camera_ErrorCode OH_CameraManager_RegisterTorchStatusCallback(Camera_Manager* cameraManager, OH_CameraManager_TorchStatusCallback torchStatusCallback) ``` **Description** Registers a callback to listen for flashlight status changes. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | torchStatusCallback | Target callback, which is defined in [OH_CameraManager_TorchStatusCallback](#oh_cameramanager_torchstatuscallback).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CameraManager_SetTorchMode() ``` Camera_ErrorCode OH_CameraManager_SetTorchMode(Camera_Manager* cameraManager, Camera_TorchMode torchMode) ``` **Description** Sets a flashlight mode. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | torchMode | Target flashlight mode, which is defined in [Camera_TorchMode](#camera_torchmode).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CameraManager_UnregisterCallback() ``` Camera_ErrorCode OH_CameraManager_UnregisterCallback(Camera_Manager* cameraManager, CameraManager_Callbacks* callback) ``` **Description** Unregisters the callback used to listen for camera status changes. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | callback | Pointer to the target callback, which is defined in the [CameraManager_Callbacks](_camera_manager___callbacks.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CameraManager_UnregisterTorchStatusCallback() ``` Camera_ErrorCode OH_CameraManager_UnregisterTorchStatusCallback(Camera_Manager* cameraManager, OH_CameraManager_TorchStatusCallback torchStatusCallback) ``` **Description** Unregisters the callback used to listen for flashlight status changes. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | cameraManager | Pointer to a [Camera_Manager](#camera_manager) instance.| | torchStatusCallback | Target callback, which is defined in [OH_CameraManager_TorchStatusCallback](#oh_cameramanager_torchstatuscallback).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CaptureSession_AddInput() ``` Camera_ErrorCode OH_CaptureSession_AddInput(Camera_CaptureSession* session, Camera_Input* cameraInput) ``` **Description** Adds a **CameraInput** instance to a session. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | cameraInput | Pointer to the target [Camera_Input](#camera_input) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. ### OH_CaptureSession_AddMetadataOutput() ``` Camera_ErrorCode OH_CaptureSession_AddMetadataOutput(Camera_CaptureSession* session, Camera_MetadataOutput* metadataOutput) ``` **Description** Adds a **MetadataOutput** instance to a session. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | metadataOutput | Pointer to the target [Camera_MetadataOutput](#camera_metadataoutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. ### OH_CaptureSession_AddPhotoOutput() ``` Camera_ErrorCode OH_CaptureSession_AddPhotoOutput(Camera_CaptureSession* session, Camera_PhotoOutput* photoOutput) ``` **Description** Adds a **PhotoOutput** instance to a session. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. ### OH_CaptureSession_AddPreviewOutput() ``` Camera_ErrorCode OH_CaptureSession_AddPreviewOutput(Camera_CaptureSession* session, Camera_PreviewOutput* previewOutput) ``` **Description** Adds a **PreviewOutput** instance to a session. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. ### OH_CaptureSession_AddSecureOutput() ``` Camera_ErrorCode OH_CaptureSession_AddSecureOutput(Camera_CaptureSession* session, Camera_PreviewOutput* previewOutput) ``` **Description** Marks a preview output stream as secure output. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. - **CAMERA_SESSION_CONFIG_LOCKED**: The session configuration is locked. ### OH_CaptureSession_AddVideoOutput() ``` Camera_ErrorCode OH_CaptureSession_AddVideoOutput(Camera_CaptureSession* session, Camera_VideoOutput* videoOutput) ``` **Description** Adds a **VideoOutput** instance to a session. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | videoOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. ### OH_CaptureSession_BeginConfig() ``` Camera_ErrorCode OH_CaptureSession_BeginConfig(Camera_CaptureSession* session) ``` **Description** Starts the configuration for a capture session. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. ### OH_CaptureSession_CanAddInput() ``` Camera_ErrorCode OH_CaptureSession_CanAddInput(Camera_CaptureSession* session, Camera_Input* cameraInput, bool* isSuccessful) ``` **Description** Checks whether a **CameraInput** instance can be added to a session. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | cameraInput | Pointer to the target [Camera_Input](#camera_input) instance.| | isSuccessful | Pointer to the result indicating whether the **CameraInput** instance can be added to the session.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CaptureSession_CanAddPhotoOutput() ``` Camera_ErrorCode OH_CaptureSession_CanAddPhotoOutput(Camera_CaptureSession* session, Camera_PhotoOutput* cameraOutput, bool* isSuccessful) ``` **Description** Checks whether a **PhotoOutput** instance can be added to a session. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | cameraOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| | isSuccessful | Pointer to the result indicating whether the **PhotoOutput** instance can be added to the session.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CaptureSession_CanAddPreviewOutput() ``` Camera_ErrorCode OH_CaptureSession_CanAddPreviewOutput(Camera_CaptureSession* session, Camera_PreviewOutput* cameraOutput, bool* isSuccessful) ``` **Description** Checks whether a **PreviewOutput** instance can be added to a session. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | cameraOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| | isSuccessful | Pointer to the result indicating whether the **PreviewOutput** instance can be added to the session.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CaptureSession_CanAddVideoOutput() ``` Camera_ErrorCode OH_CaptureSession_CanAddVideoOutput(Camera_CaptureSession* session, Camera_VideoOutput* cameraOutput, bool* isSuccessful) ``` **Description** Checks whether a **VideoOutput** instance can be added to a session. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | cameraOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| | isSuccessful | Pointer to the result indicating whether the **VideoOutput** instance can be added to the session.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CaptureSession_CanPreconfig() ``` Camera_ErrorCode OH_CaptureSession_CanPreconfig(Camera_CaptureSession* session, Camera_PreconfigType preconfigType, bool* canPreconfig) ``` **Description** Checks whether a preconfigured resolution type is supported. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | preconfigType | Target resolution type, which is defined in [Camera_PreconfigType](#camera_preconfigtype).| | canPreconfig | Pointer to the result indicating whether the preconfigured resolution type is supported.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CaptureSession_CanPreconfigWithRatio() ``` Camera_ErrorCode OH_CaptureSession_CanPreconfigWithRatio(Camera_CaptureSession* session, Camera_PreconfigType preconfigType, Camera_PreconfigRatio preconfigRatio, bool* canPreconfig) ``` **Description** Checks whether a preconfigured resolution type with an aspect ratio is supported. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | preconfigType | Target resolution type, which is defined in [Camera_PreconfigType](#camera_preconfigtype).| | preconfigRatio | Target aspect ratio, which is defined in [Camera_PreconfigRatio](#camera_preconfigratio).| | canPreconfig | Pointer to the result indicating whether the preconfigured resolution type with the aspect ratio is supported.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CaptureSession_CommitConfig() ``` Camera_ErrorCode OH_CaptureSession_CommitConfig(Camera_CaptureSession* session) ``` **Description** Commits the configuration for a capture session. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CaptureSession_DeleteColorSpaces() ``` Camera_ErrorCode OH_CaptureSession_DeleteColorSpaces(Camera_CaptureSession* session, OH_NativeBuffer_ColorSpace* colorSpace) ``` **Description** Deletes color spaces. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | colorSpace | Pointer to the list of color spaces, which are defined in [OH_NativeBuffer_ColorSpace](../apis-arkgraphics2d/_o_h___native_buffer.md#oh_nativebuffer_colorspace-1).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CaptureSession_GetActiveColorSpace() ``` Camera_ErrorCode OH_CaptureSession_GetActiveColorSpace(Camera_CaptureSession* session, OH_NativeBuffer_ColorSpace* colorSpace) ``` **Description** Obtains the active color space. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | colorSpace | Pointer to the active color space, which is defined in [OH_NativeBuffer_ColorSpace](../apis-arkgraphics2d/_o_h___native_buffer.md#oh_nativebuffer_colorspace-1).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_GetExposureBias() ``` Camera_ErrorCode OH_CaptureSession_GetExposureBias(Camera_CaptureSession* session, float* exposureBias) ``` **Description** Obtains the exposure compensation value in use. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | exposureBias | Pointer to the exposure compensation value.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_GetExposureBiasRange() ``` Camera_ErrorCode OH_CaptureSession_GetExposureBiasRange(Camera_CaptureSession* session, float* minExposureBias, float* maxExposureBias, float* step) ``` **Description** Obtains the exposure compensation values of the device. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | minExposureBias | Pointer to the minimum exposure compensation value.| | maxExposureBias | Pointer to the maximum exposure compensation value.| | step | Pointer to the exposure compensation step.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_GetExposureMode() ``` Camera_ErrorCode OH_CaptureSession_GetExposureMode(Camera_CaptureSession* session, Camera_ExposureMode* exposureMode) ``` **Description** Obtains the exposure mode in use. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | exposureMode | Pointer to the exposure mode, which is defined in the [Camera_ExposureMode](#camera_exposuremode) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_GetExposureValue() ``` Camera_ErrorCode OH_CaptureSession_GetExposureValue(Camera_CaptureSession* session, float* exposureValue) ``` **Description** Obtains the exposure value. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | exposureValue | Pointer to the exposure value.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CaptureSession_GetFlashMode() ``` Camera_ErrorCode OH_CaptureSession_GetFlashMode(Camera_CaptureSession* session, Camera_FlashMode* flashMode) ``` **Description** Obtains the flash mode in use. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | flashMode | Pointer to the flash mode, which is defined in the [Camera_FlashMode](#camera_flashmode) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_GetFocalLength() ``` Camera_ErrorCode OH_CaptureSession_GetFocalLength(Camera_CaptureSession* session, float* focalLength) ``` **Description** Obtains the current focal length. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | focalLength | Pointer to the focal length.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_GetFocusMode() ``` Camera_ErrorCode OH_CaptureSession_GetFocusMode(Camera_CaptureSession* session, Camera_FocusMode* focusMode) ``` **Description** Obtains the focus mode in use. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | exposureBias | Pointer to the focus mode, which is defined in the [Camera_FocusMode](#camera_focusmode) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_GetFocusPoint() ``` Camera_ErrorCode OH_CaptureSession_GetFocusPoint(Camera_CaptureSession* session, Camera_Point* focusPoint) ``` **Description** Obtains the focal point in use. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | focusPoint | Pointer to the focal point, which is defined in the [Camera_Point](_camera___point.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_GetMeteringPoint() ``` Camera_ErrorCode OH_CaptureSession_GetMeteringPoint(Camera_CaptureSession* session, Camera_Point* point) ``` **Description** Obtains the metering point in use. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | point | Pointer to the metering point, which is defined in the [Camera_Point](_camera___point.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_GetSupportedColorSpaces() ``` Camera_ErrorCode OH_CaptureSession_GetSupportedColorSpaces(Camera_CaptureSession* session, OH_NativeBuffer_ColorSpace** colorSpace, uint32_t* size) ``` **Description** Obtains the supported color spaces. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | colorSpace | Double pointer to the list of color spaces, which are defined in [OH_NativeBuffer_ColorSpace](../apis-arkgraphics2d/_o_h___native_buffer.md#oh_nativebuffer_colorspace-1), if the function is successfully called.| | size | Pointer to the size of the list of color spaces.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_GetVideoStabilizationMode() ``` Camera_ErrorCode OH_CaptureSession_GetVideoStabilizationMode(Camera_CaptureSession* session, Camera_VideoStabilizationMode* mode) ``` **Description** Obtains the video stabilization mode in use. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | mode | Pointer to the video stabilization mode, which is defined in the [Camera_VideoStabilizationMode](#camera_videostabilizationmode) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_GetZoomRatio() ``` Camera_ErrorCode OH_CaptureSession_GetZoomRatio(Camera_CaptureSession* session, float* zoom) ``` **Description** Obtains the zoom ratio in use. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | zoom | Pointer to the zoom ratio.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_GetZoomRatioRange() ``` Camera_ErrorCode OH_CaptureSession_GetZoomRatioRange(Camera_CaptureSession* session, float* minZoom, float* maxZoom) ``` **Description** Obtains the supported zoom ratio range. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | minZoom | Pointer to the minimum zoom ratio.| | maxZoom | Pointer to the maximum zoom ratio.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_HasFlash() ``` Camera_ErrorCode OH_CaptureSession_HasFlash(Camera_CaptureSession* session, bool* hasFlash) ``` **Description** Checks whether the device has flash. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | hasFlash | Pointer to the result that specifies whether the device has flash.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_IsExposureModeSupported() ``` Camera_ErrorCode OH_CaptureSession_IsExposureModeSupported(Camera_CaptureSession* session, Camera_ExposureMode exposureMode, bool* isSupported) ``` **Description** Checks whether an exposure mode is supported. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | exposureMode | Target exposure mode, which is defined in the [Camera_ExposureMode](#camera_exposuremode) struct.| | isSupported | Pointer to the result that specifies whether the exposure mode is supported.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_IsFlashModeSupported() ``` Camera_ErrorCode OH_CaptureSession_IsFlashModeSupported(Camera_CaptureSession* session, Camera_FlashMode flashMode, bool* isSupported) ``` **Description** Checks whether a flash mode is supported. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | flashMode | Target flash mode, which is defined in the [Camera_FlashMode](#camera_flashmode) struct.| | isSupported | Pointer to the result that specifies whether the flash mode is supported.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_IsFocusModeSupported() ``` Camera_ErrorCode OH_CaptureSession_IsFocusModeSupported(Camera_CaptureSession* session, Camera_FocusMode focusMode, bool* isSupported) ``` **Description** Checks whether a focus mode is supported. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | focusMode | Target focus mode, which is defined in the [Camera_FocusMode](#camera_focusmode-1) struct.| | isSupported | Pointer to the result that specifies whether the focus mode is supported.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_IsVideoStabilizationModeSupported() ``` Camera_ErrorCode OH_CaptureSession_IsVideoStabilizationModeSupported(Camera_CaptureSession* session, Camera_VideoStabilizationMode mode, bool* isSupported) ``` **Description** Checks whether a video stabilization mode is supported. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | mode | Target video stabilization mode, which is defined in the [Camera_VideoStabilizationMode](#camera_videostabilizationmode-1) struct.| | isSupported | Pointer to the result that specifies whether the video stabilization mode is supported.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_Preconfig() ``` Camera_ErrorCode OH_CaptureSession_Preconfig(Camera_CaptureSession* session, Camera_PreconfigType preconfigType) ``` **Description** Sets a preconfigured resolution type. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | preconfigType | Target resolution type, which is defined in [Camera_PreconfigType](#camera_preconfigtype-1).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CaptureSession_PreconfigWithRatio() ``` Camera_ErrorCode OH_CaptureSession_PreconfigWithRatio(Camera_CaptureSession* session, Camera_PreconfigType preconfigType, Camera_PreconfigRatio preconfigRatio) ``` **Description** Sets a preconfigured resolution type with an aspect ratio. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | preconfigType | Target resolution type, which is defined in [Camera_PreconfigType](#camera_preconfigtype-1).| | preconfigRatio | Target aspect ratio, which is defined in [Camera_PreconfigRatio](#camera_preconfigratio-1).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CaptureSession_RegisterCallback() ``` Camera_ErrorCode OH_CaptureSession_RegisterCallback(Camera_CaptureSession* session, CaptureSession_Callbacks* callback) ``` **Description** Registers a callback to listen for capture session events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | callback | Pointer to the target callback, which is defined in the [CaptureSession_Callbacks](_capture_session___callbacks.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CaptureSession_RegisterSmoothZoomInfoCallback() ``` Camera_ErrorCode OH_CaptureSession_RegisterSmoothZoomInfoCallback(Camera_CaptureSession* session, OH_CaptureSession_OnSmoothZoomInfo smoothZoomInfoCallback) ``` **Description** Registers a callback to listen for smooth zoom events. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | smoothZoomInfoCallback | Target callback, which is defined in [OH_CaptureSession_OnSmoothZoomInfo](#oh_capturesession_onsmoothzoominfo).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CaptureSession_Release() ``` Camera_ErrorCode OH_CaptureSession_Release(Camera_CaptureSession* session) ``` **Description** Releases a **CaptureSession** instance. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CaptureSession_RemoveInput() ``` Camera_ErrorCode OH_CaptureSession_RemoveInput(Camera_CaptureSession* session, Camera_Input* cameraInput) ``` **Description** Removes a **CameraInput** instance from a session. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | cameraInput | Pointer to the target [Camera_Input](#camera_input) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. ### OH_CaptureSession_RemoveMetadataOutput() ``` Camera_ErrorCode OH_CaptureSession_RemoveMetadataOutput(Camera_CaptureSession* session, Camera_MetadataOutput* metadataOutput) ``` **Description** Removes a **MetadataOutput** instance from a session. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | metadataOutput | Pointer to the target [Camera_MetadataOutput](#camera_metadataoutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. ### OH_CaptureSession_RemovePhotoOutput() ``` Camera_ErrorCode OH_CaptureSession_RemovePhotoOutput(Camera_CaptureSession* session, Camera_PhotoOutput* photoOutput) ``` **Description** Removes a **PhotoOutput** instance from a session. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. ### OH_CaptureSession_RemovePreviewOutput() ``` Camera_ErrorCode OH_CaptureSession_RemovePreviewOutput(Camera_CaptureSession* session, Camera_PreviewOutput* previewOutput) ``` **Description** Removes a **PreviewOutput** instance from a session. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. ### OH_CaptureSession_RemoveVideoOutput() ``` Camera_ErrorCode OH_CaptureSession_RemoveVideoOutput(Camera_CaptureSession* session, Camera_VideoOutput* videoOutput) ``` **Description** Removes a **VideoOutput** instance from a session. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | videoOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. ### OH_CaptureSession_SetActiveColorSpace() ``` Camera_ErrorCode OH_CaptureSession_SetActiveColorSpace(Camera_CaptureSession* session, OH_NativeBuffer_ColorSpace colorSpace) ``` **Description** Sets the active color space. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | colorSpace | Target color space, which is defined in [OH_NativeBuffer_ColorSpace](../apis-arkgraphics2d/_o_h___native_buffer.md#oh_nativebuffer_colorspace-1).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_SetExposureBias() ``` Camera_ErrorCode OH_CaptureSession_SetExposureBias(Camera_CaptureSession* session, float exposureBias) ``` **Description** Sets an exposure compensation value for the device. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | exposureBias | Target exposure compensation value.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_SetExposureMode() ``` Camera_ErrorCode OH_CaptureSession_SetExposureMode(Camera_CaptureSession* session, Camera_ExposureMode exposureMode) ``` **Description** Sets an exposure mode for the device. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | exposureMode | Target exposure mode, which is defined in [Camera_ExposureMode](#camera_exposuremode-1).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_SetFlashMode() ``` Camera_ErrorCode OH_CaptureSession_SetFlashMode(Camera_CaptureSession* session, Camera_FlashMode flashMode) ``` **Description** Sets a flash mode for the device. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | flashMode | Target flash mode, which is defined in [Camera_FlashMode](#camera_flashmode-1).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_SetFocusMode() ``` Camera_ErrorCode OH_CaptureSession_SetFocusMode(Camera_CaptureSession* session, Camera_FocusMode focusMode) ``` **Description** Sets a focus mode for the device. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | focusMode | Target focus mode, which is defined in [Camera_FocusMode](#camera_focusmode-1).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_SetFocusPoint() ``` Camera_ErrorCode OH_CaptureSession_SetFocusPoint(Camera_CaptureSession* session, Camera_Point focusPoint) ``` **Description** Sets a focal point for the device. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | focusPoint | Target focal point, which is defined in the [Camera_Point](_camera___point.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_SetMeteringPoint() ``` Camera_ErrorCode OH_CaptureSession_SetMeteringPoint(Camera_CaptureSession* session, Camera_Point point) ``` **Description** Sets the metering point, which is the center point of the metering rectangle. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | point | Target metering point, which is defined in the [Camera_Point](_camera___point.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_SetSessionMode() ``` Camera_ErrorCode OH_CaptureSession_SetSessionMode(Camera_CaptureSession* session, Camera_SceneMode sceneMode) ``` **Description** Sets a session mode. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | sceneMode | Target scene mode, which is an enumerated value of [CaptureSession_SceneMode](#camera_scenemode-1).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. - **CAMERA_OPERATION_NOT_ALLOWED**: The operation is not allowed. - **CAMERA_SESSION_CONFIG_LOCKED**: The session configuration is locked. ### OH_CaptureSession_SetSmoothZoom() ``` Camera_ErrorCode OH_CaptureSession_SetSmoothZoom(Camera_CaptureSession* session, float targetZoom, Camera_SmoothZoomMode smoothZoomMode) ``` **Description** Sets smooth zoom. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | targetZoom | Target zoom ratio.| | smoothZoomMode | [Camera_SmoothZoomMode](#camera_smoothzoommode) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_SetVideoStabilizationMode() ``` Camera_ErrorCode OH_CaptureSession_SetVideoStabilizationMode(Camera_CaptureSession* session, Camera_VideoStabilizationMode mode) ``` **Description** Sets a video stabilization mode for the device. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | mode | Target video stabilization mode, which is defined in the [Camera_VideoStabilizationMode](#camera_videostabilizationmode) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_SetZoomRatio() ``` Camera_ErrorCode OH_CaptureSession_SetZoomRatio(Camera_CaptureSession* session, float zoom) ``` **Description** Sets a zoom ratio for the device. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | zoom | Target zoom ratio.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. ### OH_CaptureSession_Start() ``` Camera_ErrorCode OH_CaptureSession_Start(Camera_CaptureSession* session) ``` **Description** Starts a capture session. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CaptureSession_Stop() ``` Camera_ErrorCode OH_CaptureSession_Stop(Camera_CaptureSession* session) ``` **Description** Stops a capture session. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_CaptureSession_UnregisterCallback() ``` Camera_ErrorCode OH_CaptureSession_UnregisterCallback(Camera_CaptureSession* session, CaptureSession_Callbacks* callback) ``` **Description** Unregisters the callback used to listen for capture session events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | callback | Pointer to the target callback, which is defined in the [CaptureSession_Callbacks](_capture_session___callbacks.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_CaptureSession_UnregisterSmoothZoomInfoCallback() ``` Camera_ErrorCode OH_CaptureSession_UnregisterSmoothZoomInfoCallback(Camera_CaptureSession* session, OH_CaptureSession_OnSmoothZoomInfo smoothZoomInfoCallback) ``` **Description** Unregisters the callback used to listen for smooth zoom events. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | session | Pointer to the target [Camera_CaptureSession](#camera_capturesession) instance.| | smoothZoomInfoCallback | Target callback, which is defined in [OH_CaptureSession_OnSmoothZoomInfo](#oh_capturesession_onsmoothzoominfo).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_MetadataOutput_RegisterCallback() ``` Camera_ErrorCode OH_MetadataOutput_RegisterCallback(Camera_MetadataOutput* metadataOutput, MetadataOutput_Callbacks* callback) ``` **Description** Registers a callback to listen for metadata output events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | metadataOutput | Pointer to the target [Camera_MetadataOutput](#camera_metadataoutput) instance.| | callback | Pointer to the target callback, which is defined in the [MetadataOutput_Callbacks](_metadata_output___callbacks.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_MetadataOutput_Release() ``` Camera_ErrorCode OH_MetadataOutput_Release(Camera_MetadataOutput* metadataOutput) ``` **Description** Releases a **MetadataOutput** instance. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | metadataOutput | Pointer to the target [Camera_MetadataOutput](#camera_metadataoutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_MetadataOutput_Start() ``` Camera_ErrorCode OH_MetadataOutput_Start(Camera_MetadataOutput* metadataOutput) ``` **Description** Starts metadata output. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | metadataOutput | Pointer to the target [Camera_MetadataOutput](#camera_metadataoutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_MetadataOutput_Stop() ``` Camera_ErrorCode OH_MetadataOutput_Stop(Camera_MetadataOutput* metadataOutput) ``` **Description** Stops metadata output. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | metadataOutput | Pointer to the target [Camera_MetadataOutput](#camera_metadataoutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_MetadataOutput_UnregisterCallback() ``` Camera_ErrorCode OH_MetadataOutput_UnregisterCallback(Camera_MetadataOutput* metadataOutput, MetadataOutput_Callbacks* callback) ``` **Description** Unregisters the callback used to listen for metadata output events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | metadataOutput | Pointer to the target [Camera_MetadataOutput](#camera_metadataoutput) instance.| | callback | Pointer to the target callback, which is defined in the [MetadataOutput_Callbacks](_metadata_output___callbacks.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoNative_GetMainImage() ``` Camera_ErrorCode OH_PhotoNative_GetMainImage(OH_PhotoNative* photo, OH_ImageNative** mainImage) ``` **Description** Obtains a full quality photo. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photo | Pointer to an [OH_PhotoNative](#oh_photonative) instance.| | mainImage | Double pointer to the full quality photo, which is an [OH_ImageNative](../apis-image-kit/_image___native_module.md#oh_imagenative) object.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoNative_Release() ``` Camera_ErrorCode OH_PhotoNative_Release(OH_PhotoNative* photo) ``` **Description** Releases a full quality photo. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photo | Pointer to an [OH_PhotoNative](#oh_photonative) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoOutput_Capture() ``` Camera_ErrorCode OH_PhotoOutput_Capture(Camera_PhotoOutput* photoOutput) ``` **Description** Captures a photo. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_RUNNING**: The capture session is not running. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_PhotoOutput_Capture_WithCaptureSetting() ``` Camera_ErrorCode OH_PhotoOutput_Capture_WithCaptureSetting(Camera_PhotoOutput* photoOutput, Camera_PhotoCaptureSetting setting) ``` **Description** Captures a photo with photographing parameters. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| | setting | Photographing parameters, which are defined in the [Camera_PhotoCaptureSetting](_camera___photo_capture_setting.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_RUNNING**: The capture session is not running. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_PhotoOutput_DeleteProfile() ``` Camera_ErrorCode OH_PhotoOutput_DeleteProfile(Camera_Profile* profile) ``` **Description** Deletes the profile of this **PhotoOutput** instance. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | profile | Pointer to a [Camera_Profile](_camera___profile.md) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoOutput_EnableMovingPhoto() ``` Camera_ErrorCode OH_PhotoOutput_EnableMovingPhoto(Camera_PhotoOutput* photoOutput, bool enabled) ``` **Description** Enables moving photos. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to a [Camera_PhotoOutput](#camera_photooutput) instance.| | enabled | Whether to enable moving photos.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_PhotoOutput_GetActiveProfile() ``` Camera_ErrorCode OH_PhotoOutput_GetActiveProfile(Camera_PhotoOutput* photoOutput, Camera_Profile** profile) ``` **Description** Obtains the profile of a **PhotoOutput** instance. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to a [Camera_PhotoOutput](#camera_photooutput) instance.| | profile | Double pointer to the profile, which is defined in [Camera_Profile](_camera___profile.md), if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_PhotoOutput_IsMirrorSupported() ``` Camera_ErrorCode OH_PhotoOutput_IsMirrorSupported(Camera_PhotoOutput* photoOutput, bool* isSupported) ``` **Description** Checks whether mirroring is supported. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the [Camera_PhotoOutput](#camera_photooutput) instance, which is used to check whether mirroring is supported.| | isSupported | Pointer to the result that specifies whether mirroring is supported.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_PhotoOutput_IsMovingPhotoSupported() ``` Camera_ErrorCode OH_PhotoOutput_IsMovingPhotoSupported(Camera_PhotoOutput* photoOutput, bool* isSupported) ``` **Description** Checks whether moving photos are supported. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to a [Camera_PhotoOutput](#camera_photooutput) instance.| | isSupported | Pointer to the result indicating whether moving photos are supported.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_PhotoOutput_RegisterCallback() ``` Camera_ErrorCode OH_PhotoOutput_RegisterCallback(Camera_PhotoOutput* photoOutput, PhotoOutput_Callbacks* callback) ``` **Description** Registers a callback to listen for photo output events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| | callback | Pointer to the target callback, which is defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoOutput_RegisterCaptureEndCallback() ``` Camera_ErrorCode OH_PhotoOutput_RegisterCaptureEndCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureEnd callback) ``` **Description** Registers a callback to listen for capture end events. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| | callback | Target callback, which is defined in [OH_PhotoOutput_CaptureEnd](#oh_photooutput_captureend).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoOutput_RegisterCaptureReadyCallback() ``` Camera_ErrorCode OH_PhotoOutput_RegisterCaptureReadyCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureReady callback) ``` **Description** Registers a callback to listen for camera ready events. When the callback is received, the next capture can be performed. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| | callback | Target callback, which is defined in [OH_PhotoOutput_CaptureReady](#oh_photooutput_captureready).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoOutput_RegisterCaptureStartWithInfoCallback() ``` Camera_ErrorCode OH_PhotoOutput_RegisterCaptureStartWithInfoCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureStartWithInfo callback) ``` **Description** Registers a callback to listen for capture start events. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| | callback | Target callback, which is defined in [OH_PhotoOutput_CaptureStartWithInfo](#oh_photooutput_capturestartwithinfo).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoOutput_RegisterEstimatedCaptureDurationCallback() ``` Camera_ErrorCode OH_PhotoOutput_RegisterEstimatedCaptureDurationCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_EstimatedCaptureDuration callback) ``` **Description** Registers a callback to listen for estimated capture duration events. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| | callback | Target callback, which is defined in [OH_PhotoOutput_EstimatedCaptureDuration](#oh_photooutput_estimatedcaptureduration).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoOutput_RegisterFrameShutterEndCallback() ``` Camera_ErrorCode OH_PhotoOutput_RegisterFrameShutterEndCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_OnFrameShutterEnd callback) ``` **Description** Registers a callback to listen for frame shutter end events. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| | callback | Target callback, which is defined in [OH_PhotoOutput_OnFrameShutterEnd](#oh_photooutput_onframeshutterend).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoOutput_RegisterPhotoAssetAvailableCallback() ``` Camera_ErrorCode OH_PhotoOutput_RegisterPhotoAssetAvailableCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_PhotoAssetAvailable callback) ``` **Description** Registers a callback to listen for photo asset availability events. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| | callback | Target callback, which is defined in [OH_PhotoOutput_PhotoAssetAvailable](#oh_photooutput_photoassetavailable).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoOutput_RegisterPhotoAvailableCallback() ``` Camera_ErrorCode OH_PhotoOutput_RegisterPhotoAvailableCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_PhotoAvailable callback) ``` **Description** Registers a callback to listen for photo availability events. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| | callback | Target callback, which is defined in [OH_PhotoOutput_PhotoAvailable](#oh_photooutput_photoavailable).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoOutput_Release() ``` Camera_ErrorCode OH_PhotoOutput_Release(Camera_PhotoOutput* photoOutput) ``` **Description** Releases a **PhotoOutput** instance. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_PhotoOutput_UnregisterCallback() ``` Camera_ErrorCode OH_PhotoOutput_UnregisterCallback(Camera_PhotoOutput* photoOutput, PhotoOutput_Callbacks* callback) ``` **Description** Unregisters the callback used to listen for photo output events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| | callback | Pointer to the target callback, which is defined in the [PhotoOutput_Callbacks](_photo_output___callbacks.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoOutput_UnregisterCaptureEndCallback() ``` Camera_ErrorCode OH_PhotoOutput_UnregisterCaptureEndCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureEnd callback) ``` **Description** Unregisters the callback used to listen for capture end events. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| | callback | Target callback, which is defined in [OH_PhotoOutput_CaptureEnd](#oh_photooutput_captureend).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoOutput_UnregisterCaptureReadyCallback() ``` Camera_ErrorCode OH_PhotoOutput_UnregisterCaptureReadyCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureReady callback) ``` **Description** Unregisters the callback used to listen for camera ready events. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| | callback | Target callback, which is defined in [OH_PhotoOutput_CaptureReady](#oh_photooutput_captureready).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoOutput_UnregisterCaptureStartWithInfoCallback() ``` Camera_ErrorCode OH_PhotoOutput_UnregisterCaptureStartWithInfoCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureStartWithInfo callback) ``` **Description** Unregisters the callback used to listen for capture start events. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| | callback | Target callback, which is defined in [OH_PhotoOutput_CaptureStartWithInfo](#oh_photooutput_capturestartwithinfo).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoOutput_UnregisterEstimatedCaptureDurationCallback() ``` Camera_ErrorCode OH_PhotoOutput_UnregisterEstimatedCaptureDurationCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_EstimatedCaptureDuration callback) ``` **Description** Unregisters the callback used to listen for estimated capture duration events. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| | callback | Target callback, which is defined in [OH_PhotoOutput_EstimatedCaptureDuration](#oh_photooutput_estimatedcaptureduration).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoOutput_UnregisterFrameShutterEndCallback() ``` Camera_ErrorCode OH_PhotoOutput_UnregisterFrameShutterEndCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_OnFrameShutterEnd callback) ``` **Description** Unregisters the callback used to listen for frame shutter end events. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| | callback | Target callback, which is defined in [OH_PhotoOutput_OnFrameShutterEnd](#oh_photooutput_onframeshutterend).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoOutput_UnregisterPhotoAssetAvailableCallback() ``` Camera_ErrorCode OH_PhotoOutput_UnregisterPhotoAssetAvailableCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_PhotoAssetAvailable callback) ``` **Description** Unregisters the callback used to listen for photo asset availability events. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| | callback | Target callback, which is defined in [OH_PhotoOutput_PhotoAssetAvailable](#oh_photooutput_photoassetavailable).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PhotoOutput_UnregisterPhotoAvailableCallback() ``` Camera_ErrorCode OH_PhotoOutput_UnregisterPhotoAvailableCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_PhotoAvailable callback) ``` **Description** Unregisters the callback used to listen for photo availability events. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | photoOutput | Pointer to the target [Camera_PhotoOutput](#camera_photooutput) instance.| | callback | Target callback, which is defined in [PhotoOutput_Callbacks](_photo_output___callbacks.md).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PreviewOutput_DeleteFrameRates() ``` Camera_ErrorCode OH_PreviewOutput_DeleteFrameRates(Camera_PreviewOutput* previewOutput, Camera_FrameRateRange* frameRateRange) ``` **Description** Deletes the frame rate list. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| | frameRateRange | Pointer to the list of frame rates, which are defined in [Camera_FrameRateRange](_camera___frame_rate_range.md).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PreviewOutput_DeleteProfile() ``` Camera_ErrorCode OH_PreviewOutput_DeleteProfile(Camera_Profile* profile) ``` **Description** Deletes the profile of this **PreviewOutput** instance. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | profile | Pointer to a [Camera_Profile](_camera___profile.md) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PreviewOutput_GetActiveFrameRate() ``` Camera_ErrorCode OH_PreviewOutput_GetActiveFrameRate(Camera_PreviewOutput* previewOutput, Camera_FrameRateRange* frameRateRange) ``` **Description** Obtains the active frame rates of a **PreviewOutput** instance. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | previewOutput | Pointer to a [Camera_PreviewOutput](#camera_previewoutput) instance.| | frameRateRange | Double pointer to the frame rates, which are defined in [Camera_FrameRateRange](_camera___frame_rate_range.md), if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_PreviewOutput_GetActiveProfile() ``` Camera_ErrorCode OH_PreviewOutput_GetActiveProfile(Camera_PreviewOutput* previewOutput, Camera_Profile** profile) ``` **Description** Obtains the profile of a **PreviewOutput** instance. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | previewOutput | Pointer to a [Camera_PreviewOutput](#camera_previewoutput) instance.| | profile | Double pointer to the profile, which is defined in [Camera_Profile](_camera___profile.md), if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_PreviewOutput_GetSupportedFrameRates() ``` Camera_ErrorCode OH_PreviewOutput_GetSupportedFrameRates(Camera_PreviewOutput* previewOutput, Camera_FrameRateRange** frameRateRange, uint32_t* size) ``` **Description** Obtains the list of frame rates supported by a **PreviewOutput** instance. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | previewOutput | Pointer to the [Camera_PreviewOutput](#camera_previewoutput) instance.| | frameRateRange | Double pointer to the list of frame rates, which are defined in [Camera_FrameRateRange](_camera___frame_rate_range.md), if the function is successfully called.| | size | Pointer to the size of the list of frame rates.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_PreviewOutput_RegisterCallback() ``` Camera_ErrorCode OH_PreviewOutput_RegisterCallback(Camera_PreviewOutput* previewOutput, PreviewOutput_Callbacks* callback) ``` **Description** Registers a callback to listen for preview output events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| | callback | Pointer to the target callback, which is defined in the [PreviewOutput_Callbacks](_preview_output___callbacks.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PreviewOutput_Release() ``` Camera_ErrorCode OH_PreviewOutput_Release(Camera_PreviewOutput* previewOutput) ``` **Description** Releases a **PreviewOutput** instance. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_PreviewOutput_SetFrameRate() ``` Camera_ErrorCode OH_PreviewOutput_SetFrameRate(Camera_PreviewOutput* previewOutput, int32_t minFps, int32_t maxFps) ``` **Description** Sets the frame rates for a **PreviewOutput** instance. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| | minFps | Minimum frame rate.| | maxFps | Maximum frame rate.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_PreviewOutput_Start() ``` Camera_ErrorCode OH_PreviewOutput_Start(Camera_PreviewOutput* previewOutput) ``` **Description** Starts preview output. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_PreviewOutput_Stop() ``` Camera_ErrorCode OH_PreviewOutput_Stop(Camera_PreviewOutput* previewOutput) ``` **Description** Stops preview output. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_PreviewOutput_UnregisterCallback() ``` Camera_ErrorCode OH_PreviewOutput_UnregisterCallback(Camera_PreviewOutput* previewOutput, PreviewOutput_Callbacks* callback) ``` **Description** Unregisters the callback used to listen for preview output events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | previewOutput | Pointer to the target [Camera_PreviewOutput](#camera_previewoutput) instance.| | callback | Pointer to the target callback, which is defined in the [PreviewOutput_Callbacks](_preview_output___callbacks.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_VideoOutput_DeleteFrameRates() ``` Camera_ErrorCode OH_VideoOutput_DeleteFrameRates(Camera_VideoOutput* videoOutput, Camera_FrameRateRange* frameRateRange) ``` **Description** Deletes the frame rate list. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | videoOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| | frameRateRange | Pointer to the list of frame rates, which are defined in [Camera_FrameRateRange](_camera___frame_rate_range.md).| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_VideoOutput_DeleteProfile() ``` Camera_ErrorCode OH_VideoOutput_DeleteProfile(Camera_VideoProfile* profile) ``` **Description** Deletes the profile of this **VideoOutput** instance. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | profile | Pointer to the [Camera_VideoProfile](_camera___video_profile.md) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_VideoOutput_GetActiveFrameRate() ``` Camera_ErrorCode OH_VideoOutput_GetActiveFrameRate(Camera_VideoOutput* videoOutput, Camera_FrameRateRange* frameRateRange) ``` **Description** Obtains the active frame rates of a **VideoOutput** instance. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | videoOutput | Pointer to the [Camera_VideoOutput](#camera_videooutput) instance.| | frameRateRange | Pointer to the frame rates, which are defined in [Camera_FrameRateRange](_camera___frame_rate_range.md), if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_VideoOutput_GetActiveProfile() ``` Camera_ErrorCode OH_VideoOutput_GetActiveProfile(Camera_VideoOutput* videoOutput, Camera_VideoProfile** profile) ``` **Description** Obtains the profile of a **VideoOutput** instance. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | videoOutput | Pointer to the [Camera_VideoOutput](#camera_videooutput) instance.| | profile | Double pointer to the profile, which is defined in [Camera_VideoProfile](_camera___video_profile.md), if the function is successfully called.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_VideoOutput_GetSupportedFrameRates() ``` Camera_ErrorCode OH_VideoOutput_GetSupportedFrameRates(Camera_VideoOutput* videoOutput, Camera_FrameRateRange** frameRateRange, uint32_t* size) ``` **Description** Obtains the list of frame rates supported by a **VideoOutput** instance. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | videoOutput | Pointer to the [Camera_VideoOutput](#camera_videooutput) instance.| | frameRateRange | Double pointer to the list of frame rates, which are defined in [Camera_FrameRateRange](_camera___frame_rate_range.md), if the function is successfully called.| | size | Pointer to the size of the list of frame rates.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_VideoOutput_RegisterCallback() ``` Camera_ErrorCode OH_VideoOutput_RegisterCallback(Camera_VideoOutput* videoOutput, VideoOutput_Callbacks* callback) ``` **Description** Registers a callback to listen for video output events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | videoOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| | callback | Pointer to the target callback, which is defined in the [VideoOutput_Callbacks](_video_output___callbacks.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_VideoOutput_Release() ``` Camera_ErrorCode OH_VideoOutput_Release(Camera_VideoOutput* videoOutput) ``` **Description** Releases a **VideoOutput** instance. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | videoOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_VideoOutput_SetFrameRate() ``` Camera_ErrorCode OH_VideoOutput_SetFrameRate(Camera_VideoOutput* videoOutput, int32_t minFps, int32_t maxFps) ``` **Description** Sets the frame rates for a **VideoOutput** instance. **Since**: 12 **Parameters** | Name| Description| | -------- | -------- | | videoOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| | minFps | Minimum frame rate. | | maxFps | Maximum frame rate. | **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. ### OH_VideoOutput_Start() ``` Camera_ErrorCode OH_VideoOutput_Start(Camera_VideoOutput* videoOutput) ``` **Description** Starts video output. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | videoOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_VideoOutput_Stop() ``` Camera_ErrorCode OH_VideoOutput_Stop(Camera_VideoOutput* videoOutput) ``` **Description** Stops video output. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | videoOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect. - **CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service. ### OH_VideoOutput_UnregisterCallback() ``` Camera_ErrorCode OH_VideoOutput_UnregisterCallback(Camera_VideoOutput* videoOutput, VideoOutput_Callbacks* callback) ``` **Description** Unregisters the callback used to listen for video output events. **Since**: 11 **Parameters** | Name| Description| | -------- | -------- | | videoOutput | Pointer to the target [Camera_VideoOutput](#camera_videooutput) instance.| | callback | Pointer to the target callback, which is defined in the [VideoOutput_Callbacks](_video_output___callbacks.md) struct.| **Returns** In [Camera_ErrorCode] (#camera_errorcode-1): - **CAMERA_OK**: The operation is successful. - **CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect.