1# metadata_output.h 2<!--Kit: Camera Kit--> 3<!--Subsystem: Multimedia--> 4<!--Owner: @qano--> 5<!--SE: @leo_ysl--> 6<!--TSE: @xchaosioda--> 7 8## Overview 9 10The file declares the metadata output concepts. 11 12**File to include**: <ohcamera/metadata_output.h> 13 14**Library**: libohcamera.so 15 16**System capability**: SystemCapability.Multimedia.Camera.Core 17 18**Since**: 11 19 20**Related module**: [OH_Camera](capi-oh-camera.md) 21 22## Summary 23 24### Structs 25 26| Name| typedef Keyword| Description| 27| -- | -- | -- | 28| [MetadataOutput_Callbacks](capi-oh-camera-metadataoutput-callbacks.md) | MetadataOutput_Callbacks | Describes the callbacks related to metadata output.| 29| [Camera_MetadataOutput](capi-oh-camera-camera-metadataoutput.md) | Camera_MetadataOutput | Describes the metadata output object.<br>You can use [OH_CameraManager_CreateMetadataOutput](capi-camera-manager-h.md#oh_cameramanager_createmetadataoutput) to create such an object.| 30 31### Functions 32 33| Name| typedef Keyword| Description| 34| -- | -- | -- | 35| [typedef void (\*OH_MetadataOutput_OnMetadataObjectAvailable)(Camera_MetadataOutput* metadataOutput,Camera_MetadataObject* metadataObject, uint32_t size)](#oh_metadataoutput_onmetadataobjectavailable) | OH_MetadataOutput_OnMetadataObjectAvailable | Defines the callback defined in the [MetadataOutput_Callbacks](capi-oh-camera-metadataoutput-callbacks.md) struct and used to report metadata output data.| 36| [typedef void (\*OH_MetadataOutput_OnError)(Camera_MetadataOutput* metadataOutput, Camera_ErrorCode errorCode)](#oh_metadataoutput_onerror) | OH_MetadataOutput_OnError | Defines the callback defined in the [MetadataOutput_Callbacks](capi-oh-camera-metadataoutput-callbacks.md) struct and used to report metadata output errors.| 37| [Camera_ErrorCode OH_MetadataOutput_RegisterCallback(Camera_MetadataOutput* metadataOutput,MetadataOutput_Callbacks* callback)](#oh_metadataoutput_registercallback) | - | Registers a callback to listen for metadata output events.| 38| [Camera_ErrorCode OH_MetadataOutput_UnregisterCallback(Camera_MetadataOutput* metadataOutput,MetadataOutput_Callbacks* callback)](#oh_metadataoutput_unregistercallback) | - | Unregisters the callback used to listen for metadata output events.| 39| [Camera_ErrorCode OH_MetadataOutput_Start(Camera_MetadataOutput* metadataOutput)](#oh_metadataoutput_start) | - | Starts metadata output.| 40| [Camera_ErrorCode OH_MetadataOutput_Stop(Camera_MetadataOutput* metadataOutput)](#oh_metadataoutput_stop) | - | Stops metadata output.| 41| [Camera_ErrorCode OH_MetadataOutput_Release(Camera_MetadataOutput* metadataOutput)](#oh_metadataoutput_release) | - | Releases a MetadataOutput instance.| 42 43## Function Description 44 45### OH_MetadataOutput_OnMetadataObjectAvailable() 46 47``` 48typedef void (*OH_MetadataOutput_OnMetadataObjectAvailable)(Camera_MetadataOutput* metadataOutput,Camera_MetadataObject* metadataObject, uint32_t size) 49``` 50 51**Description** 52 53Defines the callback defined in the [MetadataOutput_Callbacks](capi-oh-camera-metadataoutput-callbacks.md) struct and used to report metadata output data. 54 55**Since**: 11 56 57 58**Parameters** 59 60| Name| Description| 61| -- | -- | 62| [Camera_MetadataOutput](capi-oh-camera-camera-metadataoutput.md)* metadataOutput | Pointer to the MetadataOutput instance that transfers the callback.| 63| [Camera_MetadataObject](capi-oh-camera-camera-metadataobject.md)* metadataObject | Pointer to the metadata output data.| 64| uint32_t size | Size of the metadata object.| 65 66### OH_MetadataOutput_OnError() 67 68``` 69typedef void (*OH_MetadataOutput_OnError)(Camera_MetadataOutput* metadataOutput, Camera_ErrorCode errorCode) 70``` 71 72**Description** 73 74Defines the callback defined in the [MetadataOutput_Callbacks](capi-oh-camera-metadataoutput-callbacks.md) struct and used to report metadata output errors. 75 76**Since**: 11 77 78 79**Parameters** 80 81| Name| Description| 82| -- | -- | 83| [Camera_MetadataOutput](capi-oh-camera-camera-metadataoutput.md)* metadataOutput | Pointer to the MetadataOutput instance that transfers the callback.| 84| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) errorCode | Error code reported during metadata output.| 85 86**See also** 87 88[CAMERA_SERVICE_FATAL_ERROR](capi-camera-h.md#camera_errorcode) 89 90### OH_MetadataOutput_RegisterCallback() 91 92``` 93Camera_ErrorCode OH_MetadataOutput_RegisterCallback(Camera_MetadataOutput* metadataOutput,MetadataOutput_Callbacks* callback) 94``` 95 96**Description** 97 98Registers a callback to listen for metadata output events. 99 100**Since**: 11 101 102 103**Parameters** 104 105| Name| Description| 106| -- | -- | 107| [Camera_MetadataOutput](capi-oh-camera-camera-metadataoutput.md)* metadataOutput | Pointer to a MetadataOutput instance.| 108| [MetadataOutput_Callbacks](capi-oh-camera-metadataoutput-callbacks.md)* callback | Pointer to the target callback.| 109 110**Returns** 111 112| Type| Description| 113| -- | -- | 114| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | **CAMERA_OK**: The operation is successful.<br>**CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect.| 115 116### OH_MetadataOutput_UnregisterCallback() 117 118``` 119Camera_ErrorCode OH_MetadataOutput_UnregisterCallback(Camera_MetadataOutput* metadataOutput,MetadataOutput_Callbacks* callback) 120``` 121 122**Description** 123 124Unregisters the callback used to listen for metadata output events. 125 126**Since**: 11 127 128 129**Parameters** 130 131| Name| Description| 132| -- | -- | 133| [Camera_MetadataOutput](capi-oh-camera-camera-metadataoutput.md)* metadataOutput | Pointer to a MetadataOutput instance.| 134| [MetadataOutput_Callbacks](capi-oh-camera-metadataoutput-callbacks.md)* callback | Pointer to the target callback.| 135 136**Returns** 137 138| Type| Description| 139| -- | -- | 140| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | **CAMERA_OK**: The operation is successful.<br>**CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect.| 141 142### OH_MetadataOutput_Start() 143 144``` 145Camera_ErrorCode OH_MetadataOutput_Start(Camera_MetadataOutput* metadataOutput) 146``` 147 148**Description** 149 150Starts metadata output. 151 152**Since**: 11 153 154 155**Parameters** 156 157| Name| Description| 158| -- | -- | 159| [Camera_MetadataOutput](capi-oh-camera-camera-metadataoutput.md)* metadataOutput | Pointer to the MetadataOutput instance to start.| 160 161**Returns** 162 163| Type| Description| 164| -- | -- | 165| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | **CAMERA_OK**: The operation is successful.<br>**CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect.<br>**CAMERA_SESSION_NOT_CONFIG**: The capture session is not configured.<br>**CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service.| 166 167### OH_MetadataOutput_Stop() 168 169``` 170Camera_ErrorCode OH_MetadataOutput_Stop(Camera_MetadataOutput* metadataOutput) 171``` 172 173**Description** 174 175Stops metadata output. 176 177**Since**: 11 178 179 180**Parameters** 181 182| Name| Description| 183| -- | -- | 184| [Camera_MetadataOutput](capi-oh-camera-camera-metadataoutput.md)* metadataOutput | Pointer to the MetadataOutput instance to stop.| 185 186**Returns** 187 188| Type| Description| 189| -- | -- | 190| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | **CAMERA_OK**: The operation is successful.<br>**CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect.<br>**CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service.| 191 192### OH_MetadataOutput_Release() 193 194``` 195Camera_ErrorCode OH_MetadataOutput_Release(Camera_MetadataOutput* metadataOutput) 196``` 197 198**Description** 199 200Releases a MetadataOutput instance. 201 202**Since**: 11 203 204 205**Parameters** 206 207| Name| Description| 208| -- | -- | 209| [Camera_MetadataOutput](capi-oh-camera-camera-metadataoutput.md)* metadataOutput | Pointer to the MetadataOutput instance to release.| 210 211**Returns** 212 213| Type| Description| 214| -- | -- | 215| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | **CAMERA_OK**: The operation is successful.<br>**CAMERA_INVALID_ARGUMENT**: A parameter is missing or the parameter type is incorrect.<br>**CAMERA_SERVICE_FATAL_ERROR**: A fatal error occurs in the camera service.| 216