Core

Overview

The Core module provides the basic backbone capabilities for the media playback framework, including functions related to the memory, error code, format carrier, and media struct.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Summary

Files

Name Description
native_audio_channel_layout.h Declares the audio channel layout, which is used to indicate the appearance and sequence of speakers during recording or playback.
native_avbuffer.h Declares the functions of the media struct AVBuffer.
native_avbuffer_info.h Declares the attribute definition of the media struct AVBuffer.
native_averrors.h Defines the error code OH_AVErrCode of the multimedia subsystem.
native_avformat.h Declares the format-related functions and enums.
native_avmemory.h Declares the attribute definition of the media struct AVMemory.

Structs

Name Description
struct  OH_AVCodecBufferAttr Defines the description information about the buffer of an OH_AVCodec instance.

Types

Name Description
typedef enum OH_AudioChannelSetOH_AudioChannelSet Defines an enum that enumerates the audio channel sets.
typedef enum OH_AmbAttributeSetOH_AmbAttributeSet Defines an enum that enumerates the Hi-Fi stereo reverberation settings.
typedef enum OH_AudioChannelLayoutOH_AudioChannelLayout Defines an enum that enumerates the audio channel layouts.
typedef enum OH_AVCodecBufferFlagsOH_AVCodecBufferFlags Defines an enum that enumerates the flags for the buffer of an OH_AVCodec instance.
typedef struct OH_AVCodecBufferAttrOH_AVCodecBufferAttr Defines the description information about the buffer of an OH_AVCodec instance.
typedef enum OH_AVErrCodeOH_AVErrCode Defines an enum that enumerates the audio and video error codes.
typedef enum OH_AVPixelFormatOH_AVPixelFormat Defines an enum that enumerates the video pixel formats.

Enums

Name Description
OH_AudioChannelSet {
CH_SET_FRONT_LEFT = 1ULL << 0U,
CH_SET_FRONT_RIGHT = 1ULL << 1U,
CH_SET_FRONT_CENTER = 1ULL << 2U,
CH_SET_LOW_FREQUENCY = 1ULL << 3U,
CH_SET_BACK_LEFT = 1ULL << 4U,
CH_SET_BACK_RIGHT = 1ULL << 5U,
CH_SET_FRONT_LEFT_OF_CENTER = 1ULL << 6U,
CH_SET_FRONT_RIGHT_OF_CENTER = 1ULL << 7U,
CH_SET_BACK_CENTER = 1ULL << 8U,
CH_SET_SIDE_LEFT = 1ULL << 9U,
CH_SET_SIDE_RIGHT = 1ULL << 10U,
CH_SET_TOP_CENTER = 1ULL << 11U,
CH_SET_TOP_FRONT_LEFT = 1ULL << 12U,
CH_SET_TOP_FRONT_CENTER = 1ULL << 13U,
CH_SET_TOP_FRONT_RIGHT = 1ULL << 14U,
CH_SET_TOP_BACK_LEFT = 1ULL << 15U,
CH_SET_TOP_BACK_CENTER = 1ULL << 16U,
CH_SET_TOP_BACK_RIGHT = 1ULL << 17U,
CH_SET_STEREO_LEFT = 1ULL << 29U,
CH_SET_STEREO_RIGHT = 1ULL << 30U,
CH_SET_WIDE_LEFT = 1ULL << 31U,
CH_SET_WIDE_RIGHT = 1ULL << 32U,
CH_SET_SURROUND_DIRECT_LEFT = 1ULL << 33U,
CH_SET_SURROUND_DIRECT_RIGHT = 1ULL << 34U,
CH_SET_LOW_FREQUENCY_2 = 1ULL << 35U,
CH_SET_TOP_SIDE_LEFT = 1ULL << 36U,
CH_SET_TOP_SIDE_RIGHT = 1ULL << 37U,
CH_SET_BOTTOM_FRONT_CENTER = 1ULL << 38U,
CH_SET_BOTTOM_FRONT_LEFT = 1ULL << 39U,
CH_SET_BOTTOM_FRONT_RIGHT = 1ULL << 40U
}
Enumerates the audio channel sets.
OH_AmbAttributeSet {
AMB_ORD_1 = 1ULL << 0U,
AMB_ORD_2 = 2ULL << 0U,
AMB_ORD_3 = 3ULL << 0U,
AMB_COM_ACN = 0ULL << 8U,
AMB_COM_FUMA = 1ULL << 8U,
AMB_NOR_N3D = 0ULL << 12U,
AMB_NOR_SN3D = 1ULL << 12U,
AMB_MODE = 1ULL << 44U
}
Enumerates the Hi-Fi stereo reverberation settings.
OH_AudioChannelLayout {
CH_LAYOUT_UNKNOWN = 0ULL,
CH_LAYOUT_MONO = CH_SET_FRONT_CENTER,
CH_LAYOUT_STEREO = CH_SET_FRONT_LEFT | CH_SET_FRONT_RIGHT,
CH_LAYOUT_STEREO_DOWNMIX = CH_SET_STEREO_LEFT | CH_SET_STEREO_RIGHT,
CH_LAYOUT_2POINT1 = CH_LAYOUT_STEREO | CH_SET_LOW_FREQUENCY,
CH_LAYOUT_3POINT0 = CH_LAYOUT_STEREO | CH_SET_BACK_CENTER,
CH_LAYOUT_SURROUND = CH_LAYOUT_STEREO | CH_SET_FRONT_CENTER,
CH_LAYOUT_3POINT1 = CH_LAYOUT_SURROUND | CH_SET_LOW_FREQUENCY,
CH_LAYOUT_4POINT0 = CH_LAYOUT_SURROUND | CH_SET_BACK_CENTER,
CH_LAYOUT_QUAD_SIDE = CH_LAYOUT_STEREO | CH_SET_SIDE_LEFT | CH_SET_SIDE_RIGHT,
CH_LAYOUT_QUAD = CH_LAYOUT_STEREO | CH_SET_BACK_LEFT | CH_SET_BACK_RIGHT,
CH_LAYOUT_2POINT0POINT2 = CH_LAYOUT_STEREO | CH_SET_TOP_SIDE_LEFT | CH_SET_TOP_SIDE_RIGHT,
CH_LAYOUT_AMB_ORDER1_ACN_N3D = AMB_MODE | AMB_ORD_1 | AMB_COM_ACN | AMB_NOR_N3D, CH_LAYOUT_AMB_ORDER1_ACN_SN3D = AMB_MODE | AMB_ORD_1 | AMB_COM_ACN | AMB_NOR_SN3D,
CH_LAYOUT_AMB_ORDER1_FUMA = AMB_MODE | AMB_ORD_1 | AMB_COM_FUMA,
CH_LAYOUT_4POINT1 = CH_LAYOUT_4POINT0 | CH_SET_LOW_FREQUENCY,
CH_LAYOUT_5POINT0 = CH_LAYOUT_SURROUND | CH_SET_SIDE_LEFT | CH_SET_SIDE_RIGHT,
CH_LAYOUT_5POINT0_BACK = CH_LAYOUT_SURROUND | CH_SET_BACK_LEFT | CH_SET_BACK_RIGHT,
CH_LAYOUT_2POINT1POINT2 = CH_LAYOUT_2POINT0POINT2 | CH_SET_LOW_FREQUENCY,
CH_LAYOUT_3POINT0POINT2 = CH_LAYOUT_2POINT0POINT2 | CH_SET_FRONT_CENTER,
CH_LAYOUT_5POINT1 = CH_LAYOUT_5POINT0 | CH_SET_LOW_FREQUENCY,
CH_LAYOUT_5POINT1_BACK = CH_LAYOUT_5POINT0_BACK | CH_SET_LOW_FREQUENCY,
CH_LAYOUT_6POINT0 = CH_LAYOUT_5POINT0 | CH_SET_BACK_CENTER,
CH_LAYOUT_3POINT1POINT2 = CH_LAYOUT_3POINT1 | CH_SET_TOP_FRONT_LEFT | CH_SET_TOP_FRONT_RIGHT,
CH_LAYOUT_6POINT0_FRONT = CH_LAYOUT_QUAD_SIDE | CH_SET_FRONT_LEFT_OF_CENTER | CH_SET_FRONT_RIGHT_OF_CENTER,
CH_LAYOUT_HEXAGONAL = CH_LAYOUT_5POINT0_BACK | CH_SET_BACK_CENTER,
CH_LAYOUT_6POINT1 = CH_LAYOUT_5POINT1 | CH_SET_BACK_CENTER,
CH_LAYOUT_6POINT1_BACK = CH_LAYOUT_5POINT1_BACK | CH_SET_BACK_CENTER,
CH_LAYOUT_6POINT1_FRONT = CH_LAYOUT_6POINT0_FRONT | CH_SET_LOW_FREQUENCY,
CH_LAYOUT_7POINT0 = CH_LAYOUT_5POINT0 | CH_SET_BACK_LEFT | CH_SET_BACK_RIGHT,
CH_LAYOUT_7POINT0_FRONT = CH_LAYOUT_5POINT0 | CH_SET_FRONT_LEFT_OF_CENTER | CH_SET_FRONT_RIGHT_OF_CENTER,
CH_LAYOUT_7POINT1 = CH_LAYOUT_5POINT1 | CH_SET_BACK_LEFT | CH_SET_BACK_RIGHT,
CH_LAYOUT_OCTAGONAL = CH_LAYOUT_5POINT0 | CH_SET_BACK_LEFT | CH_SET_BACK_CENTER | CH_SET_BACK_RIGHT,
CH_LAYOUT_5POINT1POINT2 = CH_LAYOUT_5POINT1 | CH_SET_TOP_SIDE_LEFT | CH_SET_TOP_SIDE_RIGHT,
CH_LAYOUT_7POINT1_WIDE = CH_LAYOUT_5POINT1 | CH_SET_FRONT_LEFT_OF_CENTER | CH_SET_FRONT_RIGHT_OF_CENTER,
CH_LAYOUT_7POINT1_WIDE_BACK = CH_LAYOUT_5POINT1_BACK | CH_SET_FRONT_LEFT_OF_CENTER | CH_SET_FRONT_RIGHT_OF_CENTER,
CH_LAYOUT_AMB_ORDER2_ACN_N3D = AMB_MODE | AMB_ORD_2 | AMB_COM_ACN | AMB_NOR_N3D,
CH_LAYOUT_AMB_ORDER2_ACN_SN3D = AMB_MODE | AMB_ORD_2 | AMB_COM_ACN | AMB_NOR_SN3D,
CH_LAYOUT_AMB_ORDER2_FUMA = AMB_MODE | AMB_ORD_2 | AMB_COM_FUMA,
CH_LAYOUT_5POINT1POINT4,
CH_LAYOUT_7POINT1POINT2 = CH_LAYOUT_7POINT1 | CH_SET_TOP_SIDE_LEFT | CH_SET_TOP_SIDE_RIGHT,
CH_LAYOUT_7POINT1POINT4,
CH_LAYOUT_10POINT2,
CH_LAYOUT_9POINT1POINT4 = CH_LAYOUT_7POINT1POINT4 | CH_SET_WIDE_LEFT | CH_SET_WIDE_RIGHT,
CH_LAYOUT_9POINT1POINT6 = CH_LAYOUT_9POINT1POINT4 | CH_SET_TOP_SIDE_LEFT | CH_SET_TOP_SIDE_RIGHT,
CH_LAYOUT_HEXADECAGONAL,
CH_LAYOUT_AMB_ORDER3_ACN_N3D = AMB_MODE | AMB_ORD_3 | AMB_COM_ACN | AMB_NOR_N3D,
CH_LAYOUT_AMB_ORDER3_ACN_SN3D = AMB_MODE | AMB_ORD_3 | AMB_COM_ACN | AMB_NOR_SN3D,
CH_LAYOUT_AMB_ORDER3_FUMA = AMB_MODE | AMB_ORD_3 | AMB_COM_FUMA,
CH_LAYOUT_22POINT2
}
Enumerates the audio channel layouts.
OH_AVCodecBufferFlags {
AVCODEC_BUFFER_FLAGS_NONE = 0,
AVCODEC_BUFFER_FLAGS_EOS = 1 << 0, AVCODEC_BUFFER_FLAGS_SYNC_FRAME = 1 << 1, AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME = 1 << 2,
AVCODEC_BUFFER_FLAGS_CODEC_DATA = 1 << 3
}
Enumerates the flags for the buffer of an OH_AVCodec instance.
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 {
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 video pixel formats.

Functions

Name Description
OH_AVBuffer * OH_AVBuffer_Create (int32_t capacity) Creates an OH_AVBuffer instance. The caller must call OH_AVBuffer_Destroy to manually release the OH_AVBuffer instance returned.
OH_AVErrCodeOH_AVBuffer_Destroy (OH_AVBuffer *buffer) Releases an OH_AVBuffer instance.
OH_AVErrCodeOH_AVBuffer_GetBufferAttr (OH_AVBuffer *buffer, OH_AVCodecBufferAttr *attr) Obtains the high-frequency attribute of a data buffer.
OH_AVErrCodeOH_AVBuffer_SetBufferAttr (OH_AVBuffer *buffer, const OH_AVCodecBufferAttr *attr) Sets the high-frequency attribute for a data buffer.
OH_AVFormat * OH_AVBuffer_GetParameter (OH_AVBuffer *buffer) Obtains the frame parameter of a data buffer.
OH_AVErrCodeOH_AVBuffer_SetParameter (OH_AVBuffer *buffer, const OH_AVFormat *format) Sets the frame parameter for a data buffer.
uint8_t * OH_AVBuffer_GetAddr (OH_AVBuffer *buffer) Obtains the virtual address of a data buffer.
int32_t OH_AVBuffer_GetCapacity (OH_AVBuffer *buffer) Obtains the capacity of a data buffer.
OH_NativeBuffer * OH_AVBuffer_GetNativeBuffer (OH_AVBuffer *buffer) Obtains the pointer of an OH_NativeBuffer instance.
struct OH_AVFormat * OH_AVFormat_Create (void) Creates an OH_AVFormat instance for reading data.
struct OH_AVFormat * OH_AVFormat_CreateAudioFormat (const char *mimeType, int32_t sampleRate, int32_t channelCount) Creates an audio OH_AVFormat instance for reading and writing data.
struct OH_AVFormat * OH_AVFormat_CreateVideoFormat (const char *mimeType, int32_t width, int32_t height) Creates a video OH_AVFormat instance for reading and writing data.
void OH_AVFormat_Destroy (struct OH_AVFormat *format) Destroys an OH_AVFormat instance.
bool OH_AVFormat_Copy (struct OH_AVFormat *to, struct OH_AVFormat *from) Copies an OH_AVFormat instance.
bool OH_AVFormat_SetIntValue (struct OH_AVFormat *format, const char *key, int32_t value) Writes data of the int type to an OH_AVFormat instance.
bool OH_AVFormat_SetLongValue (struct OH_AVFormat *format, const char *key, int64_t value) Writes data of the long type to an OH_AVFormat instance.
bool OH_AVFormat_SetFloatValue (struct OH_AVFormat *format, const char *key, float value) Writes data of the float type to an OH_AVFormat instance.
bool OH_AVFormat_SetDoubleValue (struct OH_AVFormat *format, const char *key, double value) Writes data of the double type to an OH_AVFormat instance.
bool OH_AVFormat_SetStringValue (struct OH_AVFormat *format, const char *key, const char *value) Writes data of the string type to an OH_AVFormat instance.
bool OH_AVFormat_SetBuffer (struct OH_AVFormat *format, const char *key, const uint8_t *addr, size_t size) Writes data blocks of a specified length to an OH_AVFormat instance.
bool OH_AVFormat_GetIntValue (struct OH_AVFormat *format, const char *key, int32_t *out) Reads data of the int type from an OH_AVFormat instance.
bool OH_AVFormat_GetLongValue (struct OH_AVFormat *format, const char *key, int64_t *out) Reads data of the long type from an OH_AVFormat instance.
bool OH_AVFormat_GetFloatValue (struct OH_AVFormat *format, const char *key, float *out) Reads data of the float type from an OH_AVFormat instance.
bool OH_AVFormat_GetDoubleValue (struct OH_AVFormat *format, const char *key, double *out) Reads data of the double type from an OH_AVFormat instance.
bool OH_AVFormat_GetStringValue (struct OH_AVFormat *format, const char *key, const char **out) Reads data of the string type from an OH_AVFormat instance.
bool OH_AVFormat_GetBuffer (struct OH_AVFormat *format, const char *key, uint8_t **addr, size_t *size) Reads data blocks of a specified length from an OH_AVFormat instance.
const char * OH_AVFormat_DumpInfo (struct OH_AVFormat *format) Dumps the information contained in an OH_AVFormat instance as a string.
OH_AVMemory * OH_AVMemory_Create (int32_t size) Creates an OH_AVMemory instance.
uint8_t * OH_AVMemory_GetAddr (struct OH_AVMemory *mem) Obtains the virtual memory address of an OH_AVMemory instance.
int32_t OH_AVMemory_GetSize (struct OH_AVMemory *mem) Obtains the memory size of an OH_AVMemory instance.
OH_AVErrCodeOH_AVMemory_Destroy (struct OH_AVMemory *mem) Releases an OH_AVMemory instance.

Type Description

OH_AmbAttributeSet

typedef enum OH_AmbAttributeSetOH_AmbAttributeSet

Description

Defines an enum that enumerates the Hi-Fi stereo reverberation settings.

Int64 integers are used to indicate the Hi-Fi stereo reverberation attributes.

System capability: SystemCapability.Multimedia.Media.Core

Since: 11

OH_AudioChannelLayout

typedef enum OH_AudioChannelLayoutOH_AudioChannelLayout

Description

Defines an enum that enumerates the audio channel layouts.

Int64 integers are used to indicate the appearance and sequence of speakers during recording or playback.

System capability: SystemCapability.Multimedia.Media.Core

Since: 11

OH_AudioChannelSet

typedef enum OH_AudioChannelSetOH_AudioChannelSet

Description

Defines an enum that enumerates the audio channel sets.

Each audio channel is mapped to an int64 variable.

System capability: SystemCapability.Multimedia.Media.Core

Since: 11

OH_AVCodecBufferAttr

typedef struct OH_AVCodecBufferAttrOH_AVCodecBufferAttr

Description

Defines the description information about the buffer of an OH_AVCodec instance.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

OH_AVCodecBufferFlags

typedef enum OH_AVCodecBufferFlagsOH_AVCodecBufferFlags

Description

Defines an enum that enumerates the flags for the buffer of an OH_AVCodec instance.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

OH_AVErrCode

typedef enum OH_AVErrCodeOH_AVErrCode

Description

Defines an enum that enumerates the audio and video error codes.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

OH_AVPixelFormat

typedef enum OH_AVPixelFormatOH_AVPixelFormat

Description

Defines an enum that enumerates the video pixel formats.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Enum Description

OH_AmbAttributeSet

enum OH_AmbAttributeSet

Description

Enumerates the Hi-Fi stereo reverberation settings.

Int64 integers are used to indicate the Hi-Fi stereo reverberation attributes.

System capability: SystemCapability.Multimedia.Media.Core

Since: 11

Value Description
AMB_ORD_1 First-order Hi-Fi stereo reverberation.
AMB_ORD_2 Second-order Hi-Fi stereo reverberation.
AMB_ORD_3 Third-order Hi-Fi stereo reverberation.
AMB_COM_ACN Hi-Fi stereo reverberation with ACN channel sorting.
AMB_COM_FUMA Hi-Fi stereo reverberation with FUMA channel sorting.
AMB_NOR_N3D N3D normalized Hi-Fi stereo reverberation.
AMB_NOR_SN3D SN3D normalized Hi-Fi stereo reverberation.
AMB_MODE Audio channel layout for Hi-Fi stereo reverberation.

OH_AudioChannelLayout

enum OH_AudioChannelLayout

Description

Enumerates the audio channel layouts.

Int64 integers are used to indicate the appearance and sequence of speakers during recording or playback.

System capability: SystemCapability.Multimedia.Media.Core

Since: 11

Value Description
CH_LAYOUT_UNKNOWN Unknown.
CH_LAYOUT_MONO Mono layout; 1 audio channel in total.
CH_LAYOUT_STEREO Stereo layout; 2 audio channels in total.
CH_LAYOUT_STEREO_DOWNMIX Stereo downmix layout; 2 audio channels in total.
CH_LAYOUT_2POINT1 2.1 layout; 3 audio channels in total.
CH_LAYOUT_3POINT0 3.0 layout; 3 audio channels in total.
CH_LAYOUT_SURROUND Surround; 3 audio channels in total.
CH_LAYOUT_3POINT1 3.1 layout; 4 audio channels in total.
CH_LAYOUT_4POINT0 4.0 layout; 4 audio channels in total.
CH_LAYOUT_QUAD_SIDE Quad side layout; 4 audio channels in total.
CH_LAYOUT_QUAD Quad layout; 4 audio channels in total.
CH_LAYOUT_2POINT0POINT2 2.0.2 layout; 4 audio channels in total.
CH_LAYOUT_AMB_ORDER1_ACN_N3D First-order FOA layout in ACN_N3D (ITU standards); 4 audio channels in total
CH_LAYOUT_AMB_ORDER1_ACN_SN3D First-order FOA layout in ACN_SN3D (ITU standards); 4 audio channels in total
CH_LAYOUT_AMB_ORDER1_FUMA First-order FOA layout in FUMA (ITU standards); 4 audio channels in total
CH_LAYOUT_4POINT1 4.1 layout; 5 audio channels in total.
CH_LAYOUT_5POINT0 5.0 layout; 5 audio channels in total.
CH_LAYOUT_5POINT0_BACK 5.0 rear layout; 5 audio channels in total.
CH_LAYOUT_2POINT1POINT2 2.1.2 layout; 5 audio channels in total.
CH_LAYOUT_3POINT0POINT2 3.0.2 layout; 5 audio channels in total.
CH_LAYOUT_5POINT1 5.1 layout; 6 audio channels in total.
CH_LAYOUT_5POINT1_BACK 5.1 rear layout; 6 audio channels in total.
CH_LAYOUT_6POINT0 6.0 layout; 6 audio channels in total.
CH_LAYOUT_3POINT1POINT2 3.1.2 layout; 6 audio channels in total.
CH_LAYOUT_6POINT0_FRONT 6.0 front layout; 6 audio channels in total.
CH_LAYOUT_HEXAGONAL Hexagonal layout; 6 audio channels in total.
CH_LAYOUT_6POINT1 6.1 layout; 7 audio channels in total.
CH_LAYOUT_6POINT1_BACK 6.1 rear layout; 7 audio channels in total.
CH_LAYOUT_6POINT1_FRONT 6.1 front layout; 7 audio channels in total.
CH_LAYOUT_7POINT0 7.0 layout; 7 audio channels in total.
CH_LAYOUT_7POINT0_FRONT 7.0 front layout; 7 audio channels in total.
CH_LAYOUT_7POINT1 7.1 layout; 8 audio channels in total.
CH_LAYOUT_OCTAGONAL Octagonal layout; 8 audio channels in total.
CH_LAYOUT_5POINT1POINT2 5.1.2 layout; 8 audio channels in total.
CH_LAYOUT_7POINT1_WIDE 7.1 wide layout; 8 audio channels in total.
CH_LAYOUT_7POINT1_WIDE_BACK 7.1 rear wide layout; 8 audio channels in total.
CH_LAYOUT_AMB_ORDER2_ACN_N3D Second-order HOA layout in ACN_N3D (ITU standards); 9 audio channels in total
CH_LAYOUT_AMB_ORDER2_ACN_SN3D Second-order HOA layout in ACN_SN3D (ITU standards); 9 audio channels in total
CH_LAYOUT_AMB_ORDER2_FUMA Second-order HOA layout in FUMA (ITU standards); 9 audio channels in total
CH_LAYOUT_5POINT1POINT4 5.1.4 layout; 10 audio channels in total.
CH_LAYOUT_7POINT1POINT2 7.1.2 layout; 10 audio channels in total.
CH_LAYOUT_7POINT1POINT4 7.1.4 layout; 12 audio channels in total.
CH_LAYOUT_10POINT2 10.2 layout; 12 audio channels in total.
CH_LAYOUT_9POINT1POINT4 9.1.4 layout; 14 audio channels in total.
CH_LAYOUT_9POINT1POINT6 9.1.6 layout; 16 audio channels in total.
CH_LAYOUT_HEXADECAGONAL Hexadecagonal layout; 16 audio channels in total.
CH_LAYOUT_AMB_ORDER3_ACN_N3D Third-order HOA layout in ACN_N3D (ITU standards); 16 audio channels in total
CH_LAYOUT_AMB_ORDER3_ACN_SN3D Third-order HOA layout in ACN_SN3D (ITU standards); 16 audio channels in total
CH_LAYOUT_AMB_ORDER3_FUMA Third-order HOA layout in FUMA (ITU standards); 16 audio channels in total
CH_LAYOUT_22POINT2 22.2 layout; 24 audio channels in total.

OH_AudioChannelSet

enum OH_AudioChannelSet

Description

Enumerates the audio channel sets.

Each audio channel is mapped to an int64 variable.

System capability: SystemCapability.Multimedia.Media.Core

Since: 11

Value Description
CH_SET_FRONT_LEFT Front left channel.
CH_SET_FRONT_RIGHT Front right channel
CH_SET_FRONT_CENTER Front center channel.
CH_SET_LOW_FREQUENCY Low-frequency channel.
CH_SET_BACK_LEFT Rear left channel.
CH_SET_BACK_RIGHT Rear right channel
CH_SET_FRONT_LEFT_OF_CENTER Front left center channel.
CH_SET_FRONT_RIGHT_OF_CENTER Front right center channel.
CH_SET_BACK_CENTER Rear center channel.
CH_SET_SIDE_LEFT Left channel.
CH_SET_SIDE_RIGHT Right channel.
CH_SET_TOP_CENTER Top center channel.
CH_SET_TOP_FRONT_LEFT Top left front channel.
CH_SET_TOP_FRONT_CENTER Top center front channel.
CH_SET_TOP_FRONT_RIGHT Top right front channel.
CH_SET_TOP_BACK_LEFT Top left rear channel.
CH_SET_TOP_BACK_CENTER Top center rear channel.
CH_SET_TOP_BACK_RIGHT Top right rear channel.
CH_SET_STEREO_LEFT Stereo left channel.
CH_SET_STEREO_RIGHT Stereo right channel.
CH_SET_WIDE_LEFT Wide left channel.
CH_SET_WIDE_RIGHT Wide right channel.
CH_SET_SURROUND_DIRECT_LEFT Left surround channel.
CH_SET_SURROUND_DIRECT_RIGHT Right surround channel.
CH_SET_LOW_FREQUENCY_2 Low-frequency channel 2.
CH_SET_TOP_SIDE_LEFT Top left channel.
CH_SET_TOP_SIDE_RIGHT Top right channel.
CH_SET_BOTTOM_FRONT_CENTER Bottom center front channel.
CH_SET_BOTTOM_FRONT_LEFT Bottom left front channel.
CH_SET_BOTTOM_FRONT_RIGHT Bottom right front channel.

OH_AVCodecBufferFlags

enum OH_AVCodecBufferFlags

Description

Enumerates the flags for the buffer of an OH_AVCodec instance.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Value Description
AVCODEC_BUFFER_FLAGS_NONE Common frame.
AVCODEC_BUFFER_FLAGS_EOS The buffer is an end-of-stream frame.
AVCODEC_BUFFER_FLAGS_SYNC_FRAME The buffer contains key frames.
AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME The data in the buffer is only part of the frame.
AVCODEC_BUFFER_FLAGS_CODEC_DATA The buffer contains codec-specific data.

OH_AVErrCode

enum OH_AVErrCode

Description

Enumerates the audio and video error codes.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Value Description
AV_ERR_OK Operation successful.
AV_ERR_NO_MEMORY No memory.
AV_ERR_OPERATE_NOT_PERMIT Operation not allowed.
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 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 video pixel formats.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Value Description
AV_PIXEL_FORMAT_YUVI420 YUV 420 Planar.
AV_PIXEL_FORMAT_NV12 NV12. YUV 420 semi-planar.
AV_PIXEL_FORMAT_NV21 NV21. YUV 420 semi-planar.
AV_PIXEL_FORMAT_SURFACE_FORMAT Surface.
AV_PIXEL_FORMAT_RGBA RGBA8888.

Function Description

OH_AVBuffer_Create()

OH_AVBuffer* OH_AVBuffer_Create (int32_t capacity)

Description

Creates an OH_AVBuffer instance. The caller must call OH_AVBuffer_Destroy to manually release the OH_AVBuffer instance returned.

System capability: SystemCapability.Multimedia.Media.Core

Since: 11

Parameters

Name Description
capacity Size of the created memory, in bytes.

Returns

Returns the pointer to the OH_AVBuffer instance created if the operation is successful; returns a null pointer otherwise.

OH_AVBuffer_Destroy()

OH_AVErrCode OH_AVBuffer_Destroy (OH_AVBuffer *buffer)

Description

Releases an OH_AVBuffer instance.

System capability: SystemCapability.Multimedia.Media.Core

Since: 11

Parameters

Name Description
buffer Pointer to an OH_AVBuffer instance.

Returns

Returns AV_ERR_OK if the operation is successful; returns an error code defined in OH_AVErrCode otherwise.

OH_AVBuffer_GetAddr()

uint8_t* OH_AVBuffer_GetAddr (OH_AVBuffer *buffer)

Description

Obtains the virtual address of a data buffer.

System capability: SystemCapability.Multimedia.Media.Core

Since: 11

Parameters

Name Description
buffer Pointer to an OH_AVBuffer instance.

Returns

Returns the virtual address if the operation is successful; returns a null pointer otherwise.

OH_AVBuffer_GetBufferAttr()

OH_AVErrCode OH_AVBuffer_GetBufferAttr (OH_AVBuffer *buffer, OH_AVCodecBufferAttr *attr)

Description

Obtains the high-frequency attribute of a data buffer.

System capability: SystemCapability.Multimedia.Media.Core

Since: 11

Parameters

Name Description
buffer Pointer to an OH_AVBuffer instance.
attr Pointer to an OH_AVCodecBufferAttr instance.

Returns

Returns AV_ERR_OK if the operation is successful; returns an error code defined in OH_AVErrCode otherwise.

OH_AVBuffer_GetCapacity()

int32_t OH_AVBuffer_GetCapacity (OH_AVBuffer *buffer)

Description

Obtains the capacity of a data buffer.

System capability: SystemCapability.Multimedia.Media.Core

Since: 11

Parameters

Name Description
buffer Pointer to an OH_AVBuffer instance.

Returns

Returns the capacity if the operation is successful; returns -1 otherwise.

OH_AVBuffer_GetNativeBuffer()

OH_NativeBuffer* OH_AVBuffer_GetNativeBuffer (OH_AVBuffer *buffer)

Description

Obtains the pointer of an OH_NativeBuffer instance. The caller must call OH_NativeBuffer_Unreference to manually release the OH_NativeBuffer instance returned.

System capability: SystemCapability.Multimedia.Media.Core

Since: 11

Parameters

Name Description
buffer Pointer to an OH_AVBuffer instance.

Returns

Returns the pointer to the OH_NativeBuffer instance created if the operation is successful; returns a null pointer otherwise.

OH_AVBuffer_GetParameter()

OH_AVFormat* OH_AVBuffer_GetParameter (OH_AVBuffer *buffer)

Description

Obtains the frame parameter of a data buffer. The caller must call OH_AVFormat_Destroy to manually release the OH_AVFormat instance returned.

System capability: SystemCapability.Multimedia.Media.Core

Since: 11

Parameters

Name Description
buffer Pointer to an OH_AVBuffer instance.

Returns

Returns AV_ERR_OK if the operation is successful; returns an error code defined in OH_AVErrCode otherwise.

OH_AVBuffer_SetBufferAttr()

OH_AVErrCode OH_AVBuffer_SetBufferAttr (OH_AVBuffer *buffer, const OH_AVCodecBufferAttr *attr)

Description

Sets the high-frequency attribute for a data buffer.

System capability: SystemCapability.Multimedia.Media.Core

Since: 11

Parameters

Name Description
buffer Pointer to an OH_AVBuffer instance.
attr Pointer to an OH_AVCodecBufferAttr instance.

Returns

Returns AV_ERR_OK if the operation is successful; returns an error code defined in OH_AVErrCode otherwise.

OH_AVBuffer_SetParameter()

OH_AVErrCode OH_AVBuffer_SetParameter (OH_AVBuffer *buffer, const OH_AVFormat *format)

Description

Sets the frame parameter for a data buffer.

System capability: SystemCapability.Multimedia.Media.Core

Since: 11

Parameters

Name Description
buffer Pointer to an OH_AVBuffer instance.
format Pointer to an OH_AVFormat instance.

Returns

Returns AV_ERR_OK if the operation is successful; returns an error code defined in OH_AVErrCode otherwise.

OH_AVFormat_Copy()

bool OH_AVFormat_Copy (struct OH_AVFormat *to, struct OH_AVFormat *from)

Description

Copies an OH_AVFormat instance.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Parameters

Name Description
to Handle to the OH_AVFormat instance to which the data will be copied.
from Handle to the OH_AVFormat instance from which the data will be copied.

Returns

Returns true if the operation is successful; returns false otherwise.

OH_AVFormat_Create()

struct OH_AVFormat* OH_AVFormat_Create (void)

Description

Creates an OH_AVFormat instance for reading data.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Returns

Returns the pointer to an OH_AVFormat instance.

OH_AVFormat_CreateAudioFormat()

struct OH_AVFormat* OH_AVFormat_CreateAudioFormat (const char *mimeType, int32_t sampleRate, int32_t channelCount)

Description

Creates an audio OH_AVFormat instance for reading and writing data.

System capability: SystemCapability.Multimedia.Media.Core

Since: 10

Parameters

Name Description
mimeType Pointer to a string that describes the MIME type. For details, see AVCODEC_MIMETYPE.
sampleRate Sampling rate, in Hz.
channelCount Number of audio channels. For example, 1 indicates mono and 2 indicates stereo.

Returns

Returns the pointer to an OH_AVFormat instance.

OH_AVFormat_CreateVideoFormat()

struct OH_AVFormat* OH_AVFormat_CreateVideoFormat (const char *mimeType, int32_t width, int32_t height)

Description

Creates a video OH_AVFormat instance for reading and writing data.

System capability: SystemCapability.Multimedia.Media.Core

Since: 10

Parameters

Name Description
mimeType Pointer to a string that describes the MIME type. For details, see AVCODEC_MIMETYPE.
width Video width, in pixels.
height Video height, in pixels.

Returns

Returns the pointer to an OH_AVFormat instance.

OH_AVFormat_Destroy()

void OH_AVFormat_Destroy (struct OH_AVFormat *format)

Description

Destroys an OH_AVFormat instance.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Parameters

Name Description
format Pointer to an OH_AVFormat instance.

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.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Parameters

Name Description
format Pointer to an OH_AVFormat instance.

Returns

Returns the pointer to a collection 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 blocks of a specified length from an OH_AVFormat instance.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Parameters

Name Description
format Pointer to an OH_AVFormat instance.
key Pointer to the key of the data to read.
addr 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 Pointer to the size of the data read.

Returns

Returns true if the operation is successful; returns false otherwise.

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.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Parameters

Name Description
format Pointer to an OH_AVFormat instance.
key Pointer to the key of the data to read.
out Pointer to the value of the data read.

Returns

Returns true if the operation is successful; returns false otherwise.

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.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Parameters

Name Description
format Pointer to an OH_AVFormat instance.
key Pointer to the key of the data to read.
out Pointer to the value of the data read.

Returns

Returns true if the operation is successful; returns false otherwise.

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.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Parameters

Name Description
format Pointer to an OH_AVFormat instance.
key Pointer to the key of the data to read.
out Pointer to the value of the data read.

Returns

Returns true if the operation is successful; returns false otherwise.

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.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Parameters

Name Description
format Pointer to an OH_AVFormat instance.
key Pointer to the key of the data to read.
out Pointer to the value of the data read.

Returns

Returns true if the operation is successful; returns false otherwise.

OH_AVFormat_GetStringValue()

bool OH_AVFormat_GetStringValue (struct OH_AVFormat *format, const char *key, const char ** out)

Description

Reads data of the string type from an OH_AVFormat instance.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Parameters

Name Description
format Pointer to an OH_AVFormat instance.
key Pointer to the key of the data to read.
out Double pointer to the data read. 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.

Returns

Returns true if the operation is successful; returns false otherwise.

OH_AVFormat_SetBuffer()

bool OH_AVFormat_SetBuffer (struct OH_AVFormat *format, const char *key, const uint8_t *addr, size_t size)

Description

Writes data blocks of a specified length to an OH_AVFormat instance.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Parameters

Name Description
format Pointer to an OH_AVFormat instance.
key Pointer to the key of the data to write.
addr Pointer to the address where the data is written.
size Size of the data written.

Returns

Returns true if the operation is successful; returns false otherwise.

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.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Parameters

Name Description
format Pointer to an OH_AVFormat instance.
key Pointer to the key of the data to write.
value Value of the data to write.

Returns

Returns true if the operation is successful; returns false otherwise.

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.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Parameters

Name Description
format Pointer to an OH_AVFormat instance.
key Pointer to the key of the data to write.
value Value of the data to write.

Returns

Returns true if the operation is successful; returns false otherwise.

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.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Parameters

Name Description
format Pointer to an OH_AVFormat instance.
key Pointer to the key of the data to write.
value Value of the data to write.

Returns

Returns true if the operation is successful; returns false otherwise.

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.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Parameters

Name Description
format Pointer to an OH_AVFormat instance.
key Pointer to the key of the data to write.
value Value of the data to write.

Returns

Returns true if the operation is successful; returns false otherwise.

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.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Parameters

Name Description
format Pointer to an OH_AVFormat instance.
key Pointer to the key of the data to write.
value Value of the data to write.

Returns

Returns true if the operation is successful; returns false otherwise.

OH_AVMemory_Create()

OH_AVMemory* OH_AVMemory_Create (int32_t size)

Description

Creates an OH_AVMemory instance.

System capability: SystemCapability.Multimedia.Media.Core

Since: 10

Deprecated from: 11

Substitute: OH_AVBuffer_Create

Parameters

Name Description
size Size of the created memory, in bytes.

Returns

Returns the pointer to the OH_AVMemory instance created if the operation is successful; returns a null pointer otherwise. The instance must be released by calling OH_AVMemory_Destroy when it is no longer required.

OH_AVMemory_Destroy()

OH_AVErrCode OH_AVMemory_Destroy (struct OH_AVMemory *mem)

Description

Releases an OH_AVMemory instance.

System capability: SystemCapability.Multimedia.Media.Core

Since: 10

Deprecated from: 11

Substitute: OH_AVBuffer_Destroy

Parameters

Name Description
mem Pointer to an OH_AVMemory instance.

Returns

Returns AV_ERR_OK if the operation is successful; returns an error code defined in OH_AVErrCode otherwise.

OH_AVMemory_GetAddr()

uint8_t* OH_AVMemory_GetAddr (struct OH_AVMemory *mem)

Description

Obtains the virtual memory address of an OH_AVMemory instance.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Deprecated from: 11

Substitute: OH_AVBuffer_GetAddr

Parameters

Name Description
mem Pointer to an OH_AVMemory instance.

Returns

Returns the pointer to the virtual memory address if the memory is valid; returns a null pointer otherwise.

OH_AVMemory_GetSize()

int32_t OH_AVMemory_GetSize (struct OH_AVMemory *mem)

Description

Obtains the memory size of an OH_AVMemory instance.

System capability: SystemCapability.Multimedia.Media.Core

Since: 9

Deprecated from: 11

Substitute: OH_AVBuffer_GetCapacity

Parameters

Name Description
mem Pointer to an OH_AVMemory instance.

Returns

Returns the memory size if the memory is valid; returns -1 otherwise.