diff --git a/en/application-dev/reference/native-apis/_core.md b/en/application-dev/reference/native-apis/_core.md index 3b616f93d9ad065bfbbbf9dcc2a9141ac54f2b04..711afe087588ead0b547251bf97f398d699f8c75 100644 --- a/en/application-dev/reference/native-apis/_core.md +++ b/en/application-dev/reference/native-apis/_core.md @@ -1 +1,589 @@ # Core + + +## Overview + +Provides the basic backbone capabilities for the media playback framework, including functions related to the memory, error code, and format carrier. + +\@syscap SystemCapability.Multimedia.Media.Core + +**Since:** +9 + + +## Summary + + +### Files + +| Name | Description | +| -------- | -------- | +| [native_averrors.h](native__averrors_8h.md) | Declares the error codes used by the media playback framework.
File to Include: | +| [native_avformat.h](native__avformat_8h.md) | Declares the format-related functions and enums.
File to Include: | +| [native_avmemory.h](native__avmemory_8h.md) | Declares the memory-related functions.
File to Include: | + + +### Types + +| Name | Description | +| -------- | -------- | +| [OH_AVErrCode](#oh_averrcode) | Enumerates the audio and video error codes. | +| [OH_AVPixelFormat](#oh_avpixelformat) | Enumerates the audio and video pixel formats. | + + +### Enums + +| Name | Description | +| -------- | -------- | +| [OH_AVErrCode](#oh_averrcode) {
AV_ERR_OK = 0, AV_ERR_NO_MEMORY = 1, AV_ERR_OPERATE_NOT_PERMIT = 2, AV_ERR_INVALID_VAL = 3,
AV_ERR_IO = 4, AV_ERR_TIMEOUT = 5, AV_ERR_UNKNOWN = 6, AV_ERR_SERVICE_DIED = 7,
AV_ERR_INVALID_STATE = 8, AV_ERR_UNSUPPORT = 9, AV_ERR_EXTEND_START = 100
} | Enumerates the audio and video error codes. | +| [OH_AVPixelFormat](#oh_avpixelformat) {
AV_PIXEL_FORMAT_YUVI420 = 1, AV_PIXEL_FORMAT_NV12 = 2, AV_PIXEL_FORMAT_NV21 = 3, AV_PIXEL_FORMAT_SURFACE_FORMAT = 4,
AV_PIXEL_FORMAT_RGBA = 5
} | Enumerates the audio and video pixel formats. | + + +### Functions + +| Name | Description | +| -------- | -------- | +| [OH_AVFormat_Create](#oh_avformat_create) (void) | Creates an **OH_AVFormat** instance for reading and writing data. | +| [OH_AVFormat_Destroy](#oh_avformat_destroy) (struct OH_AVFormat \*format) | Destroys an **OH_AVFormat** instance. | +| [OH_AVFormat_Copy](#oh_avformat_copy) (struct OH_AVFormat \*to, struct OH_AVFormat \*from) | Copies the resources from an **OH_AVFormat** instance to another. | +| [OH_AVFormat_SetIntValue](#oh_avformat_setintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t value) | Writes data of the int type to an **OH_AVFormat** instance. | +| [OH_AVFormat_SetLongValue](#oh_avformat_setlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t value) | Writes data of the long type to an **OH_AVFormat** instance. | +| [OH_AVFormat_SetFloatValue](#oh_avformat_setfloatvalue) (struct OH_AVFormat \*format, const char \*key, float value) | Writes data of the float type to an **OH_AVFormat** instance. | +| [OH_AVFormat_SetDoubleValue](#oh_avformat_setdoublevalue) (struct OH_AVFormat \*format, const char \*key, double value) | Writes data of the double type to an **OH_AVFormat** instance. | +| [OH_AVFormat_SetStringValue](#oh_avformat_setstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*value) | Writes data of the string type to an **OH_AVFormat** instance. | +| [OH_AVFormat_SetBuffer](#oh_avformat_setbuffer) (struct OH_AVFormat \*format, const char \*key, const uint8_t \*addr, size_t size) | Writes data with a specified size to an **OH_AVFormat** instance. | +| [OH_AVFormat_GetIntValue](#oh_avformat_getintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t \*out) | Reads data of the int type from an **OH_AVFormat** instance. | +| [OH_AVFormat_GetLongValue](#oh_avformat_getlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t \*out) | Reads data of the long type from an **OH_AVFormat** instance. | +| [OH_AVFormat_GetFloatValue](#oh_avformat_getfloatvalue) (struct OH_AVFormat \*format, const char \*key, float \*out) | Reads data of the float type from an **OH_AVFormat** instance. | +| [OH_AVFormat_GetDoubleValue](#oh_avformat_getdoublevalue) (struct OH_AVFormat \*format, const char \*key, double \*out) | Reads data of the double type from an **OH_AVFormat** instance. | +| [OH_AVFormat_GetStringValue](#oh_avformat_getstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*\*out) | Reads data of the double type from an **OH_AVFormat** instance. | +| [OH_AVFormat_GetBuffer](#oh_avformat_getbuffer) (struct OH_AVFormat \*format, const char \*key, uint8_t \*\*addr, size_t \*size) | Reads data with a specified size from an **OH_AVFormat** instance. | +| [OH_AVFormat_DumpInfo](#oh_avformat_dumpinfo) (struct OH_AVFormat \*format) | Dumps the information contained in an**OH_AVFormat** instance as a string. | +| [OH_AVMemory_GetAddr](#oh_avmemory_getaddr) (struct OH_AVMemory \*mem) | Obtains the virtual memory address of an **OH_AVMemory** instance. | +| [OH_AVMemory_GetSize](#oh_avmemory_getsize) (struct OH_AVMemory \*mem) | Obtains the memory size of an **OH_AVMemory** instance. | + + +## Type Description + + +### OH_AVErrCode + + +``` +typedef enum OH_AVErrCodeOH_AVErrCode +``` +**Description**
+Enumerates the audio and video error codes. + +\@syscap SystemCapability.Multimedia.Media.Core + + +### OH_AVPixelFormat + + +``` +typedef enum OH_AVPixelFormatOH_AVPixelFormat +``` +**Description**
+Enumerates the audio and video pixel formats. + +\@syscap SystemCapability.Multimedia.Media.Core + + +## Enum Description + + +### OH_AVErrCode + + +``` +enum OH_AVErrCode +``` +**Description**
+Enumerates the audio and video error codes. + +\@syscap SystemCapability.Multimedia.Media.Core + +| Name | Description | +| -------- | -------- | +| AV_ERR_OK | Operation successful. | +| AV_ERR_NO_MEMORY | No memory. | +| AV_ERR_OPERATE_NOT_PERMIT | Invalid parameter. | +| AV_ERR_INVALID_VAL | Invalid value. | +| AV_ERR_IO | I/O error. | +| AV_ERR_TIMEOUT | Timeout. | +| AV_ERR_UNKNOWN | Unknown error. | +| AV_ERR_SERVICE_DIED | Unavailable media service. | +| AV_ERR_INVALID_STATE | Unsupported operation in this state. | +| AV_ERR_UNSUPPORT | Unsupported API. | +| AV_ERR_EXTEND_START | Initial value for extended error codes. | + + +### OH_AVPixelFormat + + +``` +enum OH_AVPixelFormat +``` +**Description**
+Enumerates the audio and video pixel formats. + +\@syscap SystemCapability.Multimedia.Media.Core + +| Name | Description | +| -------- | -------- | +| AV_PIXEL_FORMAT_YUVI420 | YUV 420 Planar. | +| AV_PIXEL_FORMAT_NV12 | NV12. YUV 420 Semi-planar. | +| AV_PIXEL_FORMAT_NV21 | NV21. YVU 420 Semi-planar. | +| AV_PIXEL_FORMAT_SURFACE_FORMAT | Surface. | +| AV_PIXEL_FORMAT_RGBA | RGBA8888. | + + +## Function Description + + +### OH_AVFormat_Copy() + + +``` +bool OH_AVFormat_Copy (struct OH_AVFormat * to, struct OH_AVFormat * from ) +``` +**Description**
+Copies the resources from an **OH_AVFormat** instance to another. + +\@syscap SystemCapability.Multimedia.Media.Core + + **Parameters** + +| Name | Description | +| -------- | -------- | +| to | Indicates the handle to the **OH_AVFormat** instance to which the data will be copied. | +| from | Indicates the handle to the **OH_AVFormat** instance from which the data will be copied. | + +**Returns** + +Returns **TRUE** if the operation is successful. + +Returns **FALSE** if the operation fails. + + +### OH_AVFormat_Create() + + +``` +struct OH_AVFormat* OH_AVFormat_Create (void ) +``` +**Description**
+Creates an **OH_AVFormat** instance for reading and writing data. + +\@syscap SystemCapability.Multimedia.Media.Core + +**Returns** + +Returns the handle to an **OH_AVFormat** instance. + + +### OH_AVFormat_Destroy() + + +``` +void OH_AVFormat_Destroy (struct OH_AVFormat * format) +``` +**Description**
+Destroys an **OH_AVFormat** instance. + +\@syscap SystemCapability.Multimedia.Media.Core + + **Parameters** + +| Name | Description | +| -------- | -------- | +| format | Indicates the handle to an **OH_AVFormat** instance. | + +**Returns** + +void + + +### OH_AVFormat_DumpInfo() + + +``` +const char* OH_AVFormat_DumpInfo (struct OH_AVFormat * format) +``` +**Description**
+Dumps the information contained in an**OH_AVFormat** instance as a string. + +\@syscap SystemCapability.Multimedia.Media.Core + + **Parameters** + +| Name | Description | +| -------- | -------- | +| format | Indicates the handle to an **OH_AVFormat** instance. | + +**Returns** + +Returns the pointer to a collect of strings, each of which consists of a key and value. + + +### OH_AVFormat_GetBuffer() + + +``` +bool OH_AVFormat_GetBuffer (struct OH_AVFormat * format, const char * key, uint8_t ** addr, size_t * size ) +``` +**Description**
+Reads data with a specified size from an **OH_AVFormat** instance. + +\@syscap SystemCapability.Multimedia.Media.Core + + **Parameters** + +| Name | Description | +| -------- | -------- | +| format | Indicates the handle to an **OH_AVFormat** instance. | +| key | Indicates the pointer to the key of the data to read. | +| addr | Indicates the double pointer to the address where the data read is stored. The data read is destroyed when the **OH_AVFormat** instance is destroyed. To hold the data for an extended period of time, copy it to the memory. | +| size | Indicates the pointer to the size of the data read. | + +**Returns** + +Returns **TRUE** if the operation is successful. + +Returns **FALSE** if the operation fails. + + +### OH_AVFormat_GetDoubleValue() + + +``` +bool OH_AVFormat_GetDoubleValue (struct OH_AVFormat * format, const char * key, double * out ) +``` +**Description**
+Reads data of the double type from an **OH_AVFormat** instance. + +\@syscap SystemCapability.Multimedia.Media.Core + + **Parameters** + +| Name | Description | +| -------- | -------- | +| format | Indicates the handle to an **OH_AVFormat** instance. | +| key | Indicates the pointer to the key of the data to read. | +| out | Indicates the pointer to the data read. | + +**Returns** + +Returns **TRUE** if the operation is successful. + +Returns **FALSE** if the operation fails. + + +### OH_AVFormat_GetFloatValue() + + +``` +bool OH_AVFormat_GetFloatValue (struct OH_AVFormat * format, const char * key, float * out ) +``` +**Description**
+Reads data of the float type from an **OH_AVFormat** instance. + +\@syscap SystemCapability.Multimedia.Media.Core + + **Parameters** + +| Name | Description | +| -------- | -------- | +| format | Indicates the handle to an **OH_AVFormat** instance. | +| key | Indicates the pointer to the key of the data to read. | +| out | Indicates the pointer to the data read. | + +**Returns** + +Returns **TRUE** if the operation is successful. + +Returns **FALSE** if the operation fails. + + +### OH_AVFormat_GetIntValue() + + +``` +bool OH_AVFormat_GetIntValue (struct OH_AVFormat * format, const char * key, int32_t * out ) +``` +**Description**
+Reads data of the int type from an **OH_AVFormat** instance. + +\@syscap SystemCapability.Multimedia.Media.Core + + **Parameters** + +| Name | Description | +| -------- | -------- | +| format | Indicates the handle to an **OH_AVFormat** instance. | +| key | Indicates the pointer to the key of the data to read. | +| out | Indicates the pointer to the data read. | + +**Returns** + +Returns **TRUE** if the operation is successful. + +Returns **FALSE** if the operation fails. + + +### OH_AVFormat_GetLongValue() + + +``` +bool OH_AVFormat_GetLongValue (struct OH_AVFormat * format, const char * key, int64_t * out ) +``` +**Description**
+Reads data of the long type from an **OH_AVFormat** instance. + +\@syscap SystemCapability.Multimedia.Media.Core + + **Parameters** + +| Name | Description | +| -------- | -------- | +| format | Indicates the handle to an **OH_AVFormat** instance. | +| key | Indicates the pointer to the key of the data to read. | +| out | Indicates the pointer to the data read. | + +**Returns** + +Returns **TRUE** if the operation is successful. + +Returns **FALSE** if the operation fails. + + +### OH_AVFormat_GetStringValue() + + +``` +bool OH_AVFormat_GetStringValue (struct OH_AVFormat * format, const char * key, const char ** out ) +``` +**Description**
+Reads data of the double type from an **OH_AVFormat** instance. + +\@syscap SystemCapability.Multimedia.Media.Core + + **Parameters** + +| Name | Description | +| -------- | -------- | +| format | Indicates the handle to an **OH_AVFormat** instance. | +| key | Indicates the pointer to the key of the data to read. | +| out | Indicates the double pointer to the data read. The data read is updated when **GetString** is called and destroyed when the **OH_AVFormat** instance is destroyed. To hold the data for an extended period of time, copy it to the memory. | + +**Returns** + +Returns **TRUE** if the operation is successful. + +Returns **FALSE** if the operation fails. + + +### OH_AVFormat_SetBuffer() + + +``` +bool OH_AVFormat_SetBuffer (struct OH_AVFormat * format, const char * key, const uint8_t * addr, size_t size ) +``` +**Description**
+Writes data with a specified size to an **OH_AVFormat** instance. + +\@syscap SystemCapability.Multimedia.Media.Core + + **Parameters** + +| Name | Description | +| -------- | -------- | +| format | Indicates the handle to an **OH_AVFormat** instance. | +| key | Indicates the pointer to the key of the data to write. | +| addr | Indicates the pointer to the address where the data is written. | +| size | Indicates the size of the data written. | + +**Returns** + +Returns **TRUE** if the operation is successful. + +Returns **FALSE** if the operation fails. + + +### OH_AVFormat_SetDoubleValue() + + +``` +bool OH_AVFormat_SetDoubleValue (struct OH_AVFormat * format, const char * key, double value ) +``` +**Description**
+Writes data of the double type to an **OH_AVFormat** instance. + +\@syscap SystemCapability.Multimedia.Media.Core + + **Parameters** + +| Name | Description | +| -------- | -------- | +| format | Indicates the handle to an **OH_AVFormat** instance. | +| key | Indicates the pointer to the key of the data to write. | +| value | Indicates the value of the data to write. | + +**Returns** + +Returns **TRUE** if the operation is successful. + +Returns **FALSE** if the operation fails. + + +### OH_AVFormat_SetFloatValue() + + +``` +bool OH_AVFormat_SetFloatValue (struct OH_AVFormat * format, const char * key, float value ) +``` +**Description**
+Writes data of the float type to an **OH_AVFormat** instance. + +\@syscap SystemCapability.Multimedia.Media.Core + + **Parameters** + +| Name | Description | +| -------- | -------- | +| format | Indicates the handle to an **OH_AVFormat** instance. | +| key | Indicates the pointer to the key of the data to write. | +| value | Indicates the value of the data to write. | + +**Returns** + +Returns **TRUE** if the operation is successful. + +Returns **FALSE** if the operation fails. + + +### OH_AVFormat_SetIntValue() + + +``` +bool OH_AVFormat_SetIntValue (struct OH_AVFormat * format, const char * key, int32_t value ) +``` +**Description**
+Writes data of the int type to an **OH_AVFormat** instance. + +\@syscap SystemCapability.Multimedia.Media.Core + + **Parameters** + +| Name | Description | +| -------- | -------- | +| format | Indicates the handle to an **OH_AVFormat** instance. | +| key | Indicates the pointer to the key of the data to write. | +| value | Indicates the value of the data to write. | + +**Returns** + +Returns **TRUE** if the operation is successful. + +Returns **FALSE** if the operation fails. + + +### OH_AVFormat_SetLongValue() + + +``` +bool OH_AVFormat_SetLongValue (struct OH_AVFormat * format, const char * key, int64_t value ) +``` +**Description**
+Writes data of the long type to an **OH_AVFormat** instance. + +\@syscap SystemCapability.Multimedia.Media.Core + + **Parameters** + +| Name | Description | +| -------- | -------- | +| format | Indicates the handle to an **OH_AVFormat** instance. | +| key | Indicates the pointer to the key of the data to write. | +| value | Indicates the value of the data to write. | + +**Returns** + +Returns **TRUE** if the operation is successful. + +Returns **FALSE** if the operation fails. + + +### OH_AVFormat_SetStringValue() + + +``` +bool OH_AVFormat_SetStringValue (struct OH_AVFormat * format, const char * key, const char * value ) +``` +**Description**
+Writes data of the string type to an **OH_AVFormat** instance. + +\@syscap SystemCapability.Multimedia.Media.Core + + **Parameters** + +| Name | Description | +| -------- | -------- | +| format | Indicates the handle to an **OH_AVFormat** instance. | +| key | Indicates the pointer to the key of the data to write. | +| value | Indicates the pointer to the value of the data to write. | + +**Returns** + +Returns **TRUE** if the operation is successful. + +Returns **FALSE** if the operation fails. + + +### OH_AVMemory_GetAddr() + + +``` +uint8_t* OH_AVMemory_GetAddr (struct OH_AVMemory * mem) +``` +**Description**
+Obtains the virtual memory address of an **OH_AVMemory** instance. + +\@syscap SystemCapability.Multimedia.Media.Core + + **Parameters** + +| Name | Description | +| -------- | -------- | +| mem | Indicates the pointer to an **OH_AVMemory** instance. | + +**Returns** + +Returns the virtual address if the memory is valid. + +Returns a null pointer if the memory is invalid. + + +### OH_AVMemory_GetSize() + + +``` +int32_t OH_AVMemory_GetSize (struct OH_AVMemory * mem) +``` +**Description**
+Obtains the memory size of an **OH_AVMemory** instance. + +\@syscap SystemCapability.Multimedia.Media.Core + + **Parameters** + +| Name | Description | +| -------- | -------- | +| mem | Indicates the pointer to an **OH_AVMemory** instance. | + +**Returns** + +Returns the size if the memory is valid. + +Returns **-1** if the memory is invalid.