diff --git a/zh-cn/application-dev/reference/native-apis/Readme-CN.md b/zh-cn/application-dev/reference/native-apis/Readme-CN.md
index a09c6b6f5ad2499ec5e958db3a8cf4a8bf1b19e2..e7ac744608589679f5d677b1409660abad3a731a 100644
--- a/zh-cn/application-dev/reference/native-apis/Readme-CN.md
+++ b/zh-cn/application-dev/reference/native-apis/Readme-CN.md
@@ -13,12 +13,15 @@
- [RDB](_r_d_b.md)
- [MindSpore](_mind_spore.md)
- [NeuralNeworkRuntime](_neural_nework_runtime.md)
+ - [AVCapability](_a_v_capability.md)
- [AudioDecoder](_audio_decoder.md)
- [AudioEncoder](_audio_encoder.md)
- [CodecBase](_codec_base.md)
+ - [Core](_core.md)
- [VideoDecoder](_video_decoder.md)
- [VideoEncoder](_video_encoder.md)
- - [Core](_core.md)
+ - [AVDemuxer](_a_v_demuxer.md)
+ - [AVSource](_a_v_source.md)
- [HuksKeyApi](_huks_key_api.md)
- [HuksParamSetApi](_huks_param_set_api.md)
- [HuksTypeApi](_huks_type_api.md)
@@ -56,14 +59,18 @@
- [types.h](types_8h.md)
- [neural_network_runtime_type.h](neural__network__runtime__type_8h.md)
- [neural_network_runtime.h](neural__network__runtime_8h.md)
+ - [avcodec_audio_channel_layout.h](avcodec__audio__channel__layout_8h.md)
+ - [native_avcapability.h](native__avcapability_8h.md)
- [native_avcodec_audiodecoder.h](native__avcodec__audiodecoder_8h.md)
- [native_avcodec_audioencoder.h](native__avcodec__audioencoder_8h.md)
- [native_avcodec_base.h](native__avcodec__base_8h.md)
- [native_avcodec_videodecoder.h](native__avcodec__videodecoder_8h.md)
- [native_avcodec_videoencoder.h](native__avcodec__videoencoder_8h.md)
+ - [native_avdemuxer.h](native__avdemuxer_8h.md)
- [native_averrors.h](native__averrors_8h.md)
- [native_avformat.h](native__avformat_8h.md)
- [native_avmemory.h](native__avmemory_8h.md)
+ - [native_avsource.h](native__avsource_8h.md)
- [native_huks_api.h](native__huks__api_8h.md)
- [native_huks_param.h](native__huks__param_8h.md)
- [native_huks_type.h](native__huks__type_8h.md)
@@ -102,6 +109,7 @@
- [OH_NN_UInt32Array](_o_h___n_n___u_int32_array.md)
- [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)
- [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)
+ - [OH_AVRange](_o_h___a_v_range.md)
- [OH_Huks_Blob](_o_h___huks___blob.md)
- [OH_Huks_CertChain](_o_h___huks___cert_chain.md)
- [OH_Huks_KeyInfo](_o_h___huks___key_info.md)
diff --git a/zh-cn/application-dev/reference/native-apis/_a_v_capability.md b/zh-cn/application-dev/reference/native-apis/_a_v_capability.md
new file mode 100644
index 0000000000000000000000000000000000000000..05ac40eadd844a92327d362738a0841c6190d469
--- /dev/null
+++ b/zh-cn/application-dev/reference/native-apis/_a_v_capability.md
@@ -0,0 +1,933 @@
+# AVCapability
+
+
+## 概述
+
+AVCapability模块提供用于编解码能力查询的函数。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**起始版本:**
+
+10
+
+
+## 汇总
+
+
+### 文件
+
+| 名称 | 描述 |
+| -------- | -------- |
+| [native_avcapability.h](native__avcapability_8h.md) | 声明用于编解码能力查询到的Native API。
引用文件: |
+
+
+### 结构体
+
+| 名称 | 描述 |
+| -------- | -------- |
+| [OH_AVRange](_o_h___a_v_range.md) | 范围包含最小值和最大值。 |
+
+
+### 类型定义
+
+| 名称 | 描述 |
+| -------- | -------- |
+| [OH_BitrateMode](#oh_bitratemode) | 编码器的比特率模式。 |
+| [OH_AVRange](#oh_avrange) | 范围包含最小值和最大值。 |
+| [OH_AVCodecCategory](#oh_avcodeccategory) | 编解码器类别。 |
+
+
+### 枚举
+
+| 名称 | 描述 |
+| -------- | -------- |
+| [OH_BitrateMode](#oh_bitratemode) { **BITRATE_MODE_CBR** = 0, **BITRATE_MODE_VBR** = 1, **BITRATE_MODE_CQ** = 2 } | 编码器的比特率模式。 |
+| [OH_AVCodecCategory](#oh_avcodeccategory) { **HARDWARE** = 0, **SOFTWARE** } | 编解码器类别。 |
+
+
+### 函数
+
+| 名称 | 描述 |
+| -------- | -------- |
+| \*[OH_AVCodec_GetCapability](#oh_avcodec_getcapability) (const char \*mime, bool isEncoder) | 获取系统推荐的编解码器能力。 |
+| \*[OH_AVCodec_GetCapabilityByCategory](#oh_avcodec_getcapabilitybycategory) (const char \*mime, bool isEncoder, [OH_AVCodecCategory](#oh_avcodeccategory) category) | 获取指定类别中的编解码器能力。通过指定类别, 匹配的编解码器仅限于硬件编解码器或软件编解码器。 |
+| [OH_AVCapability_IsHardware](#oh_avcapability_ishardware) (OH_AVCapability \*capability) | 检查能力实例是否描述了硬件编解码器。 |
+| \*[OH_AVCapability_GetName](#oh_avcapability_getname) (OH_AVCapability \*capability) | 获取编解码器名称。 |
+| [OH_AVCapability_GetMaxSupportedInstances](#oh_avcapability_getmaxsupportedinstances) (OH_AVCapability \*capability) | 获取编解码器支持的最大实例数。 |
+| [OH_AVCapability_GetEncoderBitrateRange](#oh_avcapability_getencoderbitraterange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*bitrateRange) | 获取编码器支持的比特率范围。 |
+| [OH_AVCapability_IsEncoderBitrateModeSupported](#oh_avcapability_isencoderbitratemodesupported) (OH_AVCapability \*capability, [OH_BitrateMode](#oh_bitratemode) bitrateMode) | 检查编码器是否支持特定的比特率模式。 |
+| [OH_AVCapability_GetEncoderQualityRange](#oh_avcapability_getencoderqualityrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*qualityRange) | 获取编码器支持的质量范围。 |
+| [OH_AVCapability_GetEncoderComplexityRange](#oh_avcapability_getencodercomplexityrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*complexityRange) | 获取编码器支持的编码器复杂性范围。 |
+| [OH_AVCapability_GetAudioSupportedSampleRates](#oh_avcapability_getaudiosupportedsamplerates) (OH_AVCapability \*capability, const int32_t \*\*sampleRates, uint32_t \*sampleRateNum) | 获取音频编解码器支持的采样速率。 |
+| [OH_AVCapability_GetAudioChannelCountRange](#oh_avcapability_getaudiochannelcountrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*channelCountRange) | 获取音频编解码器支持的音频通道计数范围。 |
+| [OH_AVCapability_GetVideoWidthAlignment](#oh_avcapability_getvideowidthalignment) (OH_AVCapability \*capability, int32_t \*widthAlignment) | 获取视频编解码器支持的视频宽度对齐。 |
+| [OH_AVCapability_GetVideoHeightAlignment](#oh_avcapability_getvideoheightalignment) (OH_AVCapability \*capability, int32_t \*heightAlignment) | 获取视频编解码器支持的视频高度对齐。 |
+| [OH_AVCapability_GetVideoWidthRangeForHeight](#oh_avcapability_getvideowidthrangeforheight) (OH_AVCapability \*capability, int32_t height, [OH_AVRange](_o_h___a_v_range.md) \*widthRange) | 获取指定高度情况下视频编解码器支持的视频宽度范围。 |
+| [OH_AVCapability_GetVideoHeightRangeForWidth](#oh_avcapability_getvideoheightrangeforwidth) (OH_AVCapability \*capability, int32_t width, [OH_AVRange](_o_h___a_v_range.md) \*heightRange) | 获取指定宽度情况下视频编解码器支持的视频高度范围。 |
+| [OH_AVCapability_GetVideoWidthRange](#oh_avcapability_getvideowidthrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*widthRange) | 获取视频编解码器支持的视频宽度范围。 |
+| [OH_AVCapability_GetVideoHeightRange](#oh_avcapability_getvideoheightrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*heightRange) | 获取视频编解码器支持的视频高度范围。 |
+| [OH_AVCapability_IsVideoSizeSupported](#oh_avcapability_isvideosizesupported) (OH_AVCapability \*capability, int32_t width, int32_t height) | 检查视频编解码器是否支持特定的视频大小。 |
+| [OH_AVCapability_GetVideoFrameRateRange](#oh_avcapability_getvideoframeraterange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*frameRateRange) | 获取视频编解码器支持的视频帧率范围。 |
+| [OH_AVCapability_GetVideoFrameRateRangeForSize](#oh_avcapability_getvideoframeraterangeforsize) (OH_AVCapability \*capability, int32_t width, int32_t height, [OH_AVRange](_o_h___a_v_range.md) \*frameRateRange) | 获取指定视频大小的视频编解码器支持的视频帧率范围。 |
+| [OH_AVCapability_AreVideoSizeAndFrameRateSupported](#oh_avcapability_arevideosizeandframeratesupported) (OH_AVCapability \*capability, int32_t width, int32_t height, int32_t frameRate) | 检查视频编解码器是否支持视频大小和帧率的特定组合。 |
+| [OH_AVCapability_GetVideoSupportedPixelFormats](#oh_avcapability_getvideosupportedpixelformats) (OH_AVCapability \*capability, const int32_t \*\*pixelFormats, uint32_t \*pixelFormatNum) | 获取视频编解码器支持的视频像素格式。 |
+| [OH_AVCapability_GetSupportedProfiles](#oh_avcapability_getsupportedprofiles) (OH_AVCapability \*capability, const int32_t \*\*profiles, uint32_t \*profileNum) | 获取编解码器支持的配置文件。 |
+| [OH_AVCapability_GetSupportedLevelsForProfile](#oh_avcapability_getsupportedlevelsforprofile) (OH_AVCapability \*capability, int32_t profile, const int32_t \*\*levels, uint32_t \*levelNum) | 获取特定配置文件支持的编解码器级别。 |
+| [OH_AVCapability_AreProfileAndLevelSupported](#oh_avcapability_areprofileandlevelsupported) (OH_AVCapability \*capability, int32_t profile, int32_t level) | 检查编解码器是否支持配置文件和级别的特定组合。 |
+
+
+### 变量
+
+| 名称 | 描述 |
+| -------- | -------- |
+| **OH_AVRange::minVal** | 范围下限 |
+| **OH_AVRange::maxVal** | 范围上限 |
+
+
+## 类型定义说明
+
+
+### OH_AVCodecCategory
+
+
+```
+typedef enum OH_AVCodecCategoryOH_AVCodecCategory
+```
+
+**描述:**
+
+编解码器类别。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**起始版本:**
+
+10
+
+
+### OH_AVRange
+
+
+```
+typedef struct OH_AVRangeOH_AVRange
+```
+
+**描述:**
+
+范围包含最小值和最大值。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**起始版本:**
+
+10
+
+
+### OH_BitrateMode
+
+
+```
+typedef enum OH_BitrateModeOH_BitrateMode
+```
+
+**描述:**
+
+编码器的比特率模式。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**起始版本:**
+
+10
+
+
+## 枚举类型说明
+
+
+### OH_AVCodecCategory
+
+
+```
+enum OH_AVCodecCategory
+```
+
+**描述:**
+
+编解码器类别。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**起始版本:**
+
+10
+
+| 枚举值 | 描述 |
+| -------- | -------- |
+| HARDWARE | 硬件编解码。 |
+| SOFTWARE | 软件编解码。 |
+
+
+### OH_BitrateMode
+
+
+```
+enum OH_BitrateMode
+```
+
+**描述:**
+
+编码器的比特率模式。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**起始版本:**
+
+10
+
+| 枚举值 | 描述 |
+| -------- | -------- |
+| BITRATE_MODE_CBR | 恒定比特率模式。 |
+| BITRATE_MODE_VBR | 可变比特率模式。 |
+| BITRATE_MODE_CQ | 恒定质量模式。 |
+
+
+## 函数说明
+
+
+### OH_AVCapability_AreProfileAndLevelSupported()
+
+
+```
+bool OH_AVCapability_AreProfileAndLevelSupported (OH_AVCapability *capability, int32_t profile, int32_t level )
+```
+
+**描述:**
+
+检查编解码器是否支持配置文件和级别的特定组合。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 编解码能力指针 |
+| profile | 编解码器配置文件 |
+| level | 编解码器级别 |
+
+**返回:**
+
+如果支持配置文件和级别的组合,则返回true。 如果不支持,则为false。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_AreVideoSizeAndFrameRateSupported()
+
+
+```
+bool OH_AVCapability_AreVideoSizeAndFrameRateSupported (OH_AVCapability *capability, int32_t width, int32_t height, int32_t frameRate )
+```
+
+**描述:**
+
+检查视频编解码器是否支持视频大小和帧率的特定组合。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
+| width | 视频水平像素数。 |
+| height | 视频垂直像素数。 |
+| frameRate | 每秒帧数。 |
+
+**返回:**
+
+如果支持视频大小和帧率的组合,则返回true。 如果不支持,则为false。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_GetAudioChannelCountRange()
+
+
+```
+OH_AVErrCode OH_AVCapability_GetAudioChannelCountRange (OH_AVCapability * capability, OH_AVRange * channelCountRange )
+```
+
+**描述:**
+
+获取音频编解码器支持的音频通道计数范围。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 音频编解码能力指针。不能填入视频编解码器能力指针。 |
+| channelCountRange | 输出参数。音频通道计数范围。 |
+
+**返回:**
+
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_GetAudioSupportedSampleRates()
+
+
+```
+OH_AVErrCode OH_AVCapability_GetAudioSupportedSampleRates (OH_AVCapability * capability, const int32_t ** sampleRates, uint32_t * sampleRateNum )
+```
+
+**描述:**
+
+获取音频编解码器支持的采样速率。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 音频编解码能力指针。不能填入视频编解码器能力指针。 |
+| sampleRates | 输出参数。指向采样速率数组的指针。 |
+| sampleRateNum | 输出参数。采样率数组的元素数目。 |
+
+**返回:**
+
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_GetEncoderBitrateRange()
+
+
+```
+OH_AVErrCode OH_AVCapability_GetEncoderBitrateRange (OH_AVCapability * capability, OH_AVRange * bitrateRange )
+```
+
+**描述:**
+
+获取编码器支持的比特率范围。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 编码器能力指针。不能填入解码器能力指针。 |
+| bitrateRange | 输出参数。编码器码率范围。 |
+
+**返回:**
+
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_GetEncoderComplexityRange()
+
+
+```
+OH_AVErrCode OH_AVCapability_GetEncoderComplexityRange (OH_AVCapability * capability, OH_AVRange * complexityRange )
+```
+
+**描述:**
+
+获取编码器支持的编码器复杂性范围。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 编码器能力指针。不能填入解码器能力指针。 |
+| complexityRange | 输出参数。编码器复杂度范围。 |
+
+**返回:**
+
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_GetEncoderQualityRange()
+
+
+```
+OH_AVErrCode OH_AVCapability_GetEncoderQualityRange (OH_AVCapability * capability, OH_AVRange * qualityRange )
+```
+
+**描述:**
+
+获取编码器支持的质量范围。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 编码器能力指针。不能填入解码器能力指针。 |
+| qualityRange | 输出参数。编码器质量范围。 |
+
+**返回:**
+
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_GetMaxSupportedInstances()
+
+
+```
+int32_t OH_AVCapability_GetMaxSupportedInstances (OH_AVCapability * capability)
+```
+
+**描述:**
+
+获取编解码器支持的最大实例数。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 编解码能力指针。 |
+
+**返回:**
+
+返回支持的最大编解码器实例数。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_GetName()
+
+
+```
+const char* OH_AVCapability_GetName (OH_AVCapability * capability)
+```
+
+**描述:**
+
+获取编解码器名称。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 编解码能力指针。 |
+
+**返回:**
+
+返回编解码器名称字符串。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_GetSupportedLevelsForProfile()
+
+
+```
+OH_AVErrCode OH_AVCapability_GetSupportedLevelsForProfile (OH_AVCapability * capability, int32_t profile, const int32_t ** levels, uint32_t * levelNum )
+```
+
+**描述:**
+
+获取特定配置文件支持的编解码器级别。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 编解码能力指针。 |
+| profile | 编解码器配置文件。 |
+| levels | 输出参数。指向级别数组的指针。 |
+| levelNum | 输出参数。级别数组的元素数目。 |
+
+**返回:**
+
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_GetSupportedProfiles()
+
+
+```
+OH_AVErrCode OH_AVCapability_GetSupportedProfiles (OH_AVCapability * capability, const int32_t ** profiles, uint32_t * profileNum )
+```
+
+**描述:**
+
+获取编解码器支持的配置文件。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 编解码能力指针。 |
+| profiles | 输出参数。指向配置文件数组的指针。 |
+| profileNum | 输出参数。配置文件数组的元素数目。 |
+
+**返回:**
+
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_GetVideoFrameRateRange()
+
+
+```
+OH_AVErrCode OH_AVCapability_GetVideoFrameRateRange (OH_AVCapability * capability, OH_AVRange * frameRateRange )
+```
+
+**描述:**
+
+获取视频编解码器支持的视频帧率范围。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
+| frameRateRange | 输出参数。视频帧率范围。 |
+
+**返回:**
+
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_GetVideoFrameRateRangeForSize()
+
+
+```
+OH_AVErrCode OH_AVCapability_GetVideoFrameRateRangeForSize (OH_AVCapability * capability, int32_t width, int32_t height, OH_AVRange * frameRateRange )
+```
+
+**描述:**
+
+获取指定视频大小的视频编解码器支持的视频帧率范围。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
+| width | 视频水平像素数。 |
+| height | 视频垂直像素数。 |
+| frameRateRange | 输出参数。视频帧率范围。 |
+
+**返回:**
+
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_GetVideoHeightAlignment()
+
+
+```
+OH_AVErrCode OH_AVCapability_GetVideoHeightAlignment (OH_AVCapability * capability, int32_t * heightAlignment )
+```
+
+**描述:**
+
+获取视频编解码器支持的视频高度对齐。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
+| heightAlignment | 输出参数。视频高度对齐。 |
+
+**返回:**
+
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_GetVideoHeightRange()
+
+
+```
+OH_AVErrCode OH_AVCapability_GetVideoHeightRange (OH_AVCapability * capability, OH_AVRange * heightRange )
+```
+
+**描述:**
+
+获取视频编解码器支持的视频高度范围。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
+| heightRange | 输出参数。视频高度范围。 |
+
+**返回:**
+
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_GetVideoHeightRangeForWidth()
+
+
+```
+OH_AVErrCode OH_AVCapability_GetVideoHeightRangeForWidth (OH_AVCapability * capability, int32_t width, OH_AVRange * heightRange )
+```
+
+**描述:**
+
+获取指定宽度情况下视频编解码器支持的视频高度范围。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
+| width | 视频水平像素数。 |
+| heightRange | 输出参数。视频高度范围。 |
+
+**返回:**
+
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_GetVideoSupportedPixelFormats()
+
+
+```
+OH_AVErrCode OH_AVCapability_GetVideoSupportedPixelFormats (OH_AVCapability * capability, const int32_t ** pixelFormats, uint32_t * pixelFormatNum )
+```
+
+**描述:**
+
+获取视频编解码器支持的视频像素格式。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
+| pixelFormats | 输出参数。指向视频像素格式数组的指针。 |
+| pixelFormatNum | 输出参数。像素格式数组的元素数目。 |
+
+**返回:**
+
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_GetVideoWidthAlignment()
+
+
+```
+OH_AVErrCode OH_AVCapability_GetVideoWidthAlignment (OH_AVCapability * capability, int32_t * widthAlignment )
+```
+
+**描述:**
+
+获取视频编解码器支持的视频宽度对齐。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
+| widthAlignment | 输出参数。视频宽度对齐 |
+
+**返回:**
+
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_GetVideoWidthRange()
+
+
+```
+OH_AVErrCode OH_AVCapability_GetVideoWidthRange (OH_AVCapability * capability, OH_AVRange * widthRange )
+```
+
+**描述:**
+
+获取视频编解码器支持的视频宽度范围。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
+| widthRange | 输出参数。视频宽度范围 |
+
+**返回:**
+
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_GetVideoWidthRangeForHeight()
+
+
+```
+OH_AVErrCode OH_AVCapability_GetVideoWidthRangeForHeight (OH_AVCapability * capability, int32_t height, OH_AVRange * widthRange )
+```
+
+**描述:**
+
+获取指定高度情况下视频编解码器支持的视频宽度范围。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
+| height | 视频垂直像素数。 |
+| widthRange | 输出参数。视频宽度范围。 |
+
+**返回:**
+
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_IsEncoderBitrateModeSupported()
+
+
+```
+bool OH_AVCapability_IsEncoderBitrateModeSupported (OH_AVCapability * capability, OH_BitrateMode bitrateMode )
+```
+
+**描述:**
+
+检查编码器是否支持特定的比特率模式。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 编码器能力指针。不能填入解码器能力指针。 |
+| bitrateMode | 比特率模式。 |
+
+**返回:**
+
+如果支持该比特率模式,则返回true;如果不支持该比特率模式,则返回false。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_IsHardware()
+
+
+```
+bool OH_AVCapability_IsHardware (OH_AVCapability * capability)
+```
+
+**描述:**
+
+检查能力实例是否描述了硬件编解码器。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 编解码能力指针。 |
+
+**返回:**
+
+如果能力实例描述的是硬件编解码器,则返回true, 如果功能实例描述的是软件编解码器,则为false。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCapability_IsVideoSizeSupported()
+
+
+```
+bool OH_AVCapability_IsVideoSizeSupported (OH_AVCapability * capability, int32_t width, int32_t height )
+```
+
+**描述:**
+
+检查视频编解码器是否支持特定的视频大小。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| capability | 视频编解码能力指针。不能填入音频编解码器能力指针。 |
+| width | 视频水平像素数。 |
+| height | 视频垂直像素数。 |
+
+**返回:**
+
+如果支持该视频大小,则返回true,如果不支持该视频大小,则返回false。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCodec_GetCapability()
+
+
+```
+OH_AVCapability* OH_AVCodec_GetCapability (const char * mime, bool isEncoder )
+```
+
+**描述:**
+
+获取系统推荐的编解码器能力。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| mime | MIME类型。 |
+| isEncoder | 编码器为true,解码器为false。 |
+
+**返回:**
+
+如果现有编解码器匹配,则返回能力实例, 如果指定的MIME类型与任何现有编解码器不匹配,则返回NULL。
+
+**起始版本:**
+
+10
+
+
+### OH_AVCodec_GetCapabilityByCategory()
+
+
+```
+OH_AVCapability* OH_AVCodec_GetCapabilityByCategory (const char * mime, bool isEncoder, OH_AVCodecCategory category )
+```
+
+**描述:**
+
+获取指定类别中的编解码器能力。
+
+通过指定类别, 匹配的编解码器仅限于硬件编解码器或软件编解码器。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| mime | MIME类型。 |
+| isEncoder | 编码器为true,解码器为false。 |
+| category | 编解码器类别。 |
+
+**返回:**
+
+如果现有编解码器匹配,则返回能力实例, 如果指定的MIME类型与任何现有编解码器不匹配,则返回NULL。
+
+**起始版本:**
+
+10
diff --git a/zh-cn/application-dev/reference/native-apis/_a_v_demuxer.md b/zh-cn/application-dev/reference/native-apis/_a_v_demuxer.md
new file mode 100644
index 0000000000000000000000000000000000000000..67fbfa2363d2e3013749620fe25135762856729f
--- /dev/null
+++ b/zh-cn/application-dev/reference/native-apis/_a_v_demuxer.md
@@ -0,0 +1,224 @@
+# AVDemuxer
+
+
+## 概述
+
+AVDemuxer模块提供用于音视频解封装功能的函数。
+
+\@syscap SystemCapability.Multimedia.Media.Spliter
+
+**起始版本:**
+
+10
+
+
+## 汇总
+
+
+### 文件
+
+| 名称 | 描述 |
+| -------- | -------- |
+| [native_avdemuxer.h](native__avdemuxer_8h.md) | 声明用于音视频解封装的Native API。
引用文件: |
+
+
+### 函数
+
+| 名称 | 描述 |
+| -------- | -------- |
+| \*[OH_AVDemuxer_CreateWithSource](#oh_avdemuxer_createwithsource) (OH_AVSource \*source) | 通过source实例对象创建OH_AVDemuxer实例对象。 |
+| [OH_AVDemuxer_Destroy](#oh_avdemuxer_destroy) (OH_AVDemuxer \*demuxer) | 销毁OH_AVDemuxer实例并清理内部资源。 |
+| [OH_AVDemuxer_SelectTrackByID](#oh_avdemuxer_selecttrackbyid) (OH_AVDemuxer \*demuxer, uint32_t trackIndex) | 选中指定轨道,解封装器将会从该轨道中读取数据。 |
+| [OH_AVDemuxer_UnselectTrackByID](#oh_avdemuxer_unselecttrackbyid) (OH_AVDemuxer \*demuxer, uint32_t trackIndex) | 取消选择指定轨道,未选中的轨道的数据不会被解封装器读取。 |
+| [OH_AVDemuxer_ReadSample](#oh_avdemuxer_readsample) (OH_AVDemuxer \*demuxer, uint32_t trackIndex, OH_AVMemory \*sample, OH_AVCodecBufferAttr \*info) | 从选中轨道中获取当前位置压缩帧及相关信息。 |
+| [OH_AVDemuxer_SeekToTime](#oh_avdemuxer_seektotime) (OH_AVDemuxer \*demuxer, int64_t millisecond, OH_AVSeekMode mode) | 根据设定的跳转模式,将所有选中的轨道到指定时间附近。 |
+
+
+## 函数说明
+
+
+### OH_AVDemuxer_CreateWithSource()
+
+
+```
+OH_AVDemuxer* OH_AVDemuxer_CreateWithSource (OH_AVSource * source)
+```
+
+**描述:**
+
+通过source实例对象创建OH_AVDemuxer实例对象。可以通过调用 OH_AVDemuxer_Destroy 释放实例。
+
+\@syscap SystemCapability.Multimedia.Media.Spliter
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| source | 指向OH_AVSource实例的指针。 |
+
+**返回:**
+
+返回一个指向OH_AVDemuxer实例的指针。
+
+**起始版本:**
+
+10
+
+
+### OH_AVDemuxer_Destroy()
+
+
+```
+OH_AVErrCode OH_AVDemuxer_Destroy (OH_AVDemuxer * demuxer)
+```
+
+**描述:**
+
+销毁OH_AVDemuxer实例并清理内部资源。同一实例只能被销毁一次。
+
+销毁的实例在被重新创建之前不能再被使用.。建议实例销毁成功后将指针置为NULL。
+
+\@syscap SystemCapability.Multimedia.Media.Spliter
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| demuxer | 指向OH_AVDemuxer实例的指针。 |
+
+**返回:**
+
+执行成功返回AV_ERR_OK, 否则返回具体错误码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVDemuxer_ReadSample()
+
+
+```
+OH_AVErrCode OH_AVDemuxer_ReadSample (OH_AVDemuxer * demuxer, uint32_t trackIndex, OH_AVMemory * sample, OH_AVCodecBufferAttr * info )
+```
+
+**描述:**
+
+从选中轨道中获取当前位置压缩帧及相关信息。
+
+读取轨道帧数据前,轨道必须被选中。调用接口后解封装器 将自动前进到下一帧。
+
+\@syscap SystemCapability.Multimedia.Media.Spliter
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| demuxer | 指向OH_AVDemuxer实例的指针。 |
+| trackIndex | 本次读取压缩帧的轨道的索引。 |
+| sample | 指向OH_AVMemory实例的指针,用于储存压缩帧数据。 |
+| info | 指向OH_AVCodecBufferAttr实例的指针,用于储存压缩帧的相关信息。 |
+
+**返回:**
+
+执行成功返回AV_ERR_OK, 否则返回具体错误码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVDemuxer_SeekToTime()
+
+
+```
+OH_AVErrCode OH_AVDemuxer_SeekToTime (OH_AVDemuxer * demuxer, int64_t millisecond, OH_AVSeekMode mode )
+```
+
+**描述:**
+
+根据设定的跳转模式,将所有选中的轨道到指定时间附近。
+
+\@syscap SystemCapability.Multimedia.Media.Spliter
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| demuxer | 指向OH_AVDemuxer实例的指针。 |
+| millisecond | 期望跳转位置对应的时间,单位为毫秒,该时间戳是相对文件开始的位置。 |
+| mode | 跳转的模式,参考**OH_AVSeekMode。** |
+
+**返回:**
+
+执行成功返回AV_ERR_OK, 否则返回具体错误码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVDemuxer_SelectTrackByID()
+
+
+```
+OH_AVErrCode OH_AVDemuxer_SelectTrackByID (OH_AVDemuxer * demuxer, uint32_t trackIndex )
+```
+
+**描述:**
+
+选中指定轨道,解封装器将会从该轨道中读取数据。
+
+通过多次调用接口并传入不同轨道的索引来 选中多个轨道。
+
+调用OH_AVDemuxer_ReadSample时只会读取被选中的轨道中数据,同一轨道被选择多次时,接口会返回AV_ERR_OK,并且只会生效一次。
+
+\@syscap SystemCapability.Multimedia.Media.Spliter
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| demuxer | 指向OH_AVDemuxer实例的指针。 |
+| trackIndex | 需选择的轨道的索引。 |
+
+**返回:**
+
+执行成功返回AV_ERR_OK, 否则返回具体错误码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVDemuxer_UnselectTrackByID()
+
+
+```
+OH_AVErrCode OH_AVDemuxer_UnselectTrackByID (OH_AVDemuxer * demuxer, uint32_t trackIndex )
+```
+
+**描述:**
+
+取消选择指定轨道,未选中的轨道的数据不会被解封装器读取。
+
+通过多次调用接口并传入不同轨道的索引来取消对多个轨道的选择。
+
+同一轨道被多次取消选择时,接口会返回AV_ERR_OK,并且只会生效一次。
+
+\@syscap SystemCapability.Multimedia.Media.Spliter
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| demuxer | 指向OH_AVDemuxer实例的指针。 |
+| trackIndex | 需取消选择的轨道的索引。 |
+
+**返回:**
+
+执行成功返回AV_ERR_OK, 否则返回具体错误码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
diff --git a/zh-cn/application-dev/reference/native-apis/_a_v_source.md b/zh-cn/application-dev/reference/native-apis/_a_v_source.md
new file mode 100644
index 0000000000000000000000000000000000000000..18a5cafd4de350067f810a6bed489480df9445de
--- /dev/null
+++ b/zh-cn/application-dev/reference/native-apis/_a_v_source.md
@@ -0,0 +1,187 @@
+# AVSource
+
+
+## 概述
+
+AVSource模块提供用于构造音视频资源对象功能的函数。
+
+\@syscap SystemCapability.Multimedia.Media.Spliter
+
+**起始版本:**
+
+10
+
+
+## 汇总
+
+
+### 文件
+
+| 名称 | 描述 |
+| -------- | -------- |
+| [native_avsource.h](native__avsource_8h.md) | 声明用于构造音视频资源对象的Native API。
引用文件: |
+
+
+### 函数
+
+| 名称 | 描述 |
+| -------- | -------- |
+| \*[OH_AVSource_CreateWithURI](#oh_avsource_createwithuri) (char \*uri) | 为统一资源标识符对应的的资源对象创建OH_AVSource实例对象。 |
+| \*[OH_AVSource_CreateWithFD](#oh_avsource_createwithfd) (int32_t fd, int64_t offset, int64_t size) | 为文件描述符对应的资源对象创建OH_AVSource实例对象。 |
+| [OH_AVSource_Destroy](#oh_avsource_destroy) (OH_AVSource \*source) | 销毁OH_AVSource实例并清理内部资源。同一实例只能被销毁一次。 |
+| \*[OH_AVSource_GetSourceFormat](#oh_avsource_getsourceformat) (OH_AVSource \*source) | 获取媒体资源文件的基础信息。 |
+| \*[OH_AVSource_GetTrackFormat](#oh_avsource_gettrackformat) (OH_AVSource \*source, uint32_t trackIndex) | 获取轨道的基础信息。 |
+
+
+## 函数说明
+
+
+### OH_AVSource_CreateWithFD()
+
+
+```
+OH_AVSource* OH_AVSource_CreateWithFD (int32_t fd, int64_t offset, int64_t size )
+```
+
+**描述:**
+
+为文件描述符对应的资源对象创建OH_AVSource实例对象。
+
+可以通过调用OH_AVSource_Destroy释放实例
+
+该接口如果传入offset不为文件起始位置,或size不为文件大小时,可能会因数据获取不完整导致 OH_AVSource创建失败、后续解封装失败等未定义错误。
+
+\@syscap SystemCapability.Multimedia.Media.Spliter
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| fd | 数据资源的文件描述符。 |
+| offset | 开始读取数据的位置。 |
+| size | 文件的字节数大小。 |
+
+**返回:**
+
+返回一个指向OH_AVSource实例的指针。
+
+**起始版本:**
+
+10
+
+
+### OH_AVSource_CreateWithURI()
+
+
+```
+OH_AVSource* OH_AVSource_CreateWithURI (char * uri)
+```
+
+**描述:**
+
+为统一资源标识符对应的的资源对象创建OH_AVSource实例对象,可以通过调用OH_AVSource_Destroy释放实例。
+
+\@syscap SystemCapability.Multimedia.Media.Spliter
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| uri | 远程媒体资源的统一资源标识符。 |
+
+**返回:**
+
+返回一个指向OH_AVSource实例的指针。
+
+**起始版本:**
+
+10
+
+
+### OH_AVSource_Destroy()
+
+
+```
+OH_AVErrCode OH_AVSource_Destroy (OH_AVSource * source)
+```
+
+**描述:**
+
+销毁OH_AVSource实例并清理内部资源。
+
+同一实例只能被销毁一次。
+
+销毁的实例在被重新创建之前不能再被使用。建议实例销毁成功后将指针置为NULL。
+
+\@syscap SystemCapability.Multimedia.Media.Spliter
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| source | 指向OH_AVSource实例的指针。 |
+
+**返回:**
+
+执行成功返回AV_ERR_OK, 否则返回具体错误码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
+
+
+### OH_AVSource_GetSourceFormat()
+
+
+```
+OH_AVFormat* OH_AVSource_GetSourceFormat (OH_AVSource * source)
+```
+
+**描述:**
+
+获取媒体资源文件的基础信息。
+
+\@syscap SystemCapability.Multimedia.Media.Spliter
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| source | 指向OH_AVSource实例的指针。 |
+
+**返回:**
+
+返回媒体资源文件的基础信息。
+
+**起始版本:**
+
+10
+
+
+### OH_AVSource_GetTrackFormat()
+
+
+```
+OH_AVFormat* OH_AVSource_GetTrackFormat (OH_AVSource * source, uint32_t trackIndex )
+```
+
+**描述:**
+
+获取轨道的基础信息。
+
+\@syscap SystemCapability.Multimedia.Media.Spliter
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| source | 指向OH_AVSource实例的指针。 |
+| trackIndex | 需要获取信息的轨道的索引。 |
+
+**返回:**
+
+返回轨道的基础信息。
+
+**起始版本:**
+
+10
diff --git a/zh-cn/application-dev/reference/native-apis/_audio_decoder.md b/zh-cn/application-dev/reference/native-apis/_audio_decoder.md
index 566fab75c9b5f5683ed72af4f4aec7f768d88689..30c5686e2b4ebe97f353a53ea77fea5b295f1b27 100644
--- a/zh-cn/application-dev/reference/native-apis/_audio_decoder.md
+++ b/zh-cn/application-dev/reference/native-apis/_audio_decoder.md
@@ -3,41 +3,114 @@
## 概述
-AudioDecoder模块提供用于音频解码功能的函数。该模块在部分设备上可能不支持,可以通过[CanIUse](../syscap.md)接口确认。
+AudioDecoder模块提供用于音频解码的函数。该模块在部分设备上可能不支持,可以通过[CanIUse](../syscap.md)接口确认。
-@syscap SystemCapability.Multimedia.Media.AudioDecoder
+\@syscap SystemCapability.Multimedia.Media.AudioDecoder
**起始版本:**
+
9
+
## 汇总
### 文件
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [native_avcodec_audiodecoder.h](native__avcodec__audiodecoder_8h.md) | 声明用于音频解码的Native API。
引用文件: |
+| [native_avcodec_audiodecoder.h](native__avcodec__audiodecoder_8h.md) | 声明用于音频解码的Native API。
引用文件: |
+| [avcodec_audio_channel_layout.h](avcodec__audio__channel__layout_8h.md) | 声明用于音频编解码的枚举。
引用文件: |
+
+
+### 枚举
+
+| 名称 | 描述 |
+| -------- | -------- |
+| [OHOS::Media::AudioChannelSet](#audiochannelset) : uint64_t {
**FRONT_LEFT** = 1ULL << 0U, **FRONT_RIGHT** = 1ULL << 1U, **FRONT_CENTER** = 1ULL << 2U, **LOW_FREQUENCY** = 1ULL << 3U,
**BACK_LEFT** = 1ULL << 4U, **BACK_RIGHT** = 1ULL << 5U, **FRONT_LEFT_OF_CENTER** = 1ULL << 6U, **FRONT_RIGHT_OF_CENTER** = 1ULL << 7U,
**BACK_CENTER** = 1ULL << 8U, **SIDE_LEFT** = 1ULL << 9U, **SIDE_RIGHT** = 1ULL << 10U, **TOP_CENTER** = 1ULL << 11U,
**TOP_FRONT_LEFT** = 1ULL << 12U, **TOP_FRONT_CENTER** = 1ULL << 13U, **TOP_FRONT_RIGHT** = 1ULL << 14U, **TOP_BACK_LEFT** = 1ULL << 15U,
**TOP_BACK_CENTER** = 1ULL << 16U, **TOP_BACK_RIGHT** = 1ULL << 17U, **STEREO_LEFT** = 1ULL << 29U, **STEREO_RIGHT** = 1ULL << 30U,
**WIDE_LEFT** = 1ULL << 31U, **WIDE_RIGHT** = 1ULL << 32U, **SURROUND_DIRECT_LEFT** = 1ULL << 33U, **SURROUND_DIRECT_RIGHT** = 1ULL << 34U,
**LOW_FREQUENCY_2** = 1ULL << 35U, **TOP_SIDE_LEFT** = 1ULL << 36U, **TOP_SIDE_RIGHT** = 1ULL << 37U, **BOTTOM_FRONT_CENTER** = 1ULL << 38U,
**BOTTOM_FRONT_LEFT** = 1ULL << 39U, **BOTTOM_FRONT_RIGHT** = 1ULL << 40U, **AMBISONICS_ACN0** = 1ULL << 41U, OHOS::Media::AMBISONICS_ACN1 = 1ULL << 42U,
OHOS::Media::AMBISONICS_ACN2 = 1ULL << 43U, OHOS::Media::AMBISONICS_ACN3 = 1ULL << 44U, OHOS::Media::AMBISONICS_W = AMBISONICS_ACN0, OHOS::Media::AMBISONICS_Y = AMBISONICS_ACN1,
OHOS::Media::AMBISONICS_Z = AMBISONICS_ACN2, OHOS::Media::AMBISONICS_X = AMBISONICS_ACN3, OHOS::Media::AMBISONICS_ACN4 = 1ULL << 45U, OHOS::Media::AMBISONICS_ACN5 = 1ULL << 46U,
OHOS::Media::AMBISONICS_ACN6 = 1ULL << 47U, OHOS::Media::AMBISONICS_ACN7 = 1ULL << 48U, OHOS::Media::AMBISONICS_ACN8 = 1ULL << 49U, OHOS::Media::AMBISONICS_ACN9 = 1ULL << 50U,
OHOS::Media::AMBISONICS_ACN10 = 1ULL << 51U, OHOS::Media::AMBISONICS_ACN11 = 1ULL << 52U, OHOS::Media::AMBISONICS_ACN12 = 1ULL << 53U, OHOS::Media::AMBISONICS_ACN13 = 1ULL << 54U,
OHOS::Media::AMBISONICS_ACN14 = 1ULL << 55U, OHOS::Media::AMBISONICS_ACN15 = 1ULL << 56U
} | 音频声道数集合, 将每一个声道数映射为int64的变量。 |
+| [OHOS::Media::AudioChannelLayout](#audiochannellayout) : uint64_t {
**UNKNOWN_CHANNEL_LAYOUT** = 0, **MONO** = (AudioChannelSet::FRONT_CENTER), **STEREO** = (AudioChannelSet::FRONT_LEFT \| AudioChannelSet::FRONT_RIGHT), **CH_2POINT1** = (STEREO \| AudioChannelSet::LOW_FREQUENCY),
**CH_2_1** = (STEREO \| AudioChannelSet::BACK_CENTER), **SURROUND** = (STEREO \| AudioChannelSet::FRONT_CENTER), **CH_3POINT1** = (SURROUND \| AudioChannelSet::LOW_FREQUENCY), **CH_4POINT0** = (SURROUND \| AudioChannelSet::BACK_CENTER),
**CH_4POINT1** = (CH_4POINT0 \| AudioChannelSet::LOW_FREQUENCY), **CH_2_2** = (STEREO \| AudioChannelSet::SIDE_LEFT \| AudioChannelSet::SIDE_RIGHT), **QUAD** = (STEREO \| AudioChannelSet::BACK_LEFT \| AudioChannelSet::BACK_RIGHT), **CH_5POINT0** = (SURROUND \| AudioChannelSet::SIDE_LEFT \| AudioChannelSet::SIDE_RIGHT),
**CH_5POINT1** = (CH_5POINT0 \| AudioChannelSet::LOW_FREQUENCY), **CH_5POINT0_BACK** = (SURROUND \| AudioChannelSet::BACK_LEFT \| AudioChannelSet::BACK_RIGHT), **CH_5POINT1_BACK** = (CH_5POINT0_BACK \| AudioChannelSet::LOW_FREQUENCY), **CH_6POINT0** = (CH_5POINT0 \| AudioChannelSet::BACK_CENTER),
**CH_6POINT0_FRONT** = (CH_2_2 \| AudioChannelSet::FRONT_LEFT_OF_CENTER \| AudioChannelSet::FRONT_RIGHT_OF_CENTER), **HEXAGONAL** = (CH_5POINT0_BACK \| AudioChannelSet::BACK_CENTER), **CH_6POINT1** = (CH_5POINT1 \| AudioChannelSet::BACK_CENTER), **CH_6POINT1_BACK** = (CH_5POINT1_BACK \| AudioChannelSet::BACK_CENTER),
**CH_6POINT1_FRONT** = (CH_6POINT0_FRONT \| AudioChannelSet::LOW_FREQUENCY), **CH_7POINT0** = (CH_5POINT0 \| AudioChannelSet::BACK_LEFT \| AudioChannelSet::BACK_RIGHT), **CH_7POINT0_FRONT** = (CH_5POINT0 \| AudioChannelSet::FRONT_LEFT_OF_CENTER \| AudioChannelSet::FRONT_RIGHT_OF_CENTER), **CH_7POINT1** = (CH_5POINT1 \| AudioChannelSet::BACK_LEFT \| AudioChannelSet::BACK_RIGHT),
**CH_7POINT1_WIDE** = (CH_5POINT1 \| AudioChannelSet::FRONT_LEFT_OF_CENTER \| AudioChannelSet::FRONT_RIGHT_OF_CENTER), **CH_7POINT1_WIDE_BACK**, **CH_3POINT1POINT2** = (CH_3POINT1 \| AudioChannelSet::TOP_FRONT_LEFT \| AudioChannelSet::TOP_FRONT_RIGHT), **CH_5POINT1POINT2** = (CH_5POINT1 \| AudioChannelSet::TOP_SIDE_LEFT \| AudioChannelSet::TOP_SIDE_RIGHT),
**CH_5POINT1POINT4**, **CH_7POINT1POINT2** = (CH_7POINT1 \| AudioChannelSet::TOP_SIDE_LEFT \| AudioChannelSet::TOP_SIDE_RIGHT), **CH_7POINT1POINT4**, **CH_9POINT1POINT4** = (CH_7POINT1POINT4 \| AudioChannelSet::WIDE_LEFT \| AudioChannelSet::WIDE_RIGHT),
**CH_9POINT1POINT6** = (CH_9POINT1POINT4 \| AudioChannelSet::TOP_SIDE_LEFT \| AudioChannelSet::TOP_SIDE_RIGHT), **CH_10POINT2**, **CH_22POINT2**, **OCTAGONAL** = (CH_5POINT0 \| AudioChannelSet::BACK_LEFT \| AudioChannelSet::BACK_CENTER \| AudioChannelSet::BACK_RIGHT),
**HEXADECAGONAL**, **STEREO_DOWNMIX** = (AudioChannelSet::STEREO_LEFT \| AudioChannelSet::STEREO_RIGHT), **HOA_FIRST**, **HOA_SECOND**,
**HOA_THIRD**
} | 音频声道数类型, 将用户申请的解码器输出格式表示为编解码器的声道类型。 |
### 函数
- | 名称 | 描述 |
+| 名称 | 描述 |
+| -------- | -------- |
+| \*[OHOS::Media::OH_AudioDecoder_CreateByMime](#oh_audiodecoder_createbymime) (const char \*mime) | 根据MIME类型创建音频解码器实例,大多数场景下建议使用此方式。 |
+| \*[OHOS::Media::OH_AudioDecoder_CreateByName](#oh_audiodecoder_createbyname) (const char \*name) | 通过音频解码器名称创建音频解码器实例,使用此接口的前提是知道解码器的确切名称。 |
+| [OHOS::Media::OH_AudioDecoder_Destroy](#oh_audiodecoder_destroy) (OH_AVCodec \*codec) | 清理解码器内部资源,销毁解码器实例。 |
+| [OHOS::Media::OH_AudioDecoder_SetCallback](#oh_audiodecoder_setcallback) (OH_AVCodec \*codec, OH_AVCodecAsyncCallback callback, void \*userData) | 设置异步回调函数,使您的应用程序可以响应音频解码器生成的事件。 |
+| [OHOS::Media::OH_AudioDecoder_Configure](#oh_audiodecoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | 要配置音频解码器,通常需要配置从容器中提取的音频描述信息。 |
+| [OHOS::Media::OH_AudioDecoder_Prepare](#oh_audiodecoder_prepare) (OH_AVCodec \*codec) | 准备解码器的内部资源,在调用此接口之前必须调用Configure接口。 |
+| [OHOS::Media::OH_AudioDecoder_Start](#oh_audiodecoder_start) (OH_AVCodec \*codec) | Prepare成功后调用此接口启动解码器。 |
+| [OHOS::Media::OH_AudioDecoder_Stop](#oh_audiodecoder_stop) (OH_AVCodec \*codec) | 停止解码器。 |
+| [OHOS::Media::OH_AudioDecoder_Flush](#oh_audiodecoder_flush) (OH_AVCodec \*codec) | 清除解码器中缓存的输入和输出数据。 |
+| [OHOS::Media::OH_AudioDecoder_Reset](#oh_audiodecoder_reset) (OH_AVCodec \*codec) | 重置解码器。如果要继续解码,需要再次调用Configure接口配置解码器实例 。 |
+| \*[OHOS::Media::OH_AudioDecoder_GetOutputDescription](#oh_audiodecoder_getoutputdescription) (OH_AVCodec \*codec) | 获取解码器输出数据的描述信息,详细信息请参见**OH_AVFormat**。 |
+| [OHOS::Media::OH_AudioDecoder_SetParameter](#oh_audiodecoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | 配置解码器的动态参数。注意:该接口必须在解码器启动后才能调用。另外,参数配置错误可能会导致解码失败。 |
+| [OHOS::Media::OH_AudioDecoder_PushInputData](#oh_audiodecoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, OH_AVCodecBufferAttr attr) | 将填充有数据的输入缓冲区提交给音频解码器。 |
+| [OHOS::Media::OH_AudioDecoder_FreeOutputData](#oh_audiodecoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理后的输出缓冲区返回给解码器。 |
+| [OHOS::Media::OH_AudioDecoder_IsValid](#oh_audiodecoder_isvalid) (OH_AVCodec \*codec, bool \*isValid) | 检查当前解码器实例是否有效,可用于后台故障恢复或应用程序从后台恢复时检测解码器有效状态。 |
+
+
+## 枚举类型说明
+
+
+### AudioChannelLayout
+
+
+```
+enum OHOS::Media::AudioChannelLayout : uint64_t
+```
+
+**描述:**
+
+音频声道数类型, 将用户申请的解码器输出格式表示为编解码器的声道类型。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**起始版本:**
+
+10
+
+
+### AudioChannelSet
+
+
+```
+enum OHOS::Media::AudioChannelSet : uint64_t
+```
+
+**描述:**
+
+音频声道数集合, 将每一个声道数映射为int64的变量。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**起始版本:**
+
+10
+
+| 枚举值 | 描述 |
| -------- | -------- |
-| [OH_AudioDecoder_CreateByMime](#oh_audiodecoder_createbymime) (const char \*mime) | 通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。 |
-| [OH_AudioDecoder_CreateByName](#oh_audiodecoder_createbyname) (const char \*name) | 通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 |
-| [OH_AudioDecoder_Destroy](#oh_audiodecoder_destroy) (OH_AVCodec \*codec) | 清空解码器内部资源,并销毁解码器实例 |
-| [OH_AudioDecoder_SetCallback](#oh_audiodecoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | 设置异步回调函数,使得你的应用能够响应音频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
-| [OH_AudioDecoder_Configure](#oh_audiodecoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | 配置音频解码器,典型地,需要配置被解码音频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 |
-| [OH_AudioDecoder_Prepare](#oh_audiodecoder_prepare) (OH_AVCodec \*codec) | 准备解码器内部资源,调用该接口前必须先调用Configure接口。 |
-| [OH_AudioDecoder_Start](#oh_audiodecoder_start) (OH_AVCodec \*codec) | 启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 |
-| [OH_AudioDecoder_Stop](#oh_audiodecoder_stop) (OH_AVCodec \*codec) | 停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 |
-| [OH_AudioDecoder_Flush](#oh_audiodecoder_flush) (OH_AVCodec \*codec) | 清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
-| [OH_AudioDecoder_Reset](#oh_audiodecoder_reset) (OH_AVCodec \*codec) | 重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 |
-| [OH_AudioDecoder_GetOutputDescription](#oh_audiodecoder_getoutputdescription) (OH_AVCodec \*codec) | 获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 |
-| [OH_AudioDecoder_SetParameter](#oh_audiodecoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | 向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 |
-| [OH_AudioDecoder_PushInputData](#oh_audiodecoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | 将填充好数据的输入Buffer提交给音频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程。 |
-| [OH_AudioDecoder_FreeOutputData](#oh_audiodecoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理结束的输出Buffer交还给解码器。 |
+| AMBISONICS_ACN1 | 零阶立体声声道数 0 |
+| AMBISONICS_ACN2 | 一阶立体声声道数 1 |
+| AMBISONICS_ACN3 | 一阶立体声声道数 2 |
+| AMBISONICS_W | 一阶立体声声道数 3 |
+| AMBISONICS_Y | 同于零阶立体声声道数 0 |
+| AMBISONICS_Z | 同于一阶立体声声道数 1 |
+| AMBISONICS_X | 同于一阶立体声声道数 2 |
+| AMBISONICS_ACN4 | 同于一阶立体声声道数 3 |
+| AMBISONICS_ACN5 | 二阶立体声声道数 4 |
+| AMBISONICS_ACN6 | 二阶立体声声道数 5 |
+| AMBISONICS_ACN7 | 二阶立体声声道数 6 |
+| AMBISONICS_ACN8 | 二阶立体声声道数 7 |
+| AMBISONICS_ACN9 | 二阶立体声声道数 8 |
+| AMBISONICS_ACN10 | 三阶立体声声道数 9 |
+| AMBISONICS_ACN11 | 三阶立体声声道数 10 |
+| AMBISONICS_ACN12 | 三阶立体声声道数 11 |
+| AMBISONICS_ACN13 | 三阶立体声声道数 12 |
+| AMBISONICS_ACN14 | 三阶立体声声道数 13 |
+| AMBISONICS_ACN15 | 三阶立体声声道数 14 |
## 函数说明
@@ -47,334 +120,439 @@ AudioDecoder模块提供用于音频解码功能的函数。该模块在部分
```
-OH_AVErrCode OH_AudioDecoder_Configure (OH_AVCodec * codec, OH_AVFormat * format )
+OH_AVErrCode OHOS::Media::OH_AudioDecoder_Configure (OH_AVCodec * codec, OH_AVFormat * format )
```
-**描述:**
-配置音频解码器,典型地,需要配置被解码音频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。
-@syscap SystemCapability.Multimedia.Media.AudioDecoder
+**描述:**
+
+要配置音频解码器,通常需要配置从容器中提取的音频描述信息。
+
+在调用Prepare之前,必须调用此接口。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.AudioDecoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| format | 指向OH_AVFormat的指针,用以给出待解码音频轨道的描述信息 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| format | 指向OH_AVFormat的指针,给出要解码的音频轨道的描述。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
### OH_AudioDecoder_CreateByMime()
```
-OH_AVCodec* OH_AudioDecoder_CreateByMime (const char * mime)
+OH_AVCodec* OHOS::Media::OH_AudioDecoder_CreateByMime (const char * mime)
```
-**描述:**
-通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。
-@syscap SystemCapability.Multimedia.Media.AudioDecoder
+**描述:**
+
+根据MIME类型创建音频解码器实例,大多数场景下建议使用此方式。
+
+\@syscap SystemCapability.Multimedia.Media.AudioDecoder
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| mime | mime类型描述字符串,参考[OH_AVCODEC_MIMETYPE_AUDIO_AAC](_codec_base.md#oh_avcodec_mimetype_audio_aac) |
+| mime | MIME类型描述字符串,请参阅**AVCODEC_MIME_TYPE**。 |
-**返回:**
+**返回:**
-返回一个指向OH_AVCodec实例的指针
+返回指向OH_AVCodec实例的指针。
+
+**起始版本:**
+
+9
### OH_AudioDecoder_CreateByName()
```
-OH_AVCodec* OH_AudioDecoder_CreateByName (const char * name)
+OH_AVCodec* OHOS::Media::OH_AudioDecoder_CreateByName (const char * name)
```
-**描述:**
-通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。
-@syscap SystemCapability.Multimedia.Media.AudioDecoder
+**描述:**
-**参数:**
+通过音频解码器名称创建音频解码器实例,使用此接口的前提是知道解码器的确切名称。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.AudioDecoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| name | 音频解码器名称 |
+| name | 音频解码器名称。 |
-**返回:**
+**返回:**
-返回一个指向OH_AVCodec实例的指针
+返回指向OH_AVCodec实例的指针。
+
+**起始版本:**
+
+9
### OH_AudioDecoder_Destroy()
```
-OH_AVErrCode OH_AudioDecoder_Destroy (OH_AVCodec * codec)
+OH_AVErrCode OHOS::Media::OH_AudioDecoder_Destroy (OH_AVCodec * codec)
```
-**描述:**
-清空解码器内部资源,并销毁解码器实例
-@syscap SystemCapability.Multimedia.Media.AudioDecoder
+**描述:**
+
+清理解码器内部资源,销毁解码器实例。
+
+\@syscap SystemCapability.Multimedia.Media.AudioDecoder
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
### OH_AudioDecoder_Flush()
```
-OH_AVErrCode OH_AudioDecoder_Flush (OH_AVCodec * codec)
+OH_AVErrCode OHOS::Media::OH_AudioDecoder_Flush (OH_AVCodec * codec)
```
-**描述:**
-清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。
-@syscap SystemCapability.Multimedia.Media.AudioDecoder
+**描述:**
+
+清除解码器中缓存的输入和输出数据。
-**参数:**
+调用此接口后,以前通过异步回调上报的所有缓冲区索引都将失效,请确保不要访问这些索引对应的缓冲区。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.AudioDecoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_AudioDecoder_FreeOutputData()
```
-OH_AVErrCode OH_AudioDecoder_FreeOutputData (OH_AVCodec * codec, uint32_t index )
+OH_AVErrCode OHOS::Media::OH_AudioDecoder_FreeOutputData (OH_AVCodec * codec, uint32_t index )
```
-**描述:**
-将处理结束的输出Buffer交还给解码器。
-@syscap SystemCapability.Multimedia.Media.AudioDecoder
+**描述:**
+
+将处理后的输出缓冲区返回给解码器。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.AudioDecoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| index | 输出Buffer对应的索引值 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| index | 输出缓冲区Buffer对应的索引值。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
### OH_AudioDecoder_GetOutputDescription()
```
-OH_AVFormat* OH_AudioDecoder_GetOutputDescription (OH_AVCodec * codec)
+OH_AVFormat* OHOS::Media::OH_AudioDecoder_GetOutputDescription (OH_AVCodec * codec)
```
-**描述:**
-获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。
-@syscap SystemCapability.Multimedia.Media.AudioDecoder
+**描述:**
+
+获取解码器输出数据的描述信息,详细信息请参见**OH_AVFormat**。 需要注意的是,返回值所指向的OH_AVFormat实例的生命周期需要调用者手动释放。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.AudioDecoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+
+**返回:**
+
+返回OH_AVFormat句柄指针,生命周期将使用下一个GetOutputDescription 刷新,或使用OH_AVCodec销毁。
+
+**起始版本:**
+
+9
+
+
+### OH_AudioDecoder_IsValid()
+
+
+```
+OH_AVErrCode OHOS::Media::OH_AudioDecoder_IsValid (OH_AVCodec * codec, bool * isValid )
+```
+
+**描述:**
-**返回:**
+检查当前解码器实例是否有效,可用于后台故障恢复或应用程序从后台恢复时检测解码器有效状态。
-返回OH_AVFormat句柄指针,需调用者手动释放;
+\@syscap SystemCapability.Multimedia.Media.AudioDecoder
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| codec | 指向OH_AVCodec实例的指针。 |
+| isValid | 指向布尔实例的指针,true:解码器实例有效,false:解码器实例无效。 |
+
+**返回:**
+
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
### OH_AudioDecoder_Prepare()
```
-OH_AVErrCode OH_AudioDecoder_Prepare (OH_AVCodec * codec)
+OH_AVErrCode OHOS::Media::OH_AudioDecoder_Prepare (OH_AVCodec * codec)
```
-**描述:**
-准备解码器内部资源,调用该接口前必须先调用Configure接口。
-@syscap SystemCapability.Multimedia.Media.AudioDecoder
+**描述:**
-**参数:**
+准备解码器的内部资源,在调用此接口之前必须调用Configure接口。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.AudioDecoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_AudioDecoder_PushInputData()
```
-OH_AVErrCode OH_AudioDecoder_PushInputData (OH_AVCodec * codec, uint32_t index, OH_AVCodecBufferAttr attr )
+OH_AVErrCode OHOS::Media::OH_AudioDecoder_PushInputData (OH_AVCodec * codec, uint32_t index, OH_AVCodecBufferAttr attr )
```
-**描述:**
-将填充好数据的输入Buffer提交给音频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程。
-@syscap SystemCapability.Multimedia.Media.AudioDecoder
+**描述:**
+
+将填充有数据的输入缓冲区提交给音频解码器。
+
+**OH_AVCodecOnNeedInputData**回调将报告可用的输入缓冲区和相应的索引值。一旦具有指定索引的缓冲区提交到音频解码器,则无法再次访问此缓冲区, 直到再次收到**OH_AVCodecOnNeedInputData**回调,收到相同索引时此缓冲区才可使用。 此外,对于某些解码器,需要在开始时向解码器输入特定配置参数,以初始化解码器的解码过程。
+
+\@syscap SystemCapability.Multimedia.Media.AudioDecoder
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| index | 输入Buffer对应的索引值 |
-| attr | 描述该Buffer内所包含数据的信息 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| index | 输入缓冲区Buffer对应的索引值。 |
+| attr | 描述缓冲区中包含的数据的信息。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
### OH_AudioDecoder_Reset()
```
-OH_AVErrCode OH_AudioDecoder_Reset (OH_AVCodec * codec)
+OH_AVErrCode OHOS::Media::OH_AudioDecoder_Reset (OH_AVCodec * codec)
```
-**描述:**
-重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。
-@syscap SystemCapability.Multimedia.Media.AudioDecoder
+**描述:**
+
+重置解码器。如果要继续解码,需要再次调用Configure接口配置解码器实例。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.AudioDecoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+
+**返回:**
-**返回:**
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_AudioDecoder_SetCallback()
```
-OH_AVErrCode OH_AudioDecoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCallback callback, void * userData )
+OH_AVErrCode OHOS::Media::OH_AudioDecoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCallback callback, void * userData )
```
-**描述:**
-设置异步回调函数,使得你的应用能够响应音频解码器产生的事件,该接口被调用必须是在Prepare被调用前。
-@syscap SystemCapability.Multimedia.Media.AudioDecoder
+**描述:**
-**参数:**
+设置异步回调函数,使您的应用程序可以响应音频解码器生成的事件。
- | 名称 | 描述 |
+在调用Prepare之前,必须调用此接口。
+
+\@syscap SystemCapability.Multimedia.Media.AudioDecoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| callback | 一个包含所有回调函数的集合体,参考[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) |
-| userData | 用户特定数据 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| callback | 所有回调函数的集合,请参见 **OH_AVCodecAsyncCallback**。 |
+| userData | 用户特定数据。 |
+
+**返回:**
-**返回:**
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_AudioDecoder_SetParameter()
```
-OH_AVErrCode OH_AudioDecoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * format )
+OH_AVErrCode OHOS::Media::OH_AudioDecoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * format )
```
-**描述:**
-向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。
-@syscap SystemCapability.Multimedia.Media.AudioDecoder
+**描述:**
+
+配置解码器的动态参数。
+
+注意,该接口必须在解码器启动后才能调用。另外,参数配置错误可能会导致解码失败。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.AudioDecoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| format | OH_AVFormat句柄指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| format | OH_AVFormat句柄指针。 |
+
+**返回:**
-**返回:**
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_AudioDecoder_Start()
```
-OH_AVErrCode OH_AudioDecoder_Start (OH_AVCodec * codec)
+OH_AVErrCode OHOS::Media::OH_AudioDecoder_Start (OH_AVCodec * codec)
```
-**描述:**
-启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。
-@syscap SystemCapability.Multimedia.Media.AudioDecoder
+**描述:**
-**参数:**
+Prepare成功后调用此接口启动解码器。
- | 名称 | 描述 |
+启动后,解码器将开始上报OH_AVCodecOnNeedInputData事件。
+
+\@syscap SystemCapability.Multimedia.Media.AudioDecoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+
+**返回:**
-**返回:**
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_AudioDecoder_Stop()
```
-OH_AVErrCode OH_AudioDecoder_Stop (OH_AVCodec * codec)
+OH_AVErrCode OHOS::Media::OH_AudioDecoder_Stop (OH_AVCodec * codec)
```
-**描述:**
-停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。
-@syscap SystemCapability.Multimedia.Media.AudioDecoder
+**描述:**
+
+停止解码器。
+
+停止后,您可以通过Start重新进入已启动状态,但需要注意的是, 如果解码器之前已输入数据,则需要重新输入解码器数据。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.AudioDecoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+
+**返回:**
-**返回:**
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
diff --git a/zh-cn/application-dev/reference/native-apis/_audio_encoder.md b/zh-cn/application-dev/reference/native-apis/_audio_encoder.md
index 9a0235deb7db5b5bc6b72c95ee5ce6ce341b3035..df536fc1c070a0a65905b236523c85a8ce390959 100644
--- a/zh-cn/application-dev/reference/native-apis/_audio_encoder.md
+++ b/zh-cn/application-dev/reference/native-apis/_audio_encoder.md
@@ -3,41 +3,44 @@
## 概述
-AudioEncoder模块提供用于音频编码功能的函数。该模块在部分设备上可能不支持,可以通过[CanIUse](../syscap.md)接口确认。
+AudioEncoder模块提供用于音频编码的函数。该模块在部分设备上可能不支持,可以通过[CanIUse](../syscap.md)接口确认。
-@syscap SystemCapability.Multimedia.Media.AudioEncoder
+\@syscap SystemCapability.Multimedia.Media.AudioEncoder
**起始版本:**
+
9
+
## 汇总
### 文件
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
| [native_avcodec_audioencoder.h](native__avcodec__audioencoder_8h.md) | 声明用于音频编码的Native API。
引用文件: |
### 函数
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [OH_AudioEncoder_CreateByMime](#oh_audioencoder_createbymime) (const char \*mime) | 通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。 |
-| [OH_AudioEncoder_CreateByName](#oh_audioencoder_createbyname) (const char \*name) | 通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 |
-| [OH_AudioEncoder_Destroy](#oh_audioencoder_destroy) (OH_AVCodec \*codec) | 清空编码器内部资源,并销毁编码器实例。 |
-| [OH_AudioEncoder_SetCallback](#oh_audioencoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | 设置异步回调函数,使得你的应用能够响应音频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
-| [OH_AudioEncoder_Configure](#oh_audioencoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | 配置音频编码器,典型地,需要配置被编码音频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 |
-| [OH_AudioEncoder_Prepare](#oh_audioencoder_prepare) (OH_AVCodec \*codec) | 准备编码器内部资源,调用该接口前必须先调用Configure接口。 |
-| [OH_AudioEncoder_Start](#oh_audioencoder_start) (OH_AVCodec \*codec) | 启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 |
-| [OH_AudioEncoder_Stop](#oh_audioencoder_stop) (OH_AVCodec \*codec) | 停止编码器。在停止后可通过Start重新进入Started状态。 |
-| [OH_AudioEncoder_Flush](#oh_audioencoder_flush) (OH_AVCodec \*codec) | 清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
-| [OH_AudioEncoder_Reset](#oh_audioencoder_reset) (OH_AVCodec \*codec) | 重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 |
-| [OH_AudioEncoder_GetOutputDescription](#oh_audioencoder_getoutputdescription) (OH_AVCodec \*codec) | 获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 |
-| [OH_AudioEncoder_SetParameter](#oh_audioencoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | 向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 |
-| [OH_AudioEncoder_PushInputData](#oh_audioencoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | 将填充好数据的输入Buffer提交给音频编码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给编码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。 |
-| [OH_AudioEncoder_FreeOutputData](#oh_audioencoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理结束的输出Buffer交还给编码器。 |
+| \*[OHOS::Media::OH_AudioEncoder_CreateByMime](#oh_audioencoder_createbymime) (const char \*mime) | 根据MIME类型创建音频编码器实例,大多数场景下建议使用此方式。 |
+| \*[OHOS::Media::OH_AudioEncoder_CreateByName](#oh_audioencoder_createbyname) (const char \*name) | 通过音频编码器名称创建音频编码器实例,使用此接口的前提是知道编码器的确切名称。 |
+| [OHOS::Media::OH_AudioEncoder_Destroy](#oh_audioencoder_destroy) (OH_AVCodec \*codec) | 清理编码器内部资源,销毁编码器实例。 |
+| [OHOS::Media::OH_AudioEncoder_SetCallback](#oh_audioencoder_setcallback) (OH_AVCodec \*codec, OH_AVCodecAsyncCallback callback, void \*userData) | 设置异步回调函数,使您的应用程序可以响应音频编码器生成的事件。 |
+| [OHOS::Media::OH_AudioEncoder_Configure](#oh_audioencoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | 要配置音频编码器,通常需要配置编码后的音轨的描述信息。 |
+| [OHOS::Media::OH_AudioEncoder_Prepare](#oh_audioencoder_prepare) (OH_AVCodec \*codec) | 准备编码器的内部资源,在调用此接口之前必须调用Configure接口。 |
+| [OHOS::Media::OH_AudioEncoder_Start](#oh_audioencoder_start) (OH_AVCodec \*codec) | Prepare成功后调用此接口启动编码器。 |
+| [OHOS::Media::OH_AudioEncoder_Stop](#oh_audioencoder_stop) (OH_AVCodec \*codec) | 停止编码器。 |
+| [OHOS::Media::OH_AudioEncoder_Flush](#oh_audioencoder_flush) (OH_AVCodec \*codec) | 清除编码器中缓存的输入和输出数据。 |
+| [OHOS::Media::OH_AudioEncoder_Reset](#oh_audioencoder_reset) (OH_AVCodec \*codec) | 重置编码器。 |
+| \*[OHOS::Media::OH_AudioEncoder_GetOutputDescription](#oh_audioencoder_getoutputdescription) (OH_AVCodec \*codec) | 获取编码器输出数据的描述信息,详细信息请参见[OH_AVFormat](native__avformat_8h.md)。 |
+| [OHOS::Media::OH_AudioEncoder_SetParameter](#oh_audioencoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | 配置编码器的动态参数。 |
+| [OHOS::Media::OH_AudioEncoder_PushInputData](#oh_audioencoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, OH_AVCodecBufferAttr attr) | 将填充有数据的输入缓冲区提交给音频编码器。 |
+| [OHOS::Media::OH_AudioEncoder_FreeOutputData](#oh_audioencoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理后的输出缓冲区返回给编码器。 |
+| [OHOS::Media::OH_AudioEncoder_IsValid](#oh_audioencoder_isvalid) (OH_AVCodec \*codec, bool \*isValid) | 检查当前编码器实例是否有效,可用于后台故障恢复或应用程序从后台恢复时检测编码器有效状态。 |
## 函数说明
@@ -47,334 +50,435 @@ AudioEncoder模块提供用于音频编码功能的函数。该模块在部分
```
-OH_AVErrCode OH_AudioEncoder_Configure (OH_AVCodec * codec, OH_AVFormat * format )
+OH_AVErrCode OHOS::Media::OH_AudioEncoder_Configure (OH_AVCodec * codec, OH_AVFormat * format )
```
-**描述:**
-配置音频编码器,典型地,需要配置被编码音频轨道的描述信息,该接口被调用必须是在Prepare被调用前。
-@syscap SystemCapability.Multimedia.Media.AudioEncoder
+**描述:**
+
+要配置音频编码器,通常需要配置编码后的音轨的描述信息。
+
+在调用Prepare之前,必须调用此接口。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.AudioEncoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| format | OH_AVFormat句柄指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| format | 指向OH_AVFormat的指针,给出要编码的音频轨道的描述。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
### OH_AudioEncoder_CreateByMime()
```
-OH_AVCodec* OH_AudioEncoder_CreateByMime (const char * mime)
+OH_AVCodec* OHOS::Media::OH_AudioEncoder_CreateByMime (const char * mime)
```
-**描述:**
-通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。
-@syscap SystemCapability.Multimedia.Media.AudioEncoder
+**描述:**
+
+根据MIME类型创建音频编码器实例,大多数场景下建议使用此方式。
+
+\@syscap SystemCapability.Multimedia.Media.AudioEncoder
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| mime | mime类型描述字符串,参考[OH_AVCODEC_MIMETYPE_AUDIO_AAC](_codec_base.md#oh_avcodec_mimetype_audio_aac) |
+| mime | MIME类型描述字符串,请参阅 **AVCODEC_MIME_TYPE**。 |
-**返回:**
+**返回:**
-返回一个指向OH_AVCodec实例的指针
+返回指向OH_AVCodec实例的指针。
+
+**起始版本:**
+
+9
### OH_AudioEncoder_CreateByName()
```
-OH_AVCodec* OH_AudioEncoder_CreateByName (const char * name)
+OH_AVCodec* OHOS::Media::OH_AudioEncoder_CreateByName (const char * name)
```
-**描述:**
-通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。
-@syscap SystemCapability.Multimedia.Media.AudioEncoder
+**描述:**
+
+通过音频编码器名称创建音频编码器实例,使用此接口的前提是知道编码器的确切名称。
+
+\@syscap SystemCapability.Multimedia.Media.AudioEncoder
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| name | 音频编码器名称 |
+| name | 音频编码器名称。 |
-**返回:**
+**返回:**
+
+返回指向OH_AVCodec实例的指针。
+
+**起始版本:**
-返回一个指向OH_AVCodec实例的指针
+9
### OH_AudioEncoder_Destroy()
```
-OH_AVErrCode OH_AudioEncoder_Destroy (OH_AVCodec * codec)
+OH_AVErrCode OHOS::Media::OH_AudioEncoder_Destroy (OH_AVCodec * codec)
```
-**描述:**
-清空编码器内部资源,并销毁编码器实例。
-@syscap SystemCapability.Multimedia.Media.AudioEncoder
+**描述:**
+
+清理编码器内部资源,销毁编码器实例。
+
+\@syscap SystemCapability.Multimedia.Media.AudioEncoder
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
### OH_AudioEncoder_Flush()
```
-OH_AVErrCode OH_AudioEncoder_Flush (OH_AVCodec * codec)
+OH_AVErrCode OHOS::Media::OH_AudioEncoder_Flush (OH_AVCodec * codec)
```
-**描述:**
-清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。
-@syscap SystemCapability.Multimedia.Media.AudioEncoder
+**描述:**
-**参数:**
+清除编码器中缓存的输入和输出数据。
- | 名称 | 描述 |
+调用此接口后,以前通过异步回调上报的所有缓冲区 索引都将失效,请确保不要访问这些索引对应的缓冲区。
+
+\@syscap SystemCapability.Multimedia.Media.AudioEncoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
### OH_AudioEncoder_FreeOutputData()
```
-OH_AVErrCode OH_AudioEncoder_FreeOutputData (OH_AVCodec * codec, uint32_t index )
+OH_AVErrCode OHOS::Media::OH_AudioEncoder_FreeOutputData (OH_AVCodec * codec, uint32_t index )
```
-**描述:**
-将处理结束的输出Buffer交还给编码器。
-@syscap SystemCapability.Multimedia.Media.AudioEncoder
+**描述:**
-**参数:**
+将处理后的输出缓冲区返回给编码器。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.AudioEncoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| index | 输出Buffer对应的索引值 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| index | 输出缓冲区Buffer对应的索引值。 |
+
+**返回:**
-**返回:**
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_AudioEncoder_GetOutputDescription()
```
-OH_AVFormat* OH_AudioEncoder_GetOutputDescription (OH_AVCodec * codec)
+OH_AVFormat* OHOS::Media::OH_AudioEncoder_GetOutputDescription (OH_AVCodec * codec)
```
-**描述:**
-获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。
-@syscap SystemCapability.Multimedia.Media.AudioEncoder
+**描述:**
+
+获取编码器输出数据的描述信息,详细信息请参见[OH_AVFormat](native__avformat_8h.md)。
-**参数:**
+需要注意的是,返回值所指向的OH_AVFormat实例的生命周期需要调用者手动释放。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.AudioEncoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+
+**返回:**
+
+返回OH_AVFormat句柄指针,生命周期将使用下一个GetOutputDescription 刷新,或使用OH_AVCodec销毁。
+
+**起始版本:**
-**返回:**
+9
+
+
+### OH_AudioEncoder_IsValid()
-返回OH_AVFormat句柄指针,需调用者手动释放;
+
+```
+OH_AVErrCode OHOS::Media::OH_AudioEncoder_IsValid (OH_AVCodec * codec, bool * isValid )
+```
+
+**描述:**
+
+检查当前编码器实例是否有效,可用于后台故障恢复或应用程序从后台恢复时检测编码器有效状态。
+
+\@syscap SystemCapability.Multimedia.Media.AudioEncoder
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| codec | 指向OH_AVCodec实例的指针。 |
+| isValid | 指向布尔实例的指针,true:编码器实例有效,false:编码器实例无效。 |
+
+**返回:**
+
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
### OH_AudioEncoder_Prepare()
```
-OH_AVErrCode OH_AudioEncoder_Prepare (OH_AVCodec * codec)
+OH_AVErrCode OHOS::Media::OH_AudioEncoder_Prepare (OH_AVCodec * codec)
```
-**描述:**
-准备编码器内部资源,调用该接口前必须先调用Configure接口。
-@syscap SystemCapability.Multimedia.Media.AudioEncoder
+**描述:**
+
+准备编码器的内部资源,在调用此接口之前必须调用Configure接口。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.AudioEncoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+
+**返回:**
-**返回:**
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_AudioEncoder_PushInputData()
```
-OH_AVErrCode OH_AudioEncoder_PushInputData (OH_AVCodec * codec, uint32_t index, OH_AVCodecBufferAttr attr )
+OH_AVErrCode OHOS::Media::OH_AudioEncoder_PushInputData (OH_AVCodec * codec, uint32_t index, OH_AVCodecBufferAttr attr )
```
-**描述:**
-将填充好数据的输入Buffer提交给音频编码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给编码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。
-@syscap SystemCapability.Multimedia.Media.AudioEncoder
+**描述:**
+
+将填充有数据的输入缓冲区提交给音频编码器。
+
+**OH_AVCodecOnNeedInputData**回调 将报告可用的输入缓冲区和相应的索引值。一旦具有指定索引的缓冲区提交到音频编码器,则无法再次访问此缓冲区, 直到再次收到**OH_AVCodecOnNeedInputData**回调,收到相同索引时此缓冲区才可使用。 此外,对于某些编码器,需要在开始时向编码器输入特定配置参数,以初始化编码器的编码过程。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.AudioEncoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| index | 输入Buffer对应的索引值 |
-| attr | 描述该Buffer内所包含数据的信息 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| index | 输入缓冲区Buffer对应的索引值。 |
+| attr | 描述缓冲区中包含的数据的信息。 |
+
+**返回:**
-**返回:**
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_AudioEncoder_Reset()
```
-OH_AVErrCode OH_AudioEncoder_Reset (OH_AVCodec * codec)
+OH_AVErrCode OHOS::Media::OH_AudioEncoder_Reset (OH_AVCodec * codec)
```
-**描述:**
-重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。
-@syscap SystemCapability.Multimedia.Media.AudioEncoder
+**描述:**
-**参数:**
+重置编码器。如果要继续编码,需要再次调用Configure接口配置编码器实例。
- | 名称 | 描述 |
-| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+\@syscap SystemCapability.Multimedia.Media.AudioEncoder
+
+**参数:**
-**返回:**
+| 名称 | 描述 |
+| -------- | -------- |
+| codec | 指向OH_AVCodec实例的指针。 |
-执行成功返回AV_ERR_OK
+**返回:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
### OH_AudioEncoder_SetCallback()
```
-OH_AVErrCode OH_AudioEncoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCallback callback, void * userData )
+OH_AVErrCode OHOS::Media::OH_AudioEncoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCallback callback, void * userData )
```
-**描述:**
-设置异步回调函数,使得你的应用能够响应音频编码器产生的事件,该接口被调用必须是在Prepare被调用前。
-@syscap SystemCapability.Multimedia.Media.AudioEncoder
+**描述:**
+
+设置异步回调函数,使您的应用程序可以响应音频编码器生成的事件。
+
+在调用Prepare之前,必须调用此接口。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.AudioEncoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| callback | 一个包含所有回调函数的集合体,参考[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) |
-| userData | 用户特定数据 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| callback | 所有回调函数的集合,请参见 **OH_AVCodecAsyncCallback**。 |
+| userData | 用户特定数据。 |
+
+**返回:**
-**返回:**
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_AudioEncoder_SetParameter()
```
-OH_AVErrCode OH_AudioEncoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * format )
+OH_AVErrCode OHOS::Media::OH_AudioEncoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * format )
```
-**描述:**
-向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。
-@syscap SystemCapability.Multimedia.Media.AudioEncoder
+**描述:**
+
+配置编码器的动态参数。
+
+注意,该接口必须在编码器启动后才能调用。另外,参数配置错误可能会导致编码失败。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.AudioEncoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| format | OH_AVFormat句柄指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| format | OH_AVFormat句柄指针。 |
+
+**返回:**
-**返回:**
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_AudioEncoder_Start()
```
-OH_AVErrCode OH_AudioEncoder_Start (OH_AVCodec * codec)
+OH_AVErrCode OHOS::Media::OH_AudioEncoder_Start (OH_AVCodec * codec)
```
-**描述:**
-启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。
-@syscap SystemCapability.Multimedia.Media.AudioEncoder
+**描述:**
+
+Prepare成功后调用此接口启动编码器。
+
+启动后,编码器将开始上报OH_AVCodecOnNeedInputData事件。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.AudioEncoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+
+**返回:**
-**返回:**
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_AudioEncoder_Stop()
```
-OH_AVErrCode OH_AudioEncoder_Stop (OH_AVCodec * codec)
+OH_AVErrCode OHOS::Media::OH_AudioEncoder_Stop (OH_AVCodec * codec)
```
-**描述:**
-停止编码器。在停止后可通过Start重新进入Started状态。
-@syscap SystemCapability.Multimedia.Media.AudioEncoder
+**描述:**
+
+停止编码器。停止后,您可以通过Start重新进入已启动状态。
+
+\@syscap SystemCapability.Multimedia.Media.AudioEncoder
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,则返回AV_ERR_OK,否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
diff --git a/zh-cn/application-dev/reference/native-apis/_codec_base.md b/zh-cn/application-dev/reference/native-apis/_codec_base.md
index 0246d18de02cae249484000f12c75e23a5119def..73ec0da471b39fad6b136aae14305767dd1690ac 100644
--- a/zh-cn/application-dev/reference/native-apis/_codec_base.md
+++ b/zh-cn/application-dev/reference/native-apis/_codec_base.md
@@ -5,83 +5,137 @@
CodecBase模块提供运行音视频编解码通用的结构体、字符常量、枚举。该模块在部分设备上可能不支持,可以通过[CanIUse](../syscap.md)接口确认。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+\@syscap SystemCapability.Multimedia.Media.CodecBase
**起始版本:**
+
9
+
## 汇总
### 文件
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
| [native_avcodec_base.h](native__avcodec__base_8h.md) | 声明运行音视频编解码通用的结构体、字符常量、枚举。
引用文件: |
### 结构体
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) | 定义OH_AVCodec的Buffer描述信息。 |
-| [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) | AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。 |
+| [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) | 定义OH_AVCodec的缓冲区描述信息。 |
+| [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) | OH_AVCodec中所有异步回调函数指针的集合。 |
### 类型定义
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [OH_AVCodecBufferFlags](#oh_avcodecbufferflags) | 枚举OH_AVCodec的Buffer标记的类别。 |
-| [OH_AVCodecBufferAttr](#oh_avcodecbufferattr) | 定义OH_AVCodec的Buffer描述信息。 |
-| (\*[OH_AVCodecOnError](#oh_avcodeconerror)) (OH_AVCodec \*codec, int32_t errorCode, void \*userData) | 当OH_AVCodec实例运行发生错误时,该函数指针会被调用以报告具体错误信息。 |
-| (\*[OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged)) (OH_AVCodec \*codec, OH_AVFormat \*format, void \*userData) | 当输出流发生变化时,该函数指针会被调用以报告新的流描述信息。 需要注意的时,OH_AVFormat指针的生命周期仅维持在该函数指针被调用时上有效,禁止在调用结束后继续访问。 |
-| (\*[OH_AVCodecOnNeedInputData](#oh_avcodeconneedinputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, void \*userData) | 当AVCodec运行过程中需要新的输入数据时,该函数指针会被调用,并携带一块可用的Buffer以供填入新的输入数据。 |
-| (\*[OH_AVCodecOnNewOutputData](#oh_avcodeconnewoutputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) \*attr, void \*userData) | 当AVCodec运行过程中产生了新的输出数据时,该函数指针会被调用,并携带一块包含新输出数据的Buffer, 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅维持在该函数指针被调用时有效,禁止调用结束后继续访问。 |
-| [OH_AVCodecAsyncCallback](#oh_avcodecasynccallback) | AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。 |
-| [OH_MediaType](#oh_mediatype) | 媒体类型。 |
-| [OH_AVCProfile](#oh_avcprofile) | AVC Profile枚举。 |
-| [OH_AACProfile](#oh_aacprofile) | AAC Profile枚举。 |
+| [OH_AVCodecBufferFlags](#oh_avcodecbufferflags) | 枚举OH_AVCodec缓冲区标记的类别。 |
+| [OH_AVOutputFormat](#oh_avoutputformat) | 枚举封装器的输出文件格式。 |
+| [OH_AVCodecBufferAttr](#oh_avcodecbufferattr) | 定义OH_AVCodec的缓冲区描述信息。 |
+| (\*[OH_AVCodecOnError](#oh_avcodeconerror)) (OH_AVCodec \*codec, int32_t errorCode, void \*userData) | 当OH_AVCodec实例运行出错时,会调用来上报具体的错误信息的函数指针。 |
+| (\*[OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged)) (OH_AVCodec \*codec, OH_AVFormat \*format, void \*userData) | 当输出流发生变化时,将调用此函数指针报告新的流描述信息。 |
+| (\*[OH_AVCodecOnNeedInputData](#oh_avcodeconneedinputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, void \*userData) | 当OH_AVCodec在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。 |
+| (\*[OH_AVCodecOnNewOutputData](#oh_avcodeconnewoutputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) \*attr, void \*userData) | 当OH_AVCodec运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。 |
+| [OH_AVCodecAsyncCallback](#oh_avcodecasynccallback) | OH_AVCodec中所有异步回调函数指针的集合。 |
+| [OH_MediaType](#oh_mediatype) | 媒体类型。 |
+| [OH_AVCProfile](#oh_avcprofile) | AVC Profile枚举。 |
+| [OH_HEVCProfile](#oh_hevcprofile) | HEVC Profile枚举。 |
+| [OH_AACProfile](#oh_aacprofile) | AAC Profile枚举。 |
+| [OH_AVSeekMode](#oh_avseekmode) | 跳转模式。 |
+| [OH_ColorPrimary](#oh_colorprimary) | 原色。 |
+| [OH_TransferCharacteristic](#oh_transfercharacteristic) | 转移特性。 |
+| [OH_MatrixCoefficient](#oh_matrixcoefficient) | 矩阵系数。 |
+| [OH_BitsPerSample](#oh_bitspersample) | 枚举每个编码样本的音频位数。 |
### 枚举
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [OH_AVCodecBufferFlags](#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
} | 枚举OH_AVCodec的Buffer标记的类别。 |
-| [OH_MediaType](#oh_mediatype) { **MEDIA_TYPE_AUD** = 0, **MEDIA_TYPE_VID** = 1 } | 媒体类型。 |
-| [OH_AVCProfile](#oh_avcprofile) { **AVC_PROFILE_BASELINE** = 0, **AVC_PROFILE_HIGH** = 4, **AVC_PROFILE_MAIN** = 8 } | AVC Profile枚举。 |
-| [OH_AACProfile](#oh_aacprofile) { **AAC_PROFILE_LC** = 0 } | AAC Profile枚举。 |
+| [OH_AVCodecBufferFlags](#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
} | 枚举OH_AVCodec缓冲区标记的类别。 |
+| [OH_AVOutputFormat](#oh_avoutputformat) { **AV_OUTPUT_FORMAT_DEFAULT** = 0, **AV_OUTPUT_FORMAT_MPEG_4** = 2, **AV_OUTPUT_FORMAT_M4A** = 6 } | 枚举封装器的输出文件格式。 |
+| [OH_MediaType](#oh_mediatype) { **MEDIA_TYPE_AUD** = 0, **MEDIA_TYPE_VID** = 1 } | 媒体类型。 |
+| [OH_AVCProfile](#oh_avcprofile) { **AVC_PROFILE_BASELINE** = 0, **AVC_PROFILE_HIGH** = 4, **AVC_PROFILE_MAIN** = 8 } | AVC Profile枚举。 |
+| [OH_HEVCProfile](#oh_hevcprofile) {
**HEVC_PROFILE_MAIN** = 0, **HEVC_PROFILE_MAIN_10** = 1, **HEVC_PROFILE_MAIN_STILL** = 2, **HEVC_PROFILE_MAIN_10_HDR10** = 3,
**HEVC_PROFILE_MAIN_10_HDR10_PLUS** = 4
} | HEVC Profile枚举。 |
+| [OH_AACProfile](#oh_aacprofile) { **AAC_PROFILE_LC** = 0 } | AAC Profile枚举。 |
+| [OH_AVSeekMode](#oh_avseekmode) { **SEEK_MODE_NEXT_SYNC** = 0, **SEEK_MODE_PREVIOUS_SYNC**, **SEEK_MODE_CLOSEST_SYNC** } | 跳转模式。 |
+| [OH_ColorPrimary](#oh_colorprimary) {
**COLOR_PRIMARY_BT709** = 1, **COLOR_PRIMARY_UNSPECIFIED** = 2, **COLOR_PRIMARY_BT470_M** = 4, **COLOR_PRIMARY_BT601_625** = 5,
**COLOR_PRIMARY_BT601_525** = 6, **COLOR_PRIMARY_SMPTE_ST240** = 7, **COLOR_PRIMARY_GENERIC_FILM** = 8, **COLOR_PRIMARY_BT2020** = 9,
**COLOR_PRIMARY_SMPTE_ST428** = 10, **COLOR_PRIMARY_P3DCI** = 11, **COLOR_PRIMARY_P3D65** = 12
} | 原色。 |
+| [OH_TransferCharacteristic](#oh_transfercharacteristic) {
**TRANSFER_CHARACTERISTIC_BT709** = 1, **TRANSFER_CHARACTERISTIC_UNSPECIFIED** = 2, **TRANSFER_CHARACTERISTIC_GAMMA_2_2** = 4, **TRANSFER_CHARACTERISTIC_GAMMA_2_8** = 5,
**TRANSFER_CHARACTERISTIC_BT601** = 6, **TRANSFER_CHARACTERISTIC_SMPTE_ST240** = 7, **TRANSFER_CHARACTERISTIC_LINEAR** = 8, **TRANSFER_CHARACTERISTIC_LOG** = 9,
**TRANSFER_CHARACTERISTIC_LOG_SQRT** = 10, **TRANSFER_CHARACTERISTIC_IEC_61966_2_4** = 11, **TRANSFER_CHARACTERISTIC_BT1361** = 12, **TRANSFER_CHARACTERISTIC_IEC_61966_2_1** = 13,
**TRANSFER_CHARACTERISTIC_BT2020_10BIT** = 14, **TRANSFER_CHARACTERISTIC_BT2020_12BIT** = 15, **TRANSFER_CHARACTERISTIC_PQ** = 16, **TRANSFER_CHARACTERISTIC_SMPTE_ST428** = 17,
**TRANSFER_CHARACTERISTIC_HLG** = 18
} | 转移特性。 |
+| [OH_MatrixCoefficient](#oh_matrixcoefficient) {
**MATRIX_COEFFICIENT_IDENTITY** = 0, **MATRIX_COEFFICIENT_BT709** = 1, **MATRIX_COEFFICIENT_UNSPECIFIED** = 2, **MATRIX_COEFFICIENT_FCC** = 4,
**MATRIX_COEFFICIENT_BT601_625** = 5, **MATRIX_COEFFICIENT_BT601_525** = 6, **MATRIX_COEFFICIENT_SMPTE_ST240** = 7, **MATRIX_COEFFICIENT_YCGCO** = 8,
**MATRIX_COEFFICIENT_BT2020_NCL** = 9, **MATRIX_COEFFICIENT_BT2020_CL** = 10, **MATRIX_COEFFICIENT_SMPTE_ST2085** = 11, **MATRIX_COEFFICIENT_CHROMATICITY_NCL** = 12,
**MATRIX_COEFFICIENT_CHROMATICITY_CL** = 13, **MATRIX_COEFFICIENT_ICTCP** = 14
} | 矩阵系数。 |
+| [OH_BitsPerSample](#oh_bitspersample) {
**SAMPLE_U8** = 0, **SAMPLE_S16LE** = 1, **SAMPLE_S24LE** = 2, **SAMPLE_S32LE** = 3,
**SAMPLE_F32LE** = 4, **SAMPLE_U8P** = 5, **SAMPLE_S16P** = 6, **SAMPLE_S24P** = 7,
**SAMPLE_S32P** = 8, **SAMPLE_F32P** = 9, **INVALID_WIDTH** = -1
} | 枚举每个编码样本的音频位数。 |
### 变量
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [OH_AVCodecBufferAttr::pts](#pts) | 以微秒为单位表示的该Buffer的Presentation时间戳 |
-| [OH_AVCodecBufferAttr::size](#size) | 以字节为单位表示的该Buffer内所包含数据的大小 |
-| [OH_AVCodecBufferAttr::offset](#offset) | 有效数据在该Buffer内的起始偏移量 |
-| [OH_AVCodecBufferAttr::flags](#flags) | u该Buffer具有的标记,也是多个[OH_AVCodecBufferFlags](#oh_avcodecbufferflags)的组合 |
-| [OH_AVCODEC_MIMETYPE_VIDEO_AVC](#oh_avcodec_mimetype_video_avc) | AVC视频编解码器的MIME类型。 |
-| [OH_AVCODEC_MIMETYPE_AUDIO_AAC](#oh_avcodec_mimetype_audio_aac) | AAC音频编解码器的MIME类型。 |
-| [OH_ED_KEY_TIME_STAMP](#oh_ed_key_time_stamp) | 提供统一的surface Buffer附属数据的字符描述符。 |
-| [OH_ED_KEY_EOS](#oh_ed_key_eos) | surface附属数据中结束流的字符描述符,值类型为bool |
-| [OH_MD_KEY_TRACK_TYPE](#oh_md_key_track_type) | 为媒体播放框架提供统一的字符描述符。 |
-| [OH_MD_KEY_CODEC_MIME](#oh_md_key_codec_mime) | mime类型的字符描述符,值类型为string |
-| [OH_MD_KEY_DURATION](#oh_md_key_duration) | duration的字符描述符,值类型为int64_t |
-| [OH_MD_KEY_BITRATE](#oh_md_key_bitrate) | 比特率的字符描述符,值类型为uint32_t |
-| [OH_MD_KEY_MAX_INPUT_SIZE](#oh_md_key_max_input_size) | 最大输入尺寸的字符描述符,值类型为uint32_t |
-| [OH_MD_KEY_WIDTH](#oh_md_key_width) | 视频宽度的字符描述符,值类型为uint32_t |
-| [OH_MD_KEY_HEIGHT](#oh_md_key_height) | 视频高度的字符描述符,值类型为uint32_t |
-| [OH_MD_KEY_PIXEL_FORMAT](#oh_md_key_pixel_format) | 视频像素格式的字符描述符,值类型为int32_t,具体见[OH_AVPixelFormat](_core.md#oh_avpixelformat) |
-| [OH_MD_KEY_AUDIO_SAMPLE_FORMAT](#oh_md_key_audio_sample_format) | 音频采样格式的字符描述符,值类型为uint32_t |
-| [OH_MD_KEY_FRAME_RATE](#oh_md_key_frame_rate) | 视频帧率的字符描述符,值类型为double |
-| [OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE](#oh_md_key_video_encode_bitrate_mode) | 视频编码比特率模式的字符描述符,值类型为int32_t,具体见[OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode) |
-| [OH_MD_KEY_PROFILE](#oh_md_key_profile) | 音视频编码能力的字符描述符,值类型为int32_t,具体见[OH_AVCProfile](#oh_avcprofile)或[OH_AACProfile](#oh_aacprofile) |
-| [OH_MD_KEY_AUD_CHANNEL_COUNT](#oh_md_key_aud_channel_count) | 音频声道数的字符描述符,值类型为uint32_t |
-| [OH_MD_KEY_AUD_SAMPLE_RATE](#oh_md_key_aud_sample_rate) | 音频采样率的字符描述符,值类型为uint32_t |
-| [OH_MD_KEY_I_FRAME_INTERVAL](#oh_md_key_i_frame_interval) | I帧间隔时长的字符描述符,值类型为int32_t,单位是毫秒 |
-| [OH_MD_KEY_ROTATION](#oh_md_key_rotation) | surface旋转角度的字符描述符,值类型为int32_t,限于{0, 90, 180, 270},默认值为0 |
+| [OH_AVCodecBufferAttr::pts](_o_h___a_v_codec_buffer_attr.md#pts) | 此缓冲区的显示时间戳(以微秒为单位) |
+| [OH_AVCodecBufferAttr::size](_o_h___a_v_codec_buffer_attr.md#size) | 缓冲区中包含的数据的大小(以字节为单位) |
+| [OH_AVCodecBufferAttr::offset](_o_h___a_v_codec_buffer_attr.md#offset) | 此缓冲区中有效数据的起始偏移量 |
+| [OH_AVCodecBufferAttr::flags](_o_h___a_v_codec_buffer_attr.md#flags) | 此缓冲区具有的标志,也是多个[OH_AVCodecBufferFlags](#oh_avcodecbufferflags)的组合。 |
+| [OH_AVCodecAsyncCallback::onError](_o_h___a_v_codec_async_callback.md#onerror) | 监控编解码器操作错误,请参见[OH_AVCodecOnError](#oh_avcodeconerror) |
+| [OH_AVCodecAsyncCallback::onStreamChanged](_o_h___a_v_codec_async_callback.md#onstreamchanged) | 监控编解码器流变化,请参见[OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged) |
+| [OH_AVCodecAsyncCallback::onNeedInputData](_o_h___a_v_codec_async_callback.md#onneedinputdata) | 监控编解码器需要输入数据,请参见[OH_AVCodecOnNeedInputData](#oh_avcodeconneedinputdata) |
+| [OH_AVCodecAsyncCallback::onNeedOutputData](_o_h___a_v_codec_async_callback.md#onneedinputdata) | 监控编解码器已生成输出数据,请参见[OH_AVCodecOnNewOutputData](#oh_avcodeconnewoutputdata) |
+| \*[OH_AVCODEC_MIMETYPE_VIDEO_AVC](#oh_avcodec_mimetype_video_avc) | AVC视频编解码器的MIME类型。 |
+| \*[OH_AVCODEC_MIMETYPE_AUDIO_AAC](#oh_avcodec_mimetype_audio_avc) | AAC音频编解码器的MIME类型。 |
+| \*[OH_AVCODEC_MIMETYPE_VIDEO_MPEG4](#oh_avcodec_mimetype_video_mpeg4) | MPEG4视频编解码器的MIME类型。 |
+| \*OH_AVCODEC_MIMETYPE_VIDEO_HEVC | HEVC视频编解码器的MIME类型。 |
+| \*OH_AVCODEC_MIMETYPE_AUDIO_MPEG | MPEG音频编解码器的MIME类型。 |
+| \*OH_AVCODEC_MIMETYPE_IMAGE_JPG | JPG图片编解码器的MIME类型。 |
+| \*OH_AVCODEC_MIMETYPE_IMAGE_PNG | PNG图片编解码器的MIME类型。 |
+| \*OH_AVCODEC_MIMETYPE_IMAGE_BMP | BMP图片编解码器的MIME类型。 |
+| \*OH_AVCODEC_MIMETYPE_AUDIO_FLAC | FLAC音频编解码器的MIME类型。 |
+| \*OH_AVCODEC_MIMETYPE_AUDIO_VORBIS | VORBIS音频编解码器的MIME类型。 |
+| \*[OH_ED_KEY_TIME_STAMP](#oh_ed_key_time_stamp) | 提供统一的surface Buffer附属数据的字符描述符。 |
+| \*OH_ED_KEY_EOS | surface附属数据中结束流的字符描述符,值类型为bool |
+| \*[OH_MD_KEY_TRACK_TYPE](#oh_md_key_track_type) | 为媒体播放框架提供统一的字符描述符。 |
+| \*OH_MD_KEY_CODEC_MIME | mime类型的字符描述符,值类型为string |
+| \*OH_MD_KEY_DURATION | duration的字符描述符,值类型为int64_t |
+| \*OH_MD_KEY_BITRATE | 比特率的字符描述符,值类型为uint32_t |
+| \*OH_MD_KEY_MAX_INPUT_SIZE | 最大输入尺寸的字符描述符,值类型为uint32_t |
+| \*OH_MD_KEY_WIDTH | 视频宽度的字符描述符,值类型为uint32_t |
+| \*OH_MD_KEY_HEIGHT | 视频高度的字符描述符,值类型为uint32_t |
+| \*OH_MD_KEY_PIXEL_FORMAT | 视频像素格式的字符描述符,值类型为int32_t,具体见[OH_AVPixelFormat](_core.md#oh_avpixelformat) |
+| \*OH_MD_KEY_RANGE_FLAG | |
+| \*OH_MD_KEY_COLOR_PRIMARIES | |
+| \*OH_MD_KEY_TRANSFER_CHARACTERISTICS | |
+| \*OH_MD_KEY_MATRIX_COEFFICIENTS | |
+| \*OH_MD_KEY_AUDIO_SAMPLE_FORMAT | 音频采样格式的字符描述符,值类型为uint32_t |
+| \*OH_MD_KEY_FRAME_RATE | 视频帧率的字符描述符,值类型为double |
+| \*OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE | 视频编码比特率模式的字符描述符,值类型为int32_t,具体见[OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode) |
+| \*OH_MD_KEY_PROFILE | 音视频编码能力的字符描述符,值类型为int32_t,具体见[OH_AVCProfile](#oh_avcprofile)或[OH_AACProfile](#oh_aacprofile) |
+| \*OH_MD_KEY_AUD_CHANNEL_COUNT | 音频声道数的字符描述符,值类型为uint32_t |
+| \*OH_MD_KEY_AUD_SAMPLE_RATE | 音频采样率的字符描述符,值类型为uint32_t |
+| \*OH_MD_KEY_I_FRAME_INTERVAL | I帧间隔时长的字符描述符,值类型为int32_t,单位是毫秒 |
+| \*OH_MD_KEY_ROTATION | surface旋转角度的字符描述符,值类型为int32_t,限于{0, 90, 180, 270},默认值为0 |
+| \*OH_MD_KEY_CODEC_CONFIG | |
+| \*OH_MD_KEY_REQUEST_I_FRAME | |
+| \*OH_MD_KEY_QUALITY | |
+| \*OH_MD_KEY_CHANNEL_LAYOUT | |
+| \*OH_MD_KEY_BITS_PER_CODED_SAMPLE | |
+| \*OH_MD_KEY_AAC_IS_ADTS | |
+| \*OH_MD_KEY_SBR | |
+| \*OH_MD_KEY_COMPLIANCE_LEVEL | |
+| \*OH_MD_KEY_IDENTIFICATION_HEADER | |
+| \*OH_MD_KEY_SETUP_HEADER | |
+| \*OH_MD_KEY_TITLE | |
+| \*OH_MD_KEY_ARTIST | |
+| \*OH_MD_KEY_ALBUM | |
+| \*OH_MD_KEY_ALBUM_ARTIST | |
+| \*OH_MD_KEY_DATE | |
+| \*OH_MD_KEY_COMMENT | |
+| \*OH_MD_KEY_GENRE | |
+| \*OH_MD_KEY_COPYRIGHT | |
+| \*OH_MD_KEY_LANGUAGE | |
+| \*OH_MD_KEY_DESCRIPTION | |
+| \*OH_MD_KEY_LYRICS | |
+| \*OH_MD_KEY_TRACK_COUNT | |
## 类型定义说明
@@ -93,10 +147,12 @@ CodecBase模块提供运行音视频编解码通用的结构体、字符常量
```
typedef enum OH_AACProfileOH_AACProfile
```
-**描述:**
+
+**描述:**
+
AAC Profile枚举。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+\@syscap SystemCapability.Multimedia.Media.CodecBase
### OH_AVCodecAsyncCallback
@@ -105,19 +161,21 @@ AAC Profile枚举。
```
typedef struct OH_AVCodecAsyncCallbackOH_AVCodecAsyncCallback
```
-**描述:**
-AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+**描述:**
-**参数:**
+OH_AVCodec中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVCodec实例中, 并处理回调上报的信息,以保证OH_AVCodec的正常运行。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| onError | 监听AVCodec运行错误,参考[OH_AVCodecOnError](#oh_avcodeconerror) |
-| onStreamChanged | 监听编解码流信息,参考[OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged) |
-| onNeedInputData | 监听编解码需要输入数据,参考[OH_AVCodecOnNeedInputData](#oh_avcodeconneedinputdata) |
-| onNeedInputData | 监听编解码产生输出数据,参考[OH_AVCodecOnNewOutputData](#oh_avcodeconnewoutputdata) |
+| [onError](_o_h___a_v_codec_async_callback.md#onerror) | 监控编解码器操作错误,请参见[OH_AVCodecOnError](#oh_avcodeconerror) |
+| [onStreamChanged](_o_h___a_v_codec_async_callback.md#onstreamchanged) | 监控编解码器流变化,请参见[OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged) |
+| [onNeedInputData](_o_h___a_v_codec_async_callback.md#onneedinputdata) | 监控编解码器需要输入数据,请参见[OH_AVCodecOnNeedInputData](#oh_avcodeconneedinputdata) |
+| [onNeedOutputData](_o_h___a_v_codec_async_callback.md#onneedoutputdata) | 监控编解码器已生成输出数据,请参见[OH_AVCodecOnNewOutputData](#oh_avcodeconnewoutputdata) |
### OH_AVCodecBufferAttr
@@ -126,10 +184,12 @@ AVCodec所有的异步回调函数指针集合。注册一个该结构体实例
```
typedef struct OH_AVCodecBufferAttrOH_AVCodecBufferAttr
```
-**描述:**
-定义OH_AVCodec的Buffer描述信息。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+**描述:**
+
+定义OH_AVCodec的缓冲区描述信息。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
### OH_AVCodecBufferFlags
@@ -138,10 +198,10 @@ typedef struct OH_AVCodecBufferAttrOH_AVCodecBufferAttr
```
typedef enum OH_AVCodecBufferFlagsOH_AVCodecBufferFlags
```
-**描述:**
-枚举OH_AVCodec的Buffer标记的类别。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+**描述:**
+
+枚举OH_AVCodec缓冲区标记的类别 \@syscap SystemCapability.Multimedia.Media.CodecBase
### OH_AVCodecOnError
@@ -150,18 +210,18 @@ typedef enum OH_AVCodecBufferFlagsOH_AVCodecBufferFlags
```
typedef void(* OH_AVCodecOnError) (OH_AVCodec *codec, int32_t errorCode, void *userData)
```
-**描述:**
-当OH_AVCodec实例运行发生错误时,该函数指针会被调用以报告具体错误信息。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+**描述:**
+
+当OH_AVCodec实例运行出错时,会调用来上报具体的错误信息的函数指针。 \@syscap SystemCapability.Multimedia.Media.CodecBase
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| codec | OH_AVCodec实例 |
-| errorCode | 具体错误码 |
-| userData | 用户特定数据 |
+| codec | OH_AVCodec实例 |
+| errorCode | 特定错误代码 |
+| userData | 用户特定数据 |
### OH_AVCodecOnNeedInputData
@@ -170,19 +230,19 @@ typedef void(* OH_AVCodecOnError) (OH_AVCodec *codec, int32_t errorCode, void *u
```
typedef void(* OH_AVCodecOnNeedInputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, void *userData)
```
-**描述:**
-当AVCodec运行过程中需要新的输入数据时,该函数指针会被调用,并携带一块可用的Buffer以供填入新的输入数据。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+**描述:**
-**参数:**
+当OH_AVCodec在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。 \@syscap SystemCapability.Multimedia.Media.CodecBase
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | OH_AVCodec实例 |
-| index | 新的可用的输入Buffer对应的索引 |
-| data | 新的可用的输入Buffer |
-| userData | 用户特定数据 |
+| codec | OH_AVCodec实例 |
+| index | 与新可用的输入缓冲区相对应的索引 |
+| data | 新的可用输入缓冲区 |
+| userData | 用户特定数据 |
### OH_AVCodecOnNewOutputData
@@ -191,20 +251,20 @@ typedef void(* OH_AVCodecOnNeedInputData) (OH_AVCodec *codec, uint32_t index, OH
```
typedef void(* OH_AVCodecOnNewOutputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, OH_AVCodecBufferAttr *attr, void *userData)
```
-**描述:**
-当AVCodec运行过程中产生了新的输出数据时,该函数指针会被调用,并携带一块包含新输出数据的Buffer, 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅维持在该函数指针被调用时有效,禁止调用结束后继续访问。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+**描述:**
+
+当OH_AVCodec运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅在调用函数指针时有效,这将禁止调用结束后继续访问。 \@syscap SystemCapability.Multimedia.Media.CodecBase
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| codec | OH_AVCodec实例 |
-| index | 新的输出Buffer对应的索引 |
-| data | 包含新的输出数据的Buffer |
-| attr | 新的输出Buffer的描述信息,具体参考[OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) |
-| userData | specified data |
+| codec | OH_AVCodec实例 |
+| index | 与新输出缓冲区对应的索引 |
+| data | 包含新输出数据的缓冲区 |
+| attr | 新输出缓冲区的说明,请参见[OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) |
+| userData | 用户特定数据 |
### OH_AVCodecOnStreamChanged
@@ -213,18 +273,18 @@ typedef void(* OH_AVCodecOnNewOutputData) (OH_AVCodec *codec, uint32_t index, OH
```
typedef void(* OH_AVCodecOnStreamChanged) (OH_AVCodec *codec, OH_AVFormat *format, void *userData)
```
-**描述:**
-当输出流发生变化时,该函数指针会被调用以报告新的流描述信息。 需要注意的时,OH_AVFormat指针的生命周期仅维持在该函数指针被调用时上有效,禁止在调用结束后继续访问。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+**描述:**
-**参数:**
+当输出流发生变化时,将调用此函数指针报告新的流描述信息。需要注意的是, OH_AVFormat指针的生命周期只有在函数指针被调用时才有效,调用结束后禁止继续访问。 \@syscap SystemCapability.Multimedia.Media.CodecBase
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | OH_AVCodec实例 |
-| format | 新的输出流描述信息 |
-| userData | 用户特定数据 |
+| codec | OH_AVCodec实例 |
+| format | 新输出流描述信息 |
+| userData | 用户特定数据 |
### OH_AVCProfile
@@ -233,333 +293,323 @@ typedef void(* OH_AVCodecOnStreamChanged) (OH_AVCodec *codec, OH_AVFormat *forma
```
typedef enum OH_AVCProfileOH_AVCProfile
```
-**描述:**
-AVC Profile枚举。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+**描述:**
+AVC模板 \@syscap SystemCapability.Multimedia.Media.CodecBase
-### OH_MediaType
+
+### OH_AVOutputFormat
```
-typedef enum OH_MediaTypeOH_MediaType
+typedef enum OH_AVOutputFormatOH_AVOutputFormat
```
-**描述:**
-媒体类型。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+**描述:**
+枚举封装器的输出文件格式
-## 枚举类型说明
+**起始版本:**
+10
-### OH_AACProfile
+
+### OH_AVSeekMode
```
-enum OH_AACProfile
+typedef enum OH_AVSeekModeOH_AVSeekMode
```
-**描述:**
-AAC Profile枚举。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+**描述:**
+寻找模式 \@syscap SystemCapability.Multimedia.Media.CodecBase
-### OH_AVCodecBufferFlags
+
+### OH_BitsPerSample
```
-enum OH_AVCodecBufferFlags
+typedef enum OH_BitsPerSampleOH_BitsPerSample
```
-**描述:**
-枚举OH_AVCodec的Buffer标记的类别。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+**描述:**
- | 枚举值 | 描述 |
-| -------- | -------- |
-| AVCODEC_BUFFER_FLAGS_EOS | 表明该Buffer是End-of-Stream帧 |
-| AVCODEC_BUFFER_FLAGS_SYNC_FRAME | 表明该Buffer内包含关键帧 |
-| AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME | 表明该Buffer内包含的数据仅仅为一帧的一部分 |
-| AVCODEC_BUFFER_FLAGS_CODEC_DATA | 表明该Buffer包含Codec-Specific-Data |
+枚举每个编码样本的音频位数 \@syscap SystemCapability.Multimedia.Media.CodecBase
-### OH_AVCProfile
+### OH_ColorPrimary
```
-enum OH_AVCProfile
+typedef enum OH_ColorPrimaryOH_ColorPrimary
```
-**描述:**
-AVC Profile枚举。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+**描述:**
+原色 \@syscap SystemCapability.Multimedia.Media.CodecBase
-### OH_MediaType
+
+### OH_HEVCProfile
```
-enum OH_MediaType
+typedef enum OH_HEVCProfileOH_HEVCProfile
```
-**描述:**
-媒体类型。
-
-@syscap SystemCapability.Multimedia.Media.CodecBase
-
- | 枚举值 | 描述 |
-| -------- | -------- |
-| MEDIA_TYPE_AUD | 音频轨道 |
-| MEDIA_TYPE_VID | 视频轨道 |
+**描述:**
-## 变量说明
+HEVC模板 \@syscap SystemCapability.Multimedia.Media.CodecBase
-### flags
+### OH_MatrixCoefficient
```
-uint32_t OH_AVCodecBufferAttr::flags
+typedef enum OH_MatrixCoefficientOH_MatrixCoefficient
```
-**描述:**
-该Buffer具有的标记,也是多个[OH_AVCodecBufferFlags](#oh_avcodecbufferflags)的组合
+**描述:**
-### offset
+矩阵系数 \@syscap SystemCapability.Multimedia.Media.CodecBase
-
-```
-int32_t OH_AVCodecBufferAttr::offset
-```
-**描述:**
-有效数据在该Buffer内的起始偏移量
-
-### OH_AVCODEC_MIMETYPE_AUDIO_AAC
+### OH_MediaType
```
-const char* OH_AVCODEC_MIMETYPE_AUDIO_AAC
+typedef enum OH_MediaTypeOH_MediaType
```
-**描述:**
-AAC音频编解码器的MIME类型。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+**描述:**
+媒体类型。 \@syscap SystemCapability.Multimedia.Media.CodecBase
-### OH_AVCODEC_MIMETYPE_VIDEO_AVC
+
+### OH_TransferCharacteristic
```
-const char* OH_AVCODEC_MIMETYPE_VIDEO_AVC
+typedef enum OH_TransferCharacteristicOH_TransferCharacteristic
```
-**描述:**
-AVC视频编解码器的MIME类型。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+**描述:**
+转移特性 \@syscap SystemCapability.Multimedia.Media.CodecBase
-### OH_ED_KEY_EOS
-
-```
-const char* OH_ED_KEY_EOS
-```
-**描述:**
-surface附属数据中结束流的字符描述符,值类型为bool
+## 枚举类型说明
-### OH_ED_KEY_TIME_STAMP
+### OH_AACProfile
```
-const char* OH_ED_KEY_TIME_STAMP
+enum OH_AACProfile
```
-**描述:**
-提供统一的surface Buffer附属数据的字符描述符。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+**描述:**
+AAC模板 \@syscap SystemCapability.Multimedia.Media.CodecBase
-### OH_MD_KEY_AUD_CHANNEL_COUNT
+
+### OH_AVCodecBufferFlags
```
-const char* OH_MD_KEY_AUD_CHANNEL_COUNT
+enum OH_AVCodecBufferFlags
```
-**描述:**
-音频声道数的字符描述符,值类型为uint32_t
+**描述:**
+
+枚举OH_AVCodec缓冲区标记的类别 \@syscap SystemCapability.Multimedia.Media.CodecBase
-### OH_MD_KEY_AUD_SAMPLE_RATE
+
+### OH_AVCProfile
```
-const char* OH_MD_KEY_AUD_SAMPLE_RATE
+enum OH_AVCProfile
```
-**描述:**
-音频采样率的字符描述符,值类型为uint32_t
+
+**描述:**
+
+AVC模板 \@syscap SystemCapability.Multimedia.Media.CodecBase
-### OH_MD_KEY_AUDIO_SAMPLE_FORMAT
+### OH_AVOutputFormat
```
-const char* OH_MD_KEY_AUDIO_SAMPLE_FORMAT
+enum OH_AVOutputFormat
```
-**描述:**
-音频采样格式的字符描述符,值类型为uint32_t
+**描述:**
-### OH_MD_KEY_BITRATE
+枚举封装器的输出文件格式
+
+
+### OH_AVSeekMode
```
-const char* OH_MD_KEY_BITRATE
+enum OH_AVSeekMode
```
-**描述:**
-比特率的字符描述符,值类型为uint32_t
+
+**描述:**
+
+寻找模式 \@syscap SystemCapability.Multimedia.Media.CodecBase
-### OH_MD_KEY_CODEC_MIME
+### OH_BitsPerSample
```
-const char* OH_MD_KEY_CODEC_MIME
+enum OH_BitsPerSample
```
-**描述:**
-mime类型的字符描述符,值类型为string
+**描述:**
-### OH_MD_KEY_DURATION
+枚举每个编码样本的音频位数 \@syscap SystemCapability.Multimedia.Media.CodecBase
+
+
+### OH_ColorPrimary
```
-const char* OH_MD_KEY_DURATION
+enum OH_ColorPrimary
```
-**描述:**
-duration的字符描述符,值类型为int64_t
+
+**描述:**
+
+原色 \@syscap SystemCapability.Multimedia.Media.CodecBase
-### OH_MD_KEY_FRAME_RATE
+### OH_HEVCProfile
```
-const char* OH_MD_KEY_FRAME_RATE
+enum OH_HEVCProfile
```
-**描述:**
-视频帧率的字符描述符,值类型为double
+**描述:**
-### OH_MD_KEY_HEIGHT
+HEVC模板 \@syscap SystemCapability.Multimedia.Media.CodecBase
+
+
+### OH_MatrixCoefficient
```
-const char* OH_MD_KEY_HEIGHT
+enum OH_MatrixCoefficient
```
-**描述:**
-视频高度的字符描述符,值类型为uint32_t
+**描述:**
+
+矩阵系数 \@syscap SystemCapability.Multimedia.Media.CodecBase
-### OH_MD_KEY_I_FRAME_INTERVAL
+
+### OH_MediaType
```
-const char* OH_MD_KEY_I_FRAME_INTERVAL
+enum OH_MediaType
```
-**描述:**
-I帧间隔时长的字符描述符,值类型为int32_t,单位是毫秒
+**描述:**
+
+媒体类型。 \@syscap SystemCapability.Multimedia.Media.CodecBase
-### OH_MD_KEY_MAX_INPUT_SIZE
+
+### OH_TransferCharacteristic
```
-const char* OH_MD_KEY_MAX_INPUT_SIZE
+enum OH_TransferCharacteristic
```
-**描述:**
-最大输入尺寸的字符描述符,值类型为uint32_t
+**描述:**
-### OH_MD_KEY_PIXEL_FORMAT
+转移特性 \@syscap SystemCapability.Multimedia.Media.CodecBase
-
-```
-const char* OH_MD_KEY_PIXEL_FORMAT
-```
-**描述:**
-视频像素格式的字符描述符,值类型为int32_t,具体见[OH_AVPixelFormat](_core.md#oh_avpixelformat)
+
+## 变量说明
-### OH_MD_KEY_PROFILE
+### OH_AVCODEC_MIMETYPE_VIDEO_AVC
```
-const char* OH_MD_KEY_PROFILE
+const char* OH_AVCODEC_MIMETYPE_VIDEO_AVC
```
-**描述:**
-音视频编码能力的字符描述符,值类型为int32_t,具体见[OH_AVCProfile](#oh_avcprofile)或[OH_AACProfile](#oh_aacprofile)
+**描述:**
-### OH_MD_KEY_ROTATION
+AVC视频编解码器的MIME类型。
-
-```
-const char* OH_MD_KEY_ROTATION
-```
-**描述:**
-surface旋转角度的字符描述符,值类型为int32_t,限于{0, 90, 180, 270},默认值为0
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+**起始版本:**
+
+9
-### OH_MD_KEY_TRACK_TYPE
+
+### OH_AVCODEC_MIMETYPE_AUDIO_AVC
```
-const char* OH_MD_KEY_TRACK_TYPE
+const char* OH_AVCODEC_MIMETYPE_AUDIO_AVC
```
-**描述:**
-为媒体播放框架提供统一的字符描述符。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+**描述:**
+AAC音频编解码器的MIME类型。
-### OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE
+\@syscap SystemCapability.Multimedia.Media.CodecBase
-
-```
-const char* OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE
-```
-**描述:**
-视频编码比特率模式的字符描述符,值类型为int32_t,具体见[OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode)
+**起始版本:**
+
+9
-### OH_MD_KEY_WIDTH
+### OH_AVCODEC_MIMETYPE_VIDEO_MPEG4
```
-const char* OH_MD_KEY_WIDTH
+const char* OH_AVCODEC_MIMETYPE_VIDEO_MPEG4
```
-**描述:**
-视频宽度的字符描述符,值类型为uint32_t
+**描述:**
-### pts
+MPEG4视频编解码器的MIME类型。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**起始版本:**
+
+10
+
+
+### OH_ED_KEY_TIME_STAMP
```
-int64_t OH_AVCodecBufferAttr::pts
+const char* OH_ED_KEY_TIME_STAMP
```
-**描述:**
-以微秒为单位表示的该Buffer的Presentation时间戳
+**描述:**
+
+表面缓冲区的额外数据的键 \@syscap SystemCapability.Multimedia.Media.CodecBase
-### size
+
+### OH_MD_KEY_TRACK_TYPE
```
-int32_t OH_AVCodecBufferAttr::size
+const char* OH_MD_KEY_TRACK_TYPE
```
-**描述:**
-以字节为单位表示的该Buffer内所包含数据的大小
+
+**描述:**
+
+提供统一容器,用于存储媒体描述。 \@syscap SystemCapability.Multimedia.Media.CodecBase
diff --git a/zh-cn/application-dev/reference/native-apis/_core.md b/zh-cn/application-dev/reference/native-apis/_core.md
index 0fd46eb392753fd223478b8f74d4847ee37f5cbd..9ff6cf8e604c4f917ebcb6ff88a09ebacaa59034 100644
--- a/zh-cn/application-dev/reference/native-apis/_core.md
+++ b/zh-cn/application-dev/reference/native-apis/_core.md
@@ -5,17 +5,19 @@
Core模块提供用于播放框架的基础骨干能力,包含内存、错误码、格式载体等相关函数。
-@syscap SystemCapability.Multimedia.Media.Core
+\@syscap SystemCapability.Multimedia.Media.Core
**起始版本:**
+
9
+
## 汇总
### 文件
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
| [native_averrors.h](native__averrors_8h.md) | 声明了媒体播放框架的错误码。
引用文件: |
| [native_avformat.h](native__avformat_8h.md) | 声明了格式相关的函数和枚举。
引用文件: |
@@ -24,42 +26,46 @@ Core模块提供用于播放框架的基础骨干能力,包含内存、错误
### 类型定义
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [OH_AVErrCode](#oh_averrcode) | 音视频错误码。 |
-| [OH_AVPixelFormat](#oh_avpixelformat) | AVPixel 格式的枚举。 |
+| [OH_AVErrCode](#oh_averrcode) | 音视频错误码。 |
+| [OH_AVPixelFormat](#oh_avpixelformat) | AVPixel 格式的枚举类。 |
### 枚举
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [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
} | 音视频错误码。 |
-| [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
} | AVPixel 格式的枚举。 |
+| [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
} | 音视频错误码。 |
+| [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
} | AVPixel 格式的枚举类。 |
### 函数
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [OH_AVFormat_Create](#oh_avformat_create) (void) | 创建一个OH_AVFormat句柄指针,用以读写数据。 |
-| [OH_AVFormat_Destroy](#oh_avformat_destroy) (struct OH_AVFormat \*format) | 销毁指定OH_AVFormat句柄资源。 |
-| [OH_AVFormat_Copy](#oh_avformat_copy) (struct OH_AVFormat \*to, struct OH_AVFormat \*from) | 拷贝OH_AVFormat句柄资源. |
-| [OH_AVFormat_SetIntValue](#oh_avformat_setintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t value) | 向OH_AVFormat写入Int数据. |
-| [OH_AVFormat_SetLongValue](#oh_avformat_setlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t value) | 向OH_AVFormat写入Long数据。 |
-| [OH_AVFormat_SetFloatValue](#oh_avformat_setfloatvalue) (struct OH_AVFormat \*format, const char \*key, float value) | 向OH_AVFormat写入Float数据。 |
-| [OH_AVFormat_SetDoubleValue](#oh_avformat_setdoublevalue) (struct OH_AVFormat \*format, const char \*key, double value) | 向OH_AVFormat写入Double数据。 |
-| [OH_AVFormat_SetStringValue](#oh_avformat_setstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*value) | 向OH_AVFormat写入String数据。 |
-| [OH_AVFormat_SetBuffer](#oh_avformat_setbuffer) (struct OH_AVFormat \*format, const char \*key, const uint8_t \*addr, size_t size) | 向OH_AVFormat写入一块指定长度的数据。 |
-| [OH_AVFormat_GetIntValue](#oh_avformat_getintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t \*out) | 从OH_AVFormat读取Int数据。 |
-| [OH_AVFormat_GetLongValue](#oh_avformat_getlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t \*out) | 从OH_AVFormat读取Long数据。 |
-| [OH_AVFormat_GetFloatValue](#oh_avformat_getfloatvalue) (struct OH_AVFormat \*format, const char \*key, float \*out) | 从OH_AVFormat读取Float数据。 |
-| [OH_AVFormat_GetDoubleValue](#oh_avformat_getdoublevalue) (struct OH_AVFormat \*format, const char \*key, double \*out) | 从OH_AVFormat读取Double数据。 |
-| [OH_AVFormat_GetStringValue](#oh_avformat_getstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*\*out) | 从OH_AVFormat读取Double数据。 |
-| [OH_AVFormat_GetBuffer](#oh_avformat_getbuffer) (struct OH_AVFormat \*format, const char \*key, uint8_t \*\*addr, size_t \*size) | 从OH_AVFormat读取一块指定长度的数据。 |
-| [OH_AVFormat_DumpInfo](#oh_avformat_dumpinfo) (struct OH_AVFormat \*format) | 以字符串的形式输出OH_AVFormat所包含的信息。 |
-| [OH_AVMemory_GetAddr](#oh_avmemory_getaddr) (struct OH_AVMemory \*mem) | 获取入参的内存虚拟地址。 |
-| [OH_AVMemory_GetSize](#oh_avmemory_getsize) (struct OH_AVMemory \*mem) | 获取入参的内存长度。 |
+| \*[OH_AVFormat_Create](#oh_avformat_create) (void) | 创建OH_AVFormat句柄,用于读取数据。 |
+| \*[OH_AVFormat_CreateAudioFormat](#oh_avformat_createaudioformat) (const char \*mimeType, int32_t sampleRate, int32_t channelCount) | 创建音频OH_AVFormat句柄指针,用于读写数据。 |
+| \*[OH_AVFormat_CreateVideoFormat](#oh_avformat_createvideoformat) (const char \*mimeType, int32_t width, int32_t height) | 创建视频OH_AVFormat句柄指针,用于读写数据。 |
+| [OH_AVFormat_Destroy](#oh_avformat_destroy) (struct OH_AVFormat \*format) | 销毁OH_AVFormat句柄。 |
+| [OH_AVFormat_Copy](#oh_avformat_copy) (struct OH_AVFormat \*to, struct OH_AVFormat \*from) | 复制OH_AVFormat句柄。 |
+| [OH_AVFormat_SetIntValue](#oh_avformat_setintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t value) | 将int数据写入OH_AVFormat。 |
+| [OH_AVFormat_SetLongValue](#oh_avformat_setlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t value) | 将long数据写入OH_AVFormat。 |
+| [OH_AVFormat_SetFloatValue](#oh_avformat_setfloatvalue) (struct OH_AVFormat \*format, const char \*key, float value) | 将float数据写入OH_AVFormat。 |
+| [OH_AVFormat_SetDoubleValue](#oh_avformat_setdoublevalue) (struct OH_AVFormat \*format, const char \*key, double value) | 将double数据写入OH_AVFormat。 |
+| [OH_AVFormat_SetStringValue](#oh_avformat_setstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*value) | 将string数据写入OH_AVFormat。 |
+| [OH_AVFormat_SetBuffer](#oh_avformat_setbuffer) (struct OH_AVFormat \*format, const char \*key, const uint8_t \*addr, size_t size) | 将指定长度的数据块写入OH_AVFormat。 |
+| [OH_AVFormat_GetIntValue](#oh_avformat_getintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t \*out) | 从OH_AVFormat读取int数据。 |
+| [OH_AVFormat_GetLongValue](#oh_avformat_getlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t \*out) | 从OH_AVFormat读取long数据。 |
+| [OH_AVFormat_GetFloatValue](#oh_avformat_getfloatvalue) (struct OH_AVFormat \*format, const char \*key, float \*out) | 从OH_AVFormat读取float数据。 |
+| [OH_AVFormat_GetDoubleValue](#oh_avformat_getdoublevalue) (struct OH_AVFormat \*format, const char \*key, double \*out) | 从OH_AVFormat读取double数据。 |
+| [OH_AVFormat_GetStringValue](#oh_avformat_getstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*\*out) | 从OH_AVFormat读取string数据。 |
+| [OH_AVFormat_GetBuffer](#oh_avformat_getbuffer) (struct OH_AVFormat \*format, const char \*key, uint8_t \*\*addr, size_t \*size) | 从OH_AVFormat中读取指定长度的数据块。 |
+| \*[OH_AVFormat_DumpInfo](#oh_avformat_dumpinfo) (struct OH_AVFormat \*format) | 输出OH_AVFormat中包含的字符串。 |
+| \*[OH_AVMemory_Create](#oh_avmemory_create) (int32_t size) | 创建OH_AVMemory实例的指针。 |
+| \*[OH_AVMemory_GetAddr](#oh_avmemory_getaddr) (struct OH_AVMemory \*mem) | 获取入参的内存虚拟地址。 |
+| [OH_AVMemory_GetSize](#oh_avmemory_getsize) (struct OH_AVMemory \*mem) | 获取入参的内存长度。 |
+| [OH_AVMemory_Destroy](#oh_avmemory_destroy) (struct OH_AVMemory \*mem) | 释放OH_AVMemory实例指针的资源。 |
## 类型定义说明
@@ -71,10 +77,16 @@ Core模块提供用于播放框架的基础骨干能力,包含内存、错误
```
typedef enum OH_AVErrCodeOH_AVErrCode
```
-**描述:**
+
+**描述:**
+
音视频错误码。
-@syscap SystemCapability.Multimedia.Media.Core
+\@syscap SystemCapability.Multimedia.Media.Core
+
+**起始版本:**
+
+9
### OH_AVPixelFormat
@@ -83,10 +95,16 @@ typedef enum OH_AVErrCodeOH_AVErrCode
```
typedef enum OH_AVPixelFormatOH_AVPixelFormat
```
-**描述:**
-AVPixel 格式的枚举。
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
+
+视频像素格式的枚举类。
+
+\@syscap SystemCapability.Multimedia.Media.Core
+
+**起始版本:**
+
+9
## 枚举类型说明
@@ -98,24 +116,30 @@ AVPixel 格式的枚举。
```
enum OH_AVErrCode
```
-**描述:**
+
+**描述:**
+
音视频错误码。
-@syscap SystemCapability.Multimedia.Media.Core
+\@syscap SystemCapability.Multimedia.Media.Core
+
+**起始版本:**
- | 枚举值 | 描述 |
+9
+
+| 枚举值 | 描述 |
| -------- | -------- |
-| AV_ERR_OK | 操作成功 |
-| AV_ERR_NO_MEMORY | 无内存 |
-| AV_ERR_OPERATE_NOT_PERMIT | 无效参数 |
-| AV_ERR_INVALID_VAL | 无效值 |
-| AV_ERR_IO | IO 错误 |
-| AV_ERR_TIMEOUT | 超时错误 |
-| AV_ERR_UNKNOWN | 未知错误 |
-| AV_ERR_SERVICE_DIED | 媒体服务死亡 |
-| AV_ERR_INVALID_STATE | 当前状态不支持此操作 |
-| AV_ERR_UNSUPPORT | 未支持的接口 |
-| AV_ERR_EXTEND_START | 扩展错误码初始值 |
+| AV_ERR_OK | 操作成功 |
+| AV_ERR_NO_MEMORY | 无内存 |
+| AV_ERR_OPERATE_NOT_PERMIT | 操作不允许 |
+| AV_ERR_INVALID_VAL | 无效值 |
+| AV_ERR_IO | IO错误 |
+| AV_ERR_TIMEOUT | 超时错误 |
+| AV_ERR_UNKNOWN | 未知错误 |
+| AV_ERR_SERVICE_DIED | 服务死亡 |
+| AV_ERR_INVALID_STATE | 当前状态不支持此操作 |
+| AV_ERR_UNSUPPORT | 未支持的接口 |
+| AV_ERR_EXTEND_START | 扩展错误码初始值 |
### OH_AVPixelFormat
@@ -124,18 +148,24 @@ enum OH_AVErrCode
```
enum OH_AVPixelFormat
```
-**描述:**
-AVPixel 格式的枚举。
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
+
+视频像素格式的枚举类。
+
+\@syscap SystemCapability.Multimedia.Media.Core
+
+**起始版本:**
+
+9
- | 枚举值 | 描述 |
+| 枚举值 | 描述 |
| -------- | -------- |
-| AV_PIXEL_FORMAT_YUVI420 | yuv 420 planar |
-| AV_PIXEL_FORMAT_NV12 | NV12. yuv 420 semiplanar |
-| AV_PIXEL_FORMAT_NV21 | NV21. yvu 420 semiplanar |
-| AV_PIXEL_FORMAT_SURFACE_FORMAT | surface格式 |
-| AV_PIXEL_FORMAT_RGBA | RGBA8888 |
+| AV_PIXEL_FORMAT_YUVI420 | yuv 420 planar |
+| AV_PIXEL_FORMAT_NV12 | NV12. yuv 420 semiplanar |
+| AV_PIXEL_FORMAT_NV21 | NV21. yvu 420 semiplanar |
+| AV_PIXEL_FORMAT_SURFACE_FORMAT | surface格式 |
+| AV_PIXEL_FORMAT_RGBA | RGBA8888 |
## 函数说明
@@ -147,23 +177,27 @@ AVPixel 格式的枚举。
```
bool OH_AVFormat_Copy (struct OH_AVFormat * to, struct OH_AVFormat * from )
```
-**描述:**
-拷贝OH_AVFormat句柄资源.
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
-**参数:**
+复制OH_AVFormat句柄。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.Core
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| to | 接收数据的OH_AVFormat句柄指针 |
-| from | 被拷贝数据的OH_AVFormat句柄指针 |
+| to | OH_AVFormat句柄,用于接收数据 |
+| from | 指向复制数据的OH_AVFormat句柄的指针 |
+
+**返回:**
-**返回:**
+返回值为true表示成功,为false表示失败
-返回值为TRUE表示成功
+**起始版本:**
-返回值为FALSE表示失败
+9
### OH_AVFormat_Create()
@@ -172,14 +206,80 @@ bool OH_AVFormat_Copy (struct OH_AVFormat * to, struct OH_AVFormat * from )
```
struct OH_AVFormat* OH_AVFormat_Create (void )
```
-**描述:**
-创建一个OH_AVFormat句柄指针,用以读写数据。
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
+
+创建OH_AVFormat句柄,用于读取数据。
+
+\@syscap SystemCapability.Multimedia.Media.Core
+
+**返回:**
+
+返回指向OH_AVFormat实例的指针
+
+**起始版本:**
+
+9
+
+
+### OH_AVFormat_CreateAudioFormat()
+
+
+```
+struct OH_AVFormat* OH_AVFormat_CreateAudioFormat (const char * mimeType, int32_t sampleRate, int32_t channelCount )
+```
+
+**描述:**
-**返回:**
+创建音频OH_AVFormat句柄指针,用于读写数据。
-返回OH_AVFormat实例的指针
+\@syscap SystemCapability.Multimedia.Media.Core
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| mimeType | MIME类型 |
+| sampleRate | 采样率,单位Hz。 |
+| channelCount | 声道个数,如1为单声道,2为双声道。 |
+
+**返回:**
+
+返回指向OH_AVFormat实例的指针。
+
+**起始版本:**
+
+10
+
+
+### OH_AVFormat_CreateVideoFormat()
+
+
+```
+struct OH_AVFormat* OH_AVFormat_CreateVideoFormat (const char * mimeType, int32_t width, int32_t height )
+```
+
+**描述:**
+
+创建视频OH_AVFormat句柄指针,用于读写数据。
+
+\@syscap SystemCapability.Multimedia.Media.Core
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| mimeType | MIME类型 |
+| width | 宽度,单位为px。 |
+| height | 高度,单位为px。 |
+
+**返回:**
+
+返回指向OH_AVFormat实例的指针。
+
+**起始版本:**
+
+10
### OH_AVFormat_Destroy()
@@ -188,20 +288,22 @@ struct OH_AVFormat* OH_AVFormat_Create (void )
```
void OH_AVFormat_Destroy (struct OH_AVFormat * format)
```
-**描述:**
-销毁指定OH_AVFormat句柄资源。
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
+
+销毁OH_AVFormat句柄。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.Core
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| format | 指向OH_AVFormat实例的指针 |
+| format | 指向OH_AVFormat实例的指针。 |
-**返回:**
+**起始版本:**
-void
+9
### OH_AVFormat_DumpInfo()
@@ -210,20 +312,26 @@ void
```
const char* OH_AVFormat_DumpInfo (struct OH_AVFormat * format)
```
-**描述:**
-以字符串的形式输出OH_AVFormat所包含的信息。
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
-**参数:**
+输出OH_AVFormat中包含的字符串。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.Core
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| format | 指向OH_AVFormat实例的指针 |
+| format | 指向OH_AVFormat实例的指针 |
+
+**返回:**
-**返回:**
+返回一个由key和data组成的字符串。
-返回由键值和数据组成的字符串指针
+**起始版本:**
+
+9
### OH_AVFormat_GetBuffer()
@@ -232,25 +340,29 @@ const char* OH_AVFormat_DumpInfo (struct OH_AVFormat * format)
```
bool OH_AVFormat_GetBuffer (struct OH_AVFormat * format, const char * key, uint8_t ** addr, size_t * size )
```
-**描述:**
-从OH_AVFormat读取一块指定长度的数据。
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
-**参数:**
+从OH_AVFormat中读取指定长度的数据块。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.Core
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| format | 指向OH_AVFormat实例的指针 |
-| key | 读写数据的键值 |
-| addr | 生命周期是format持有,伴随format销毁,如果调用者需要长期持有,必须进行内存拷贝 |
-| size | 读写数据的长度 |
+| format | 指向OH_AVFormat实例的指针。 |
+| key | 读写数据的键。 |
+| addr | 生命周期与format相同,与format一同销毁。 如果调用者需要长时间保持它,必须进行内存拷贝。 |
+| size | 读写数据的长度。 |
+
+**返回:**
-**返回:**
+返回值为true表示成功,为false表示失败。
-返回值为TRUE表示成功
+**起始版本:**
-返回值为FALSE表示失败
+9
### OH_AVFormat_GetDoubleValue()
@@ -259,24 +371,28 @@ bool OH_AVFormat_GetBuffer (struct OH_AVFormat * format, const char * key, uint8
```
bool OH_AVFormat_GetDoubleValue (struct OH_AVFormat * format, const char * key, double * out )
```
-**描述:**
-从OH_AVFormat读取Double数据。
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
+
+从OH_AVFormat读取double数据。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.Core
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| format | 指向OH_AVFormat实例的指针 |
-| key | 读取数据的键值 |
-| out | 读取的数据 |
+| format | 指向OH_AVFormat实例的指针 |
+| key | 读取数据的键 |
+| out | 读取数据的值 |
-**返回:**
+**返回:**
-返回值为TRUE表示成功
+返回值为true表示成功,为false表示失败
-返回值为FALSE表示失败
+**起始版本:**
+
+9
### OH_AVFormat_GetFloatValue()
@@ -285,24 +401,28 @@ bool OH_AVFormat_GetDoubleValue (struct OH_AVFormat * format, const char * key,
```
bool OH_AVFormat_GetFloatValue (struct OH_AVFormat * format, const char * key, float * out )
```
-**描述:**
+
+**描述:**
+
从OH_AVFormat读取Float数据。
-@syscap SystemCapability.Multimedia.Media.Core
+\@syscap SystemCapability.Multimedia.Media.Core
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| format | 指向OH_AVFormat实例的指针 |
-| key | 读取数据的键值 |
-| out | 读取的数据 |
+| format | 指向OH_AVFormat实例的指针 |
+| key | 读取数据的键 |
+| out | 读取数据的值 |
+
+**返回:**
-**返回:**
+返回值为true表示成功,为false表示失败
-返回值为TRUE表示成功
+**起始版本:**
-返回值为FALSE表示失败
+9
### OH_AVFormat_GetIntValue()
@@ -311,24 +431,24 @@ bool OH_AVFormat_GetFloatValue (struct OH_AVFormat * format, const char * key, f
```
bool OH_AVFormat_GetIntValue (struct OH_AVFormat * format, const char * key, int32_t * out )
```
-**描述:**
-从OH_AVFormat读取Int数据。
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
-**参数:**
+从OH_AVFormat读取int数据。
- | 名称 | 描述 |
-| -------- | -------- |
-| format | 指向OH_AVFormat实例的指针 |
-| key | 读取数据的键值 |
-| out | 读取的数据 |
+\@syscap SystemCapability.Multimedia.Media.Core
+
+**参数:**
-**返回:**
+| 名称 | 描述 |
+| -------- | -------- |
+| format | 指向OH_AVFormat实例的指针 |
+| key | 读取数据的键 |
+| out | 读取数据的值 |
-返回值为TRUE表示成功
+**返回:**
-返回值为FALSE表示失败
+返回值为true表示成功,为false表示失败
### OH_AVFormat_GetLongValue()
@@ -337,24 +457,28 @@ bool OH_AVFormat_GetIntValue (struct OH_AVFormat * format, const char * key, int
```
bool OH_AVFormat_GetLongValue (struct OH_AVFormat * format, const char * key, int64_t * out )
```
-**描述:**
-从OH_AVFormat读取Long数据。
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
+
+从OH_AVFormat读取long数据。
+
+\@syscap SystemCapability.Multimedia.Media.Core
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| format | 指向OH_AVFormat实例的指针 |
-| key | 读取数据的键值 |
-| out | 读取的数据 |
+| format | 指向OH_AVFormat实例的指针 |
+| key | 读取数据的键 |
+| out | 读取数据的值 |
-**返回:**
+**返回:**
-返回值为TRUE表示成功
+返回值为true表示成功,为false表示失败
-返回值为FALSE表示失败
+**起始版本:**
+
+9
### OH_AVFormat_GetStringValue()
@@ -363,24 +487,28 @@ bool OH_AVFormat_GetLongValue (struct OH_AVFormat * format, const char * key, in
```
bool OH_AVFormat_GetStringValue (struct OH_AVFormat * format, const char * key, const char ** out )
```
-**描述:**
-从OH_AVFormat读取Double数据。
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
-**参数:**
+从OH_AVFormat读取string数据。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.Core
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| format | 指向OH_AVFormat实例的指针 |
-| key | 读取数据的键值 |
-| out | 读取的字符串指针,指向的数据生命周期伴随GetString更新,伴随format销毁,如果调用者需要长期持有,必须进行内存拷贝 |
+| format | 指向OH_AVFormat实例的指针 |
+| key | 读取数据的键 |
+| out | 读取string指针,out数据的生命周期与format内string对应。 如果调用者需要长时间保持它,必须内存拷贝 |
+
+**返回:**
-**返回:**
+返回值为true表示成功,为false表示失败
-返回值为TRUE表示成功
+**起始版本:**
-返回值为FALSE表示失败
+9
### OH_AVFormat_SetBuffer()
@@ -389,25 +517,29 @@ bool OH_AVFormat_GetStringValue (struct OH_AVFormat * format, const char * key,
```
bool OH_AVFormat_SetBuffer (struct OH_AVFormat * format, const char * key, const uint8_t * addr, size_t size )
```
-**描述:**
-向OH_AVFormat写入一块指定长度的数据。
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
+
+将指定长度的数据块写入OH_AVFormat。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.Core
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| format | 指向OH_AVFormat实例的指针 |
-| key | 写入数据的键值 |
-| addr | 写入的数据地址 |
-| size | 写入的数据长度 |
+| format | 指向OH_AVFormat实例的指针 |
+| key | 写入数据的键 |
+| addr | 写入数据的地址 |
+| size | 写入数据的长度 |
-**返回:**
+**返回:**
-返回值为TRUE表示成功
+返回值为true表示成功,为false表示失败
-返回值为FALSE表示失败
+**起始版本:**
+
+9
### OH_AVFormat_SetDoubleValue()
@@ -416,24 +548,28 @@ bool OH_AVFormat_SetBuffer (struct OH_AVFormat * format, const char * key, const
```
bool OH_AVFormat_SetDoubleValue (struct OH_AVFormat * format, const char * key, double value )
```
-**描述:**
-向OH_AVFormat写入Double数据。
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
+
+将double数据写入OH_AVFormat。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.Core
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| format | 指向OH_AVFormat实例的指针 |
-| key | 写入数据的键值 |
-| value | 写入的数据 |
+| format | 指向OH_AVFormat实例的指针 |
+| key | 写入数据的键 |
+| value | 写入数据的值 |
+
+**返回:**
-**返回:**
+返回值为true表示成功,为false表示失败
-返回值为TRUE表示成功
+**起始版本:**
-返回值为FALSE表示失败
+9
### OH_AVFormat_SetFloatValue()
@@ -442,24 +578,28 @@ bool OH_AVFormat_SetDoubleValue (struct OH_AVFormat * format, const char * key,
```
bool OH_AVFormat_SetFloatValue (struct OH_AVFormat * format, const char * key, float value )
```
-**描述:**
-向OH_AVFormat写入Float数据。
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
+
+将float数据写入OH_AVFormat。
+
+\@syscap SystemCapability.Multimedia.Media.Core
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| format | 指向OH_AVFormat实例的指针 |
-| key | 写入数据的键值 |
-| value | 写入的数据 |
+| format | 指向OH_AVFormat实例的指针 |
+| key | 写入数据的键 |
+| value | 写入数据的值 |
-**返回:**
+**返回:**
-返回值为TRUE表示成功
+返回值为true表示成功,为false表示失败
-返回值为FALSE表示失败
+**起始版本:**
+
+9
### OH_AVFormat_SetIntValue()
@@ -468,24 +608,28 @@ bool OH_AVFormat_SetFloatValue (struct OH_AVFormat * format, const char * key, f
```
bool OH_AVFormat_SetIntValue (struct OH_AVFormat * format, const char * key, int32_t value )
```
-**描述:**
-向OH_AVFormat写入Int数据.
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
-**参数:**
+将int数据写入OH_AVFormat。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.Core
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| format | 指向OH_AVFormat实例的指针 |
-| key | 写入数据的键值 |
-| value | 写入的数据 |
+| format | 指向OH_AVFormat实例的指针 |
+| key | 写入数据的键 |
+| value | 写入数据的值 |
-**返回:**
+**返回:**
-返回值为TRUE表示成功
+返回值为true表示成功,为false表示失败
-返回值为FALSE表示失败
+**起始版本:**
+
+9
### OH_AVFormat_SetLongValue()
@@ -494,24 +638,28 @@ bool OH_AVFormat_SetIntValue (struct OH_AVFormat * format, const char * key, int
```
bool OH_AVFormat_SetLongValue (struct OH_AVFormat * format, const char * key, int64_t value )
```
-**描述:**
-向OH_AVFormat写入Long数据。
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
+
+将long数据写入OH_AVFormat。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.Core
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| format | 指向OH_AVFormat实例的指针 |
-| key | 写入数据的键值 |
-| value | 写入的数据 |
+| format | 指向OH_AVFormat实例的指针 |
+| key | 写入数据的键 |
+| value | 写入数据的值 |
-**返回:**
+**返回:**
-返回值为TRUE表示成功
+返回值为true表示成功,为false表示失败
-返回值为FALSE表示失败
+**起始版本:**
+
+9
### OH_AVFormat_SetStringValue()
@@ -520,24 +668,84 @@ bool OH_AVFormat_SetLongValue (struct OH_AVFormat * format, const char * key, in
```
bool OH_AVFormat_SetStringValue (struct OH_AVFormat * format, const char * key, const char * value )
```
-**描述:**
-向OH_AVFormat写入String数据。
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
+
+将string数据写入OH_AVFormat。
+
+\@syscap SystemCapability.Multimedia.Media.Core
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| format | 指向OH_AVFormat实例的指针 |
-| key | 写入数据的键值 |
-| value | 写入的数据 |
+| format | 指向OH_AVFormat实例的指针 |
+| key | 写入数据的键 |
+| value | 写入数据的值 |
-**返回:**
+**返回:**
-返回值为TRUE表示成功
+返回值为true表示成功,为false表示失败
-返回值为FALSE表示失败
+**起始版本:**
+
+9
+
+
+### OH_AVMemory_Create()
+
+
+```
+OH_AVMemory* OH_AVMemory_Create (int32_t size)
+```
+
+**描述:**
+
+创建OH_AVMemory实例的指针
+
+\@syscap SystemCapability.Multimedia.Media.Core
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| size | 创建内存的大小,单位字节 |
+
+**返回:**
+
+如果创建成功返回OH_AVMemory实例的指针,如果失败,返回nullptr, 使用结束后需要通过OH_AVMemory_Destroy释放内存
+
+**起始版本:**
+
+10
+
+
+### OH_AVMemory_Destroy()
+
+
+```
+OH_AVErrCode OH_AVMemory_Destroy (struct OH_AVMemory * mem)
+```
+
+**描述:**
+
+释放OH_AVMemory实例指针的资源
+
+\@syscap SystemCapability.Multimedia.Media.Core
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| mem | 指向OH_AVMemory实例的指针 |
+
+**返回:**
+
+如果释放成功返回AV_ERR_OK, 如果失败返回具体错误码, 参考[OH_AVErrCode](#oh_averrcode)
+
+**起始版本:**
+
+10
### OH_AVMemory_GetAddr()
@@ -546,22 +754,26 @@ bool OH_AVFormat_SetStringValue (struct OH_AVFormat * format, const char * key,
```
uint8_t* OH_AVMemory_GetAddr (struct OH_AVMemory * mem)
```
-**描述:**
-获取入参的内存虚拟地址。
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
+
+获取入参的内存虚拟地址
+
+\@syscap SystemCapability.Multimedia.Media.Core
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| mem | 指向OH_AVMemory实例的指针 |
+| mem | 指向OH_AVMemory实例的指针 |
-**返回:**
+**返回:**
-如果内存有效,返回内存的虚拟地址
+如果内存有效,返回内存的虚拟地址,如果内存无效,返回nullptr
-如果内存无效,返回nullptr
+**起始版本:**
+
+9
### OH_AVMemory_GetSize()
@@ -570,19 +782,23 @@ uint8_t* OH_AVMemory_GetAddr (struct OH_AVMemory * mem)
```
int32_t OH_AVMemory_GetSize (struct OH_AVMemory * mem)
```
-**描述:**
-获取入参的内存长度。
-@syscap SystemCapability.Multimedia.Media.Core
+**描述:**
-**参数:**
+获取入参的内存长度
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.Core
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| mem | 指向OH_AVMemory实例的指针 |
+| mem | 指向OH_AVMemory实例的指针 |
-**返回:**
+**返回:**
-如果内存有效,返回内存长度
+如果内存有效,返回内存长度,如果内存无效,返回-1
-如果内存无效,返回-1
+**起始版本:**
+
+9
diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___a_v_codec_async_callback.md b/zh-cn/application-dev/reference/native-apis/_o_h___a_v_codec_async_callback.md
index 3ab552510fd099d33190a8936af06dc7013b6910..a9c8b90433445e8fb81c8bafa8abf92ef23e1620 100644
--- a/zh-cn/application-dev/reference/native-apis/_o_h___a_v_codec_async_callback.md
+++ b/zh-cn/application-dev/reference/native-apis/_o_h___a_v_codec_async_callback.md
@@ -3,14 +3,15 @@
## 概述
-AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告的信息,以确保AVCodec正常运转。
+OH_AVCodec中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVCodec实例中, 并处理回调上报的信息,以保证OH_AVCodec的正常运行。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
-@syscap SystemCapability.Multimedia.Media.CodecBase
-参数
**起始版本:**
+
9
-**相关模块:**
+**相关模块:**
[CodecBase](_codec_base.md)
@@ -20,9 +21,76 @@ AVCodec所有的异步回调函数指针集合。注册一个该结构体实例
### 成员变量
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| **onError** | 监听AVCodec运行错误,参考[OH_AVCodecOnError](_codec_base.md#oh_avcodeconerror) |
-| **onStreamChanged** | 监听编解码流信息,参考[OH_AVCodecOnStreamChanged](_codec_base.md#oh_avcodeconstreamchanged) |
-| **onNeedInputData** | 监听编解码需要输入数据,参考[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) |
-| **onNeedOutputData** | 监听编解码产生输出数据,参考[OH_AVCodecOnNewOutputData](_codec_base.md#oh_avcodeconnewoutputdata) |
+| [onError](#onerror) | 监控编解码器操作错误,请参见[OH_AVCodecOnError](_codec_base.md#oh_avcodeconerror) |
+| [onStreamChanged](#onstreamchanged) | 监控编解码器流变化,请参见[OH_AVCodecOnStreamChanged](_codec_base.md#oh_avcodeconstreamchanged) |
+| [onNeedInputData](#onneedinputdata) | 监控编解码器需要输入数据,请参见[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) |
+| [onNeedOutputData](#onneedoutputdata) | 监控编解码器已生成输出数据,请参见[OH_AVCodecOnNewOutputData](_codec_base.md#oh_avcodeconnewoutputdata) |
+
+
+## 结构体成员变量说明
+
+
+### onError
+
+
+```
+OH_AVCodecOnError onError
+```
+
+**描述:**
+
+监控编解码器操作错误,请参见[OH_AVCodecOnError](_codec_base.md#oh_avcodeconerror)
+
+**起始版本:**
+
+9
+
+
+### onNeedInputData
+
+
+```
+OH_AVCodecOnNeedInputData onNeedInputData
+```
+
+**描述:**
+
+监控编解码器需要输入数据,请参见[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)
+
+**起始版本:**
+
+9
+
+
+### onNeedOutputData
+
+
+```
+OH_AVCodecOnNewOutputData onNeedOutputData
+```
+
+**描述:**
+
+监控编解码器已生成输出数据,请参见[OH_AVCodecOnNewOutputData](_codec_base.md#oh_avcodeconnewoutputdata)
+
+**起始版本:**
+
+9
+
+
+### onStreamChanged
+
+
+```
+OH_AVCodecOnStreamChanged onStreamChanged
+```
+
+**描述:**
+
+监控编解码器流变化,请参见[OH_AVCodecOnStreamChanged](_codec_base.md#oh_avcodeconstreamchanged)
+
+**起始版本:**
+
+9
diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___a_v_codec_buffer_attr.md b/zh-cn/application-dev/reference/native-apis/_o_h___a_v_codec_buffer_attr.md
index ad98600b4d12a7e46ed312ad97c001398fe6b2e7..6803f85e9dd49adccdf47e57e0a3fc45909e868b 100644
--- a/zh-cn/application-dev/reference/native-apis/_o_h___a_v_codec_buffer_attr.md
+++ b/zh-cn/application-dev/reference/native-apis/_o_h___a_v_codec_buffer_attr.md
@@ -3,14 +3,15 @@
## 概述
-定义OH_AVCodec的Buffer描述信息。
+定义OH_AVCodec的缓冲区描述信息。
-@syscap SystemCapability.Multimedia.Media.CodecBase
+\@syscap SystemCapability.Multimedia.Media.CodecBase
**起始版本:**
+
9
-**相关模块:**
+**相关模块:**
[CodecBase](_codec_base.md)
@@ -20,9 +21,76 @@
### 成员变量
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [pts](_codec_base.md#pts) | 以微秒为单位表示的该Buffer的Presentation时间戳 |
-| [size](_codec_base.md#size) | 以字节为单位表示的该Buffer内所包含数据的大小 |
-| [offset](_codec_base.md#offset) | 有效数据在该Buffer内的起始偏移量 |
-| [flags](_codec_base.md#flags) | 该Buffer具有的标记,也是多个[OH_AVCodecBufferFlags](_codec_base.md#oh_avcodecbufferflags)的组合 |
+| [pts](#pts) | 此缓冲区的显示时间戳(以微秒为单位) |
+| [size](#size) | 缓冲区中包含的数据的大小(以字节为单位) |
+| [offset](#offset) | 此缓冲区中有效数据的起始偏移量 |
+| [flags](#flags) | 此缓冲区具有的标志,也是多个[OH_AVCodecBufferFlags](_codec_base.md#oh_avcodecbufferflags)的组合。 |
+
+
+## 结构体成员变量说明
+
+
+### pts
+
+
+```
+int64_t pts
+```
+
+**描述:**
+
+此缓冲区的显示时间戳(以微秒为单位)
+
+**起始版本:**
+
+9
+
+
+### size
+
+
+```
+int32_t size
+```
+
+**描述:**
+
+缓冲区中包含的数据的大小(以字节为单位)
+
+**起始版本:**
+
+9
+
+
+### offset
+
+
+```
+int32_t offset
+```
+
+**描述:**
+
+此缓冲区中有效数据的起始偏移量
+
+**起始版本:**
+
+9
+
+
+### flags
+
+
+```
+uint32_t flags
+```
+
+**描述:**
+
+此缓冲区具有的标志,也是多个[OH_AVCodecBufferFlags](_codec_base.md#oh_avcodecbufferflags)的组合。
+
+**起始版本:**
+
+9
diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___a_v_range.md b/zh-cn/application-dev/reference/native-apis/_o_h___a_v_range.md
new file mode 100644
index 0000000000000000000000000000000000000000..9411e07ccef789ec9b0cdfa87c3807e700171a6a
--- /dev/null
+++ b/zh-cn/application-dev/reference/native-apis/_o_h___a_v_range.md
@@ -0,0 +1,62 @@
+# OH_AVRange
+
+
+## 概述
+
+范围包含最小值和最大值。
+
+\@syscap SystemCapability.Multimedia.Media.CodecBase
+
+**起始版本:**
+
+10
+
+**相关模块:**
+
+[AVCapability](_a_v_capability.md)
+
+
+## 汇总
+
+
+### 成员变量
+
+| 名称 | 描述 |
+| -------- | -------- |
+| [minVal](#minval) | 范围下限 |
+| [maxVal](#maxval) | 范围上限 |
+
+
+## 结构体成员变量说明
+
+
+### minVal
+
+
+```
+int32_t minVal
+```
+
+**描述:**
+
+范围下限
+
+**起始版本:**
+
+10
+
+
+### maxVal
+
+
+```
+int32_t maxVal
+```
+
+**描述:**
+
+范围上限
+
+**起始版本:**
+
+10
diff --git a/zh-cn/application-dev/reference/native-apis/_video_decoder.md b/zh-cn/application-dev/reference/native-apis/_video_decoder.md
index df48c843419645ba3dce1858004fddaaa5e577ce..097a77efa27c8ee5368ac6ead4749ab8798143c2 100644
--- a/zh-cn/application-dev/reference/native-apis/_video_decoder.md
+++ b/zh-cn/application-dev/reference/native-apis/_video_decoder.md
@@ -3,11 +3,12 @@
## 概述
-VideoDecoder模块提供用于视频解码功能的函数。该模块在部分设备上可能不支持,可以通过[CanIUse](../syscap.md)接口确认。
+VideoDecoder模块提供用于视频解码的函数。
-@syscap SystemCapability.Multimedia.Media.VideoDecoder
+\@syscap SystemCapability.Multimedia.Media.VideoDecoder
**起始版本:**
+
9
@@ -16,31 +17,32 @@ VideoDecoder模块提供用于视频解码功能的函数。该模块在部分
### 文件
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
| [native_avcodec_videodecoder.h](native__avcodec__videodecoder_8h.md) | 声明用于视频解码的Native API。
引用文件: |
### 函数
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [OH_VideoDecoder_CreateByMime](#oh_videodecoder_createbymime) (const char \*mime) | 通过mime类型创建一个视频解码器实例,大多数情况下推荐使用该接口。 |
-| [OH_VideoDecoder_CreateByName](#oh_videodecoder_createbyname) (const char \*name) | 通过视频解码器名称创建一个视频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 |
-| [OH_VideoDecoder_Destroy](#oh_videodecoder_destroy) (OH_AVCodec \*codec) | 清空解码器内部资源,并销毁解码器实例。 |
-| [OH_VideoDecoder_SetCallback](#oh_videodecoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | 设置异步回调函数,使得你的应用能够响应视频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
-| [OH_VideoDecoder_SetSurface](#oh_videodecoder_setsurface) (OH_AVCodec \*codec, OHNativeWindow \*window) | 指定输出Surface,以提供视频解码输出,该接口被调用必须是在Prepare被调用前。 |
-| [OH_VideoDecoder_Configure](#oh_videodecoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | 配置视频解码器,典型地,需要配置被解码视频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 |
-| [OH_VideoDecoder_Prepare](#oh_videodecoder_prepare) (OH_AVCodec \*codec) | 准备解码器内部资源,调用该接口前必须先调用Configure接口。 |
-| [OH_VideoDecoder_Start](#oh_videodecoder_start) (OH_AVCodec \*codec) | 启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 |
-| [OH_VideoDecoder_Stop](#oh_videodecoder_stop) (OH_AVCodec \*codec) | 停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 |
-| [OH_VideoDecoder_Flush](#oh_videodecoder_flush) (OH_AVCodec \*codec) | 清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
-| [OH_VideoDecoder_Reset](#oh_videodecoder_reset) (OH_AVCodec \*codec) | 重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 |
-| [OH_VideoDecoder_GetOutputDescription](#oh_videodecoder_getoutputdescription) (OH_AVCodec \*codec) | 获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 |
-| [OH_VideoDecoder_SetParameter](#oh_videodecoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | 向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 |
-| [OH_VideoDecoder_PushInputData](#oh_videodecoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | 将填充好数据的输入Buffer提交给视频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程,例如H264格式的PPS/SPS数据。 |
-| [OH_VideoDecoder_RenderOutputData](#oh_videodecoder_renderoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理结束的输出Buffer交还给解码器,并通知解码器完成将该Buffer内包含的解码后的数据在输出Surface上渲染。 如果先前未配置输出Surface,调用该接口仅仅将指定索引对应的输出Buffer交还给解码器。 |
-| [OH_VideoDecoder_FreeOutputData](#oh_videodecoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理结束的输出Buffer交还给解码器。 |
+| \*[OH_VideoDecoder_CreateByMime](#oh_videodecoder_createbymime) (const char \*mime) | 从MIME类型创建视频解码器实例,大多数情况下建议使用。 |
+| \*[OH_VideoDecoder_CreateByName](#oh_videodecoder_createbyname) (const char \*name) | 通过视频解码器名称创建视频解码器实例。 使用此接口的前提是知道解码器的确切名称。 |
+| [OH_VideoDecoder_Destroy](#oh_videodecoder_destroy) (OH_AVCodec \*codec) | 清理解码器内部资源,销毁解码器实例。 |
+| [OH_VideoDecoder_SetCallback](#oh_videodecoder_setcallback) (OH_AVCodec \*codec, OH_AVCodecAsyncCallback callback, void \*userData) | 设置异步回调函数,以便您的应用程序可以响应视频解码器生成的事件。 |
+| [OH_VideoDecoder_SetSurface](#oh_videodecoder_setsurface) (OH_AVCodec \*codec, OHNativeWindow \*window) | 指定输出表面以提供视频解码输出,必须在调用Prepare之前调用此接口。 |
+| [OH_VideoDecoder_Configure](#oh_videodecoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | 配置视频解码器,通常需要配置解码视频轨迹的描述信息,这些信息可以从容器中提取。 |
+| [OH_VideoDecoder_Prepare](#oh_videodecoder_prepare) (OH_AVCodec \*codec) | 要准备解码器的内部资源,在调用该接口之前,必须调用Configure接口。 |
+| [OH_VideoDecoder_Start](#oh_videodecoder_start) (OH_AVCodec \*codec) | 启动解码器,准备成功后必须调用此接口。 |
+| [OH_VideoDecoder_Stop](#oh_videodecoder_stop) (OH_AVCodec \*codec) | 停止解码器。 |
+| [OH_VideoDecoder_Flush](#oh_videodecoder_flush) (OH_AVCodec \*codec) | 清除解码器中缓存的输入和输出数据。 |
+| [OH_VideoDecoder_Reset](#oh_videodecoder_reset) (OH_AVCodec \*codec) | 重置解码器。 |
+| \*[OH_VideoDecoder_GetOutputDescription](#oh_videodecoder_getoutputdescription) (OH_AVCodec \*codec) | 获取解码器输出数据的描述信息。 |
+| [OH_VideoDecoder_SetParameter](#oh_videodecoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | 设置解码器的动态参数。 |
+| [OH_VideoDecoder_PushInputData](#oh_videodecoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, OH_AVCodecBufferAttr attr) | 将填充数据的输入缓冲区提交给视频解码器。 |
+| [OH_VideoDecoder_RenderOutputData](#oh_videodecoder_renderoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理后的输出Buffer返回给解码器,并通知解码器完成在输出表面上渲染Buffer中包含的解码数据。 |
+| [OH_VideoDecoder_FreeOutputData](#oh_videodecoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理后的输出缓冲区返回到解码器。 |
+| [OH_VideoDecoder_IsValid](#oh_videodecoder_isvalid) (OH_AVCodec \*codec, bool \*isValid) | 检查当前编解码实例是否有效。 |
## 函数说明
@@ -52,23 +54,29 @@ VideoDecoder模块提供用于视频解码功能的函数。该模块在部分
```
OH_AVErrCode OH_VideoDecoder_Configure (OH_AVCodec * codec, OH_AVFormat * format )
```
-**描述:**
-配置视频解码器,典型地,需要配置被解码视频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。
-@syscap SystemCapability.Multimedia.Media.VideoDecoder
+**描述:**
+
+配置视频解码器,通常需要配置解码视频轨迹的描述信息,这些信息可以从容器中提取。
+
+在调用准备之前,必须调用此接口。
+
+\@syscap SystemCapability.Multimedia.Media.VideoDecoder
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| format | 指向OH_AVFormat的指针,用以给出待解码视频轨道的描述信息 |
+| codec | 指向OH_AVCodec实例的指针 |
+| format | 指向OH_AVFormat的指针,用于给出要解码的视频轨道的描述 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
### OH_VideoDecoder_CreateByMime()
@@ -77,20 +85,26 @@ OH_AVErrCode OH_VideoDecoder_Configure (OH_AVCodec * codec, OH_AVFormat * format
```
OH_AVCodec* OH_VideoDecoder_CreateByMime (const char * mime)
```
-**描述:**
-通过mime类型创建一个视频解码器实例,大多数情况下推荐使用该接口。
-@syscap SystemCapability.Multimedia.Media.VideoDecoder
+**描述:**
-**参数:**
+从MIME类型创建视频解码器实例,大多数情况下建议使用。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.VideoDecoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| mime | mime类型描述字符串,参考[OH_AVCODEC_MIMETYPE_VIDEO_AVC](_codec_base.md#oh_avcodec_mimetype_video_avc) |
+| mime | MIME类型描述字符串,请参阅{\@链接AVCODEC_MIME_TYPE}。 |
-**返回:**
+**返回:**
-返回一个指向OH_AVCodec实例的指针
+返回一个指向OH_AVCodec实例的指针。
+
+**起始版本:**
+
+9
### OH_VideoDecoder_CreateByName()
@@ -99,20 +113,26 @@ OH_AVCodec* OH_VideoDecoder_CreateByMime (const char * mime)
```
OH_AVCodec* OH_VideoDecoder_CreateByName (const char * name)
```
-**描述:**
-通过视频解码器名称创建一个视频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。
-@syscap SystemCapability.Multimedia.Media.VideoDecoder
+**描述:**
+
+通过视频解码器名称创建视频解码器实例。 使用此接口的前提是知道解码器的确切名称。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.VideoDecoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| name | 视频解码器名称 |
+| name | 视频编解码器名称。 |
+
+**返回:**
-**返回:**
+返回指向OH_AVCodec实例的指针。
-返回一个指向OH_AVCodec实例的指针
+**起始版本:**
+
+9
### OH_VideoDecoder_Destroy()
@@ -121,22 +141,26 @@ OH_AVCodec* OH_VideoDecoder_CreateByName (const char * name)
```
OH_AVErrCode OH_VideoDecoder_Destroy (OH_AVCodec * codec)
```
-**描述:**
-清空解码器内部资源,并销毁解码器实例。
-@syscap SystemCapability.Multimedia.Media.VideoDecoder
+**描述:**
+
+清理解码器内部资源,销毁解码器实例。
+
+\@syscap SystemCapability.Multimedia.Media.VideoDecoder
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
### OH_VideoDecoder_Flush()
@@ -145,22 +169,28 @@ OH_AVErrCode OH_VideoDecoder_Destroy (OH_AVCodec * codec)
```
OH_AVErrCode OH_VideoDecoder_Flush (OH_AVCodec * codec)
```
-**描述:**
-清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。
-@syscap SystemCapability.Multimedia.Media.VideoDecoder
+**描述:**
+
+清除解码器中缓存的输入和输出数据。
-**参数:**
+调用此接口后,以前通过异步回调上报的所有缓冲区索引都将失效, 请确保不要访问这些索引对应的缓冲区。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.VideoDecoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+
+**返回:**
-**返回:**
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_VideoDecoder_FreeOutputData()
@@ -169,23 +199,27 @@ OH_AVErrCode OH_VideoDecoder_Flush (OH_AVCodec * codec)
```
OH_AVErrCode OH_VideoDecoder_FreeOutputData (OH_AVCodec * codec, uint32_t index )
```
-**描述:**
-将处理结束的输出Buffer交还给解码器。
-@syscap SystemCapability.Multimedia.Media.VideoDecoder
+**描述:**
+
+将处理后的输出缓冲区返回到解码器。
+
+\@syscap SystemCapability.Multimedia.Media.VideoDecoder
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| index | 输出Buffer对应的索引值 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| index | 输出Buffer对应的索引值。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
### OH_VideoDecoder_GetOutputDescription()
@@ -194,20 +228,57 @@ OH_AVErrCode OH_VideoDecoder_FreeOutputData (OH_AVCodec * codec, uint32_t index
```
OH_AVFormat* OH_VideoDecoder_GetOutputDescription (OH_AVCodec * codec)
```
-**描述:**
-获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。
-@syscap SystemCapability.Multimedia.Media.VideoDecoder
+**描述:**
+
+获取解码器输出数据的描述信息,参见{\@链接OH_AVFormat}。
+
+需要注意的是,返回值指向的OH_AVFormat实例的生命周期需要调用者手动释放。
+
+\@syscap SystemCapability.Multimedia.Media.VideoDecoder
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| codec | 指向OH_AVCodec实例的指针。 |
+
+**返回:**
+
+返回指向OH_AVFormat实例的指针。
+
+**起始版本:**
+
+9
+
+
+### OH_VideoDecoder_IsValid()
+
+
+```
+OH_AVErrCode OH_VideoDecoder_IsValid (OH_AVCodec * codec, bool * isValid )
+```
+
+**描述:**
+
+检查当前编解码实例是否有效。可用于后台故障恢复或APP回切。
+
+\@syscap SystemCapability.Multimedia.Media.VideoDecoder
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| isVaild | 输出参数。指向布尔实例的指针,如果编解码器实例有效,则为true,如果编解码器实例无效,则为false。 |
-**返回:**
+**返回:**
-返回AVFormat实例的指针
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+10
### OH_VideoDecoder_Prepare()
@@ -216,22 +287,26 @@ OH_AVFormat* OH_VideoDecoder_GetOutputDescription (OH_AVCodec * codec)
```
OH_AVErrCode OH_VideoDecoder_Prepare (OH_AVCodec * codec)
```
-**描述:**
-准备解码器内部资源,调用该接口前必须先调用Configure接口。
-@syscap SystemCapability.Multimedia.Media.VideoDecoder
+**描述:**
+
+要准备解码器的内部资源,在调用该接口之前,必须调用Configure接口。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.VideoDecoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+
+**返回:**
-**返回:**
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_VideoDecoder_PushInputData()
@@ -240,24 +315,34 @@ OH_AVErrCode OH_VideoDecoder_Prepare (OH_AVCodec * codec)
```
OH_AVErrCode OH_VideoDecoder_PushInputData (OH_AVCodec * codec, uint32_t index, OH_AVCodecBufferAttr attr )
```
-**描述:**
-将填充好数据的输入Buffer提交给视频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程,例如H264格式的PPS/SPS数据。
-@syscap SystemCapability.Multimedia.Media.VideoDecoder
+**描述:**
+
+将填充数据的输入缓冲区提交给视频解码器。
+
+**OH_AVCodecOnNeedInputData**回调将报告可用的输入缓冲区和相应的索引值。
+
+一旦具有指定索引的缓冲区提交到视频解码器,则无法再次访问缓冲区,直到再次收到**OH_AVCodecOnNeedInputData**回调,报告具有相同索引的缓冲区可用。
-**参数:**
+此外,对于某些解码器,需要在开始时向解码器输入编解码特定数据,以初始化解码器的解码过程,如H264格式的PPS/SPS数据。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.VideoDecoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| index | 输入Buffer对应的索引值 |
-| attr | 描述该Buffer内所包含数据的信息 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| index | 输入Buffer对应的索引值。 |
+| attr | 描述缓冲区中包含的数据的信息。 |
+
+**返回:**
-**返回:**
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_VideoDecoder_RenderOutputData()
@@ -266,23 +351,29 @@ OH_AVErrCode OH_VideoDecoder_PushInputData (OH_AVCodec * codec, uint32_t index,
```
OH_AVErrCode OH_VideoDecoder_RenderOutputData (OH_AVCodec * codec, uint32_t index )
```
-**描述:**
-将处理结束的输出Buffer交还给解码器,并通知解码器完成将该Buffer内包含的解码后的数据在输出Surface上渲染。 如果先前未配置输出Surface,调用该接口仅仅将指定索引对应的输出Buffer交还给解码器。
-@syscap SystemCapability.Multimedia.Media.VideoDecoder
+**描述:**
+
+将处理后的输出Buffer返回给解码器,并通知解码器完成在输出表面上渲染Buffer中包含的解码数据。
+
+如果之前没有配置输出表面,则调用此接口仅将指定索引对应的输出缓冲区返回给解码器。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.VideoDecoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| index | 输出Buffer对应的索引值 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| index | 输出Buffer对应的索引值。 |
+
+**返回:**
-**返回:**
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_VideoDecoder_Reset()
@@ -291,22 +382,26 @@ OH_AVErrCode OH_VideoDecoder_RenderOutputData (OH_AVCodec * codec, uint32_t inde
```
OH_AVErrCode OH_VideoDecoder_Reset (OH_AVCodec * codec)
```
-**描述:**
-重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。
-@syscap SystemCapability.Multimedia.Media.VideoDecoder
+**描述:**
+
+重置解码器。如果要继续解码,需要再次调用Configure接口配置解码器实例。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.VideoDecoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
### OH_VideoDecoder_SetCallback()
@@ -315,24 +410,30 @@ OH_AVErrCode OH_VideoDecoder_Reset (OH_AVCodec * codec)
```
OH_AVErrCode OH_VideoDecoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCallback callback, void * userData )
```
-**描述:**
-设置异步回调函数,使得你的应用能够响应视频解码器产生的事件,该接口被调用必须是在Prepare被调用前。
-@syscap SystemCapability.Multimedia.Media.VideoDecoder
+**描述:**
+
+设置异步回调函数,以便您的应用程序可以响应视频解码器生成的事件。
-**参数:**
+在调用Prepare之前,必须调用此接口。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.VideoDecoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| callback | 一个包含所有回调函数的集合体,参考[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) |
-| userData | 用户特定数据 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| callback | 所有回调函数的集合,请参见{\@链接OH_AVCodecAsyncCallback}。 |
+| userData | 用户特定数据。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
### OH_VideoDecoder_SetParameter()
@@ -341,23 +442,29 @@ OH_AVErrCode OH_VideoDecoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCal
```
OH_AVErrCode OH_VideoDecoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * format )
```
-**描述:**
-向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。
-@syscap SystemCapability.Multimedia.Media.VideoDecoder
+**描述:**
+
+设置解码器的动态参数。
+
+注意,该接口只能在解码器启动后调用。 同时,参数配置错误可能会导致解码失败。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.VideoDecoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| format | 指向OH_AVFormat实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| format | 指向OH_AVFormat实例的指针。 |
+
+**返回:**
-**返回:**
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_VideoDecoder_SetSurface()
@@ -366,23 +473,27 @@ OH_AVErrCode OH_VideoDecoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for
```
OH_AVErrCode OH_VideoDecoder_SetSurface (OH_AVCodec * codec, OHNativeWindow * window )
```
-**描述:**
-指定输出Surface,以提供视频解码输出,该接口被调用必须是在Prepare被调用前。
-@syscap SystemCapability.Multimedia.Media.VideoDecoder
+**描述:**
-**参数:**
+指定输出表面以提供视频解码输出,必须在调用Prepare之前调用此接口。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.VideoDecoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| window | 指向一个OHNativeWindow实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| window | 指向OHNativeWindow实例的指针,请参见{\@链接OHNativeWindow}。 |
+
+**返回:**
-**返回:**
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_VideoDecoder_Start()
@@ -391,22 +502,28 @@ OH_AVErrCode OH_VideoDecoder_SetSurface (OH_AVCodec * codec, OHNativeWindow * wi
```
OH_AVErrCode OH_VideoDecoder_Start (OH_AVCodec * codec)
```
-**描述:**
-启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。
-@syscap SystemCapability.Multimedia.Media.VideoDecoder
+**描述:**
+
+启动解码器,准备成功后必须调用此接口。
+
+成功启动后,解码器将开始报告NeedInputData事件。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.VideoDecoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+
+**返回:**
-**返回:**
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_VideoDecoder_Stop()
@@ -415,19 +532,25 @@ OH_AVErrCode OH_VideoDecoder_Start (OH_AVCodec * codec)
```
OH_AVErrCode OH_VideoDecoder_Stop (OH_AVCodec * codec)
```
-**描述:**
-停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。
-@syscap SystemCapability.Multimedia.Media.VideoDecoder
+**描述:**
+
+停止解码器。停止后,您可以通过Start重新进入Started状态。
+
+但需要注意的是,如果编解码器特定数据以前已输入到解码器,则需要再次输入。
+
+\@syscap SystemCapability.Multimedia.Media.VideoDecoder
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,则返回AV_ERR_OK, 否则返回特定错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
diff --git a/zh-cn/application-dev/reference/native-apis/_video_encoder.md b/zh-cn/application-dev/reference/native-apis/_video_encoder.md
index 37734d087ca2f1613cb68d5f29c112fd9e01e617..35bb9a15944a774caa2b77e6f03ef72d6fea1c40 100644
--- a/zh-cn/application-dev/reference/native-apis/_video_encoder.md
+++ b/zh-cn/application-dev/reference/native-apis/_video_encoder.md
@@ -3,56 +3,61 @@
## 概述
-VideoEncoder模块提供用于视频编码功能的函数和枚举。该模块在部分设备上可能不支持,可以通过[CanIUse](../syscap.md)接口确认。
+VideoEncoder模块提供用于视频编码功能的函数。
-@syscap SystemCapability.Multimedia.Media.VideoEncoder
+\@syscap SystemCapability.Multimedia.Avcodec.VideoEncoder
**起始版本:**
+
9
+
## 汇总
### 文件
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
| [native_avcodec_videoencoder.h](native__avcodec__videoencoder_8h.md) | 声明用于视频编码的Native API。
引用文件: |
### 类型定义
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [OH_VideoEncodeBitrateMode](#oh_videoencodebitratemode) | 视频编码的比特率模式。 |
+| [OH_VideoEncodeBitrateMode](#oh_videoencodebitratemode) | 视频编码器的比特率模式。 |
### 枚举
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [OH_VideoEncodeBitrateMode](#oh_videoencodebitratemode) { **CBR** = 0, **VBR** = 1, **CQ** = 2 } | 视频编码的比特率模式。 |
+| [OH_VideoEncodeBitrateMode](#oh_videoencodebitratemode) { **CBR** = 0, **VBR** = 1, **CQ** = 2 } | 视频编码器的比特率模式。 |
### 函数
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [OH_VideoEncoder_CreateByMime](#oh_videoencoder_createbymime) (const char \*mime) | 通过mime类型创建一个视频编码器实例,大多数情况下推荐使用该接口。 |
-| [OH_VideoEncoder_CreateByName](#oh_videoencoder_createbyname) (const char \*name) | 通过视频编码器名称创建一个视频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 |
-| [OH_VideoEncoder_Destroy](#oh_videoencoder_destroy) (OH_AVCodec \*codec) | 清空编码器内部资源,并销毁编码器实例。 |
-| [OH_VideoEncoder_SetCallback](#oh_videoencoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | 设置异步回调函数,使得你的应用能够响应视频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
-| [OH_VideoEncoder_Configure](#oh_videoencoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | 配置视频编码器,典型地,需要配置被编码视频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 |
-| [OH_VideoEncoder_Prepare](#oh_videoencoder_prepare) (OH_AVCodec \*codec) | 准备编码器内部资源,调用该接口前必须先调用Configure接口。 |
-| [OH_VideoEncoder_Start](#oh_videoencoder_start) (OH_AVCodec \*codec) | 启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 |
-| [OH_VideoEncoder_Stop](#oh_videoencoder_stop) (OH_AVCodec \*codec) | 停止编码器。在停止后可通过Start重新进入Started状态。 |
-| [OH_VideoEncoder_Flush](#oh_videoencoder_flush) (OH_AVCodec \*codec) | 清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
-| [OH_VideoEncoder_Reset](#oh_videoencoder_reset) (OH_AVCodec \*codec) | 重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 |
-| [OH_VideoEncoder_GetOutputDescription](#oh_videoencoder_getoutputdescription) (OH_AVCodec \*codec) | 获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 |
-| [OH_VideoEncoder_SetParameter](#oh_videoencoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | 向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 |
-| [OH_VideoEncoder_GetSurface](#oh_videoencoder_getsurface) (OH_AVCodec \*codec, OHNativeWindow \*\*window) | 从视频编码器获取输入Surface, 该接口被调用必须是在Prepare被调用前。 |
-| [OH_VideoEncoder_FreeOutputData](#oh_videoencoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理结束的输出Buffer交还给编码器。 |
-| [OH_VideoEncoder_NotifyEndOfStream](#oh_videoencoder_notifyendofstream) (OH_AVCodec \*codec) | 通知视频编码器输入码流已结束。surface模式推荐使用该接口通知编码器码流结束。 |
+| \*[OH_VideoEncoder_CreateByMime](#oh_videoencoder_createbymime) (const char \*mime) | 多数情况下,推荐从MIME类型创建视频编码器实例。 |
+| \*[OH_VideoEncoder_CreateByName](#oh_videoencoder_createbyname) (const char \*name) | 通过视频编码器名称创建一个视频编码器实例。使用此接口的前提是知道编码器的确切名称。 |
+| [OH_VideoEncoder_Destroy](#oh_videoencoder_destroy) (OH_AVCodec \*codec) | 清除编码器的内部资源并销毁编码器实例。 |
+| [OH_VideoEncoder_SetCallback](#oh_videoencoder_setcallback) (OH_AVCodec \*codec, OH_AVCodecAsyncCallback callback, void \*userData) | 设置异步回调函数,以便您的应用程序能够响应视频编码器事件。 |
+| [OH_VideoEncoder_Configure](#oh_videoencoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | 配置视频编码器,通常需要配置要编码的视频轨的描述信息。 |
+| [OH_VideoEncoder_Prepare](#oh_videoencoder_prepare) (OH_AVCodec \*codec) | 若要准备编码器的内部资源,必须先调用Configure接口,再调用此接口。 |
+| [OH_VideoEncoder_Start](#oh_videoencoder_start) (OH_AVCodec \*codec) | 启动编码器, 这个接口必须要在Prepare接口执行成功后调用。 |
+| [OH_VideoEncoder_Stop](#oh_videoencoder_stop) (OH_AVCodec \*codec) | 停止编码器。 |
+| [OH_VideoEncoder_Flush](#oh_videoencoder_flush) (OH_AVCodec \*codec) | 清除编码器中缓冲的输入和输出数据。 |
+| [OH_VideoEncoder_Reset](#oh_videoencoder_reset) (OH_AVCodec \*codec) | 重置编码器。 |
+| \*[OH_VideoEncoder_GetOutputDescription](#oh_videoencoder_getoutputdescription) (OH_AVCodec \*codec) | 获取编码器输出数据的描述信息,详细信息请参阅 **OH_AVFormat**。 |
+| [OH_VideoEncoder_SetParameter](#oh_videoencoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | 为编码器设置动态参数。 |
+| [OH_VideoEncoder_GetSurface](#oh_videoencoder_getsurface) (OH_AVCodec \*codec, OHNativeWindow \*\*window) | 从视频编码器获取输入Surface,必须在调用Prepare之前调用此接口。 |
+| [OH_VideoEncoder_FreeOutputData](#oh_videoencoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理后的输出缓冲区返回给编码器。 |
+| [OH_VideoEncoder_NotifyEndOfStream](#oh_videoencoder_notifyendofstream) (OH_AVCodec \*codec) | 通知视频编码器输入流已结束。建议使用此接口进行通知。 |
+| [OH_VideoEncoder_PushInputData](#oh_videoencoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, OH_AVCodecBufferAttr attr) | 将填入数据的输入缓冲区提交给视频编码器。 |
+| \*[OH_VideoEncoder_GetInputDescription](#oh_videoencoder_getinputdescription) (OH_AVCodec \*codec) | 获取视频编码器接收的描述信息,调用Configure后调用此接口,请参阅 **OH_AVFormat** 获取详细信息。 |
+| [OH_VideoEncoder_IsValid](#oh_videoencoder_isvalid) (OH_AVCodec \*codec, bool \*isValid) | 检查当前编解码器实例是否有效。 |
## 类型定义说明
@@ -64,10 +69,16 @@ VideoEncoder模块提供用于视频编码功能的函数和枚举。该模块
```
typedef enum OH_VideoEncodeBitrateModeOH_VideoEncodeBitrateMode
```
-**描述:**
-视频编码的比特率模式。
-@syscap SystemCapability.Multimedia.Media.VideoEncoder
+**描述:**
+
+视频编码器的比特率模式。
+
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
+
+**起始版本:**
+
+9
## 枚举类型说明
@@ -79,16 +90,22 @@ typedef enum OH_VideoEncodeBitrateModeOH_VideoEncodeBitrateMode
```
enum OH_VideoEncodeBitrateMode
```
-**描述:**
-视频编码的比特率模式。
-@syscap SystemCapability.Multimedia.Media.VideoEncoder
+**描述:**
+
+视频编码器的比特率模式。
+
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
- | 枚举值 | 描述 |
+**起始版本:**
+
+9
+
+| 枚举值 | 描述 |
| -------- | -------- |
-| CBR | 恒定比特率模式 |
-| VBR | 可变比特率模式 |
-| CQ | 恒定质量模式 |
+| CBR | 恒定比特率模式。 |
+| VBR | 可变比特率模式。 |
+| CQ | 恒定质量模式。 |
## 函数说明
@@ -100,23 +117,29 @@ enum OH_VideoEncodeBitrateMode
```
OH_AVErrCode OH_VideoEncoder_Configure (OH_AVCodec * codec, OH_AVFormat * format )
```
-**描述:**
-配置视频编码器,典型地,需要配置被编码视频轨道的描述信息,该接口被调用必须是在Prepare被调用前。
-@syscap SystemCapability.Multimedia.Media.VideoEncoder
+**描述:**
+
+配置视频编码器,通常需要配置要编码的视频轨的描述信息。
-**参数:**
+必须在调用Prepare之前,调用此接口。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| format | 指向OH_AVFormat的指针,用以给出待编码视频轨道的描述信息 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| format | 指向OH_AVFormat的指针,用于给出要编码的视频轨的描述。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,返回AV_ERR_OK 否则,返回特定的错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_VideoEncoder_CreateByMime()
@@ -125,20 +148,26 @@ OH_AVErrCode OH_VideoEncoder_Configure (OH_AVCodec * codec, OH_AVFormat * format
```
OH_AVCodec* OH_VideoEncoder_CreateByMime (const char * mime)
```
-**描述:**
-通过mime类型创建一个视频编码器实例,大多数情况下推荐使用该接口。
-@syscap SystemCapability.Multimedia.Media.VideoEncoder
+**描述:**
+
+多数情况下,推荐从MIME类型创建视频编码器实例。
+
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| mime | mime类型描述字符串,参考[OH_AVCODEC_MIMETYPE_VIDEO_AVC](_codec_base.md#oh_avcodec_mimetype_video_avc) |
+| mime | MIME类型描述字符串,请参阅 **AVCODEC_MIME_TYPE**。 |
+
+**返回:**
+
+返回一个指向OH_AVCodec实例的指针, 需要调用OH_VideoEncoder_Destroy销毁。
-**返回:**
+**起始版本:**
-返回一个指向OH_AVCodec实例的指针
+9
### OH_VideoEncoder_CreateByName()
@@ -147,20 +176,26 @@ OH_AVCodec* OH_VideoEncoder_CreateByMime (const char * mime)
```
OH_AVCodec* OH_VideoEncoder_CreateByName (const char * name)
```
-**描述:**
-通过视频编码器名称创建一个视频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。
-@syscap SystemCapability.Multimedia.Media.VideoEncoder
+**描述:**
+
+通过视频编码器名称创建一个视频编码器实例。使用此接口的前提是知道编码器的确切名称。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| name | 视频编码器名称 |
+| name | 视频编码器名称。 |
-**返回:**
+**返回:**
-返回一个指向OH_AVCodec实例的指针
+返回指向OH_AVCodec实例的指针。
+
+**起始版本:**
+
+9
### OH_VideoEncoder_Destroy()
@@ -169,22 +204,26 @@ OH_AVCodec* OH_VideoEncoder_CreateByName (const char * name)
```
OH_AVErrCode OH_VideoEncoder_Destroy (OH_AVCodec * codec)
```
-**描述:**
-清空编码器内部资源,并销毁编码器实例。
-@syscap SystemCapability.Multimedia.Media.VideoEncoder
+**描述:**
+
+清除编码器的内部资源并销毁编码器实例。
+
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,返回AV_ERR_OK 否则,返回特定的错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
### OH_VideoEncoder_Flush()
@@ -193,22 +232,28 @@ OH_AVErrCode OH_VideoEncoder_Destroy (OH_AVCodec * codec)
```
OH_AVErrCode OH_VideoEncoder_Flush (OH_AVCodec * codec)
```
-**描述:**
-清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。
-@syscap SystemCapability.Multimedia.Media.VideoEncoder
+**描述:**
+
+清除编码器中缓冲的输入和输出数据。
-**参数:**
+调用此接口后,之前通过异步回调函数报告的索引将无效,请确保不要访问与这些索引相对应的缓冲区。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,返回AV_ERR_OK 否则,返回特定的错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
### OH_VideoEncoder_FreeOutputData()
@@ -217,23 +262,57 @@ OH_AVErrCode OH_VideoEncoder_Flush (OH_AVCodec * codec)
```
OH_AVErrCode OH_VideoEncoder_FreeOutputData (OH_AVCodec * codec, uint32_t index )
```
-**描述:**
-将处理结束的输出Buffer交还给编码器。
-@syscap SystemCapability.Multimedia.Media.VideoEncoder
+**描述:**
+
+将处理后的输出缓冲区返回给编码器。
+
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| codec | 指向OH_AVCodec实例的指针。 |
+| index | 输出缓冲区对应的索引值。 |
+
+**返回:**
+
+如果执行成功,返回AV_ERR_OK 否则,返回特定的错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+9
+
+
+### OH_VideoEncoder_GetInputDescription()
+
+
+```
+OH_AVFormat* OH_VideoEncoder_GetInputDescription (OH_AVCodec * codec)
+```
+
+**描述:**
+
+获取视频编码器接收的描述信息,调用Configure后调用此接口,请参阅 **OH_AVFormat** 获取详细信息。
-**参数:**
+应该注意的是,返回指针所指向的OH_AVFormat实例的生命周期需要由调用者手动释放。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| index | 输出Buffer对应的索引值 |
+| codec | 指向OH_AVCodec实例的指针。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+返回指向OH_AVFormat实例的指针。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+10
### OH_VideoEncoder_GetOutputDescription()
@@ -242,20 +321,28 @@ OH_AVErrCode OH_VideoEncoder_FreeOutputData (OH_AVCodec * codec, uint32_t index
```
OH_AVFormat* OH_VideoEncoder_GetOutputDescription (OH_AVCodec * codec)
```
-**描述:**
-获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。
-@syscap SystemCapability.Multimedia.Media.VideoEncoder
+**描述:**
+
+获取编码器输出数据的描述信息,详细信息请参阅 **OH_AVFormat**。
-**参数:**
+需要注意的是,返回值指针指向的OH_AVFormat实例的生命周期需要由调用者手动释放。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
-**返回:**
+**返回:**
-返回AVFormat实例的指针
+返回指向OH_AVFormat实例的指针。
+
+**起始版本:**
+
+9
### OH_VideoEncoder_GetSurface()
@@ -264,23 +351,58 @@ OH_AVFormat* OH_VideoEncoder_GetOutputDescription (OH_AVCodec * codec)
```
OH_AVErrCode OH_VideoEncoder_GetSurface (OH_AVCodec * codec, OHNativeWindow ** window )
```
-**描述:**
-从视频编码器获取输入Surface, 该接口被调用必须是在Prepare被调用前。
-@syscap SystemCapability.Multimedia.Media.VideoEncoder
+**描述:**
+
+从视频编码器获取输入Surface,必须在调用Prepare之前调用此接口。
+
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| codec | 指向OH_AVCodec实例的指针。 |
+| window | 指向OHNativeWindow实例的指针, 参考 **OHNativeWindow**。 |
+
+**返回:**
+
+如果执行成功,返回AV_ERR_OK 否则,返回特定的错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+9
+
+
+### OH_VideoEncoder_IsValid()
+
+
+```
+OH_AVErrCode OH_VideoEncoder_IsValid (OH_AVCodec * codec, bool * isValid )
+```
+
+**描述:**
-**参数:**
+检查当前编解码器实例是否有效。
- | 名称 | 描述 |
+它可以用于故障恢复或应用程序的后台切换。
+
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| window | 指向一个OHNativeWindow实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| isValid | 指向布尔实例的指针,true: 编码器实例有效,false: 编码器实例无效。 |
+
+**返回:**
-**返回:**
+如果执行成功,返回AV_ERR_OK 否则,返回特定的错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+10
### OH_VideoEncoder_NotifyEndOfStream()
@@ -289,22 +411,28 @@ OH_AVErrCode OH_VideoEncoder_GetSurface (OH_AVCodec * codec, OHNativeWindow ** w
```
OH_AVErrCode OH_VideoEncoder_NotifyEndOfStream (OH_AVCodec * codec)
```
-**描述:**
-通知视频编码器输入码流已结束。surface模式推荐使用该接口通知编码器码流结束。
-@syscap SystemCapability.Multimedia.Media.VideoEncoder
+**描述:**
+
+通知视频编码器输入流已结束。建议使用此接口进行通知。
+
+编码器surface模式下,输入流的结束通知。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+
+**返回:**
-**返回:**
+如果执行成功,返回AV_ERR_OK 否则,返回特定的错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_VideoEncoder_Prepare()
@@ -313,22 +441,56 @@ OH_AVErrCode OH_VideoEncoder_NotifyEndOfStream (OH_AVCodec * codec)
```
OH_AVErrCode OH_VideoEncoder_Prepare (OH_AVCodec * codec)
```
-**描述:**
-准备编码器内部资源,调用该接口前必须先调用Configure接口。
-@syscap SystemCapability.Multimedia.Media.VideoEncoder
+**描述:**
+
+若要准备编码器的内部资源,必须先调用Configure接口,再调用此接口。
+
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| codec | 指向OH_AVCodec实例的指针。 |
+
+**返回:**
+
+如果执行成功,返回AV_ERR_OK 否则,返回特定的错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
+
+9
+
+
+### OH_VideoEncoder_PushInputData()
+
+
+```
+OH_AVErrCode OH_VideoEncoder_PushInputData (OH_AVCodec * codec, uint32_t index, OH_AVCodecBufferAttr attr )
+```
+
+**描述:**
+
+将填入数据的输入缓冲区提交给视频编码器。
+
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| index | 输入缓冲区对应的索引值。 |
+| attr | 缓冲区中包含数据的描述信息。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,返回AV_ERR_OK 否则,返回特定的错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
+
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+10
### OH_VideoEncoder_Reset()
@@ -337,22 +499,26 @@ OH_AVErrCode OH_VideoEncoder_Prepare (OH_AVCodec * codec)
```
OH_AVErrCode OH_VideoEncoder_Reset (OH_AVCodec * codec)
```
-**描述:**
-重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。
-@syscap SystemCapability.Multimedia.Media.VideoEncoder
+**描述:**
-**参数:**
+重置编码器。要继续编码,您需要再次调用Configure接口配置编码器实例。
- | 名称 | 描述 |
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,返回AV_ERR_OK 否则,返回特定的错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
### OH_VideoEncoder_SetCallback()
@@ -361,24 +527,30 @@ OH_AVErrCode OH_VideoEncoder_Reset (OH_AVCodec * codec)
```
OH_AVErrCode OH_VideoEncoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCallback callback, void * userData )
```
-**描述:**
-设置异步回调函数,使得你的应用能够响应视频编码器产生的事件,该接口被调用必须是在Prepare被调用前。
-@syscap SystemCapability.Multimedia.Media.VideoEncoder
+**描述:**
-**参数:**
+设置异步回调函数,以便您的应用程序能够响应视频编码器事件。
- | 名称 | 描述 |
+必须在调用Prepare之前,调用此接口。
+
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
+
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| callback | 一个包含所有回调函数的集合体,参考[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) |
-| userData | 用户特定数据 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| callback | 所有回调函数的集合,请参阅 **OH_AVCodecAsyncCallback**。 |
+| userData | 用户的特定数据。 |
+
+**返回:**
-**返回:**
+如果执行成功,返回AV_ERR_OK 否则,返回特定的错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
### OH_VideoEncoder_SetParameter()
@@ -387,23 +559,29 @@ OH_AVErrCode OH_VideoEncoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCal
```
OH_AVErrCode OH_VideoEncoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * format )
```
-**描述:**
-向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。
-@syscap SystemCapability.Multimedia.Media.VideoEncoder
+**描述:**
+
+为编码器设置动态参数。
+
+注意,此接口只有在编码器启动后才能调用。 同时,不正确的参数设置可能会导致编码失败。
+
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
-**参数:**
+**参数:**
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
-| format | OH_AVFormat句柄指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+| format | OH_AVFormat句柄指针。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,返回AV_ERR_OK 否则,返回特定的错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
### OH_VideoEncoder_Start()
@@ -412,22 +590,28 @@ OH_AVErrCode OH_VideoEncoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for
```
OH_AVErrCode OH_VideoEncoder_Start (OH_AVCodec * codec)
```
-**描述:**
-启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。
-@syscap SystemCapability.Multimedia.Media.VideoEncoder
+**描述:**
+
+启动编码器, 这个接口必须要在Prepare接口执行成功后调用。
+
+在成功启动编码器之后,编码器将开始报告NeedInputData事件。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
-**返回:**
+**返回:**
-执行成功返回AV_ERR_OK
+如果执行成功,返回AV_ERR_OK 否则,返回特定的错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+**起始版本:**
+
+9
### OH_VideoEncoder_Stop()
@@ -436,19 +620,23 @@ OH_AVErrCode OH_VideoEncoder_Start (OH_AVCodec * codec)
```
OH_AVErrCode OH_VideoEncoder_Stop (OH_AVCodec * codec)
```
-**描述:**
-停止编码器。在停止后可通过Start重新进入Started状态。
-@syscap SystemCapability.Multimedia.Media.VideoEncoder
+**描述:**
+
+停止编码器。停止之后,你可以通过Start接口进入Started状态。
-**参数:**
+\@syscap SystemCapability.Multimedia.Media.VideoEncoder
- | 名称 | 描述 |
+**参数:**
+
+| 名称 | 描述 |
| -------- | -------- |
-| codec | 指向OH_AVCodec实例的指针 |
+| codec | 指向OH_AVCodec实例的指针。 |
+
+**返回:**
-**返回:**
+如果执行成功,返回AV_ERR_OK 否则,返回特定的错误代码,请参阅[OH_AVErrCode](_core.md#oh_averrcode)。
-执行成功返回AV_ERR_OK
+**起始版本:**
-执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
+9
diff --git a/zh-cn/application-dev/reference/native-apis/avcodec__audio__channel__layout_8h.md b/zh-cn/application-dev/reference/native-apis/avcodec__audio__channel__layout_8h.md
new file mode 100644
index 0000000000000000000000000000000000000000..aadf8a4f90d9c8eed4e981197e16d8e0154d5bbc
--- /dev/null
+++ b/zh-cn/application-dev/reference/native-apis/avcodec__audio__channel__layout_8h.md
@@ -0,0 +1,25 @@
+# avcodec_audio_channel_layout.h
+
+
+## 概述
+
+声明用于音频编解码的枚举。
+
+**起始版本:**
+
+9
+
+**相关模块:**
+
+[AudioDecoder](_audio_decoder.md)
+
+
+## 汇总
+
+
+### 枚举
+
+| 名称 | 描述 |
+| -------- | -------- |
+| [OHOS::Media::AudioChannelSet](_audio_decoder.md#audiochannelset) : uint64_t {
**FRONT_LEFT** = 1ULL << 0U, **FRONT_RIGHT** = 1ULL << 1U, **FRONT_CENTER** = 1ULL << 2U, **LOW_FREQUENCY** = 1ULL << 3U,
**BACK_LEFT** = 1ULL << 4U, **BACK_RIGHT** = 1ULL << 5U, **FRONT_LEFT_OF_CENTER** = 1ULL << 6U, **FRONT_RIGHT_OF_CENTER** = 1ULL << 7U,
**BACK_CENTER** = 1ULL << 8U, **SIDE_LEFT** = 1ULL << 9U, **SIDE_RIGHT** = 1ULL << 10U, **TOP_CENTER** = 1ULL << 11U,
**TOP_FRONT_LEFT** = 1ULL << 12U, **TOP_FRONT_CENTER** = 1ULL << 13U, **TOP_FRONT_RIGHT** = 1ULL << 14U, **TOP_BACK_LEFT** = 1ULL << 15U,
**TOP_BACK_CENTER** = 1ULL << 16U, **TOP_BACK_RIGHT** = 1ULL << 17U, **STEREO_LEFT** = 1ULL << 29U, **STEREO_RIGHT** = 1ULL << 30U,
**WIDE_LEFT** = 1ULL << 31U, **WIDE_RIGHT** = 1ULL << 32U, **SURROUND_DIRECT_LEFT** = 1ULL << 33U, **SURROUND_DIRECT_RIGHT** = 1ULL << 34U,
**LOW_FREQUENCY_2** = 1ULL << 35U, **TOP_SIDE_LEFT** = 1ULL << 36U, **TOP_SIDE_RIGHT** = 1ULL << 37U, **BOTTOM_FRONT_CENTER** = 1ULL << 38U,
**BOTTOM_FRONT_LEFT** = 1ULL << 39U, **BOTTOM_FRONT_RIGHT** = 1ULL << 40U, **AMBISONICS_ACN0** = 1ULL << 41U, OHOS::Media::AMBISONICS_ACN1 = 1ULL << 42U,
OHOS::Media::AMBISONICS_ACN2 = 1ULL << 43U, OHOS::Media::AMBISONICS_ACN3 = 1ULL << 44U, OHOS::Media::AMBISONICS_W = AMBISONICS_ACN0, OHOS::Media::AMBISONICS_Y = AMBISONICS_ACN1,
OHOS::Media::AMBISONICS_Z = AMBISONICS_ACN2, OHOS::Media::AMBISONICS_X = AMBISONICS_ACN3, OHOS::Media::AMBISONICS_ACN4 = 1ULL << 45U, OHOS::Media::AMBISONICS_ACN5 = 1ULL << 46U,
OHOS::Media::AMBISONICS_ACN6 = 1ULL << 47U, OHOS::Media::AMBISONICS_ACN7 = 1ULL << 48U, OHOS::Media::AMBISONICS_ACN8 = 1ULL << 49U, OHOS::Media::AMBISONICS_ACN9 = 1ULL << 50U,
OHOS::Media::AMBISONICS_ACN10 = 1ULL << 51U, OHOS::Media::AMBISONICS_ACN11 = 1ULL << 52U, OHOS::Media::AMBISONICS_ACN12 = 1ULL << 53U, OHOS::Media::AMBISONICS_ACN13 = 1ULL << 54U,
OHOS::Media::AMBISONICS_ACN14 = 1ULL << 55U, OHOS::Media::AMBISONICS_ACN15 = 1ULL << 56U
} | 音频声道数集合, 将每一个声道数映射为int64的变量。 |
+| [OHOS::Media::AudioChannelLayout](_audio_decoder.md#audiochannellayout) : uint64_t {
**UNKNOWN_CHANNEL_LAYOUT** = 0, **MONO** = (AudioChannelSet::FRONT_CENTER), **STEREO** = (AudioChannelSet::FRONT_LEFT \| AudioChannelSet::FRONT_RIGHT), **CH_2POINT1** = (STEREO \| AudioChannelSet::LOW_FREQUENCY),
**CH_2_1** = (STEREO \| AudioChannelSet::BACK_CENTER), **SURROUND** = (STEREO \| AudioChannelSet::FRONT_CENTER), **CH_3POINT1** = (SURROUND \| AudioChannelSet::LOW_FREQUENCY), **CH_4POINT0** = (SURROUND \| AudioChannelSet::BACK_CENTER),
**CH_4POINT1** = (CH_4POINT0 \| AudioChannelSet::LOW_FREQUENCY), **CH_2_2** = (STEREO \| AudioChannelSet::SIDE_LEFT \| AudioChannelSet::SIDE_RIGHT), **QUAD** = (STEREO \| AudioChannelSet::BACK_LEFT \| AudioChannelSet::BACK_RIGHT), **CH_5POINT0** = (SURROUND \| AudioChannelSet::SIDE_LEFT \| AudioChannelSet::SIDE_RIGHT),
**CH_5POINT1** = (CH_5POINT0 \| AudioChannelSet::LOW_FREQUENCY), **CH_5POINT0_BACK** = (SURROUND \| AudioChannelSet::BACK_LEFT \| AudioChannelSet::BACK_RIGHT), **CH_5POINT1_BACK** = (CH_5POINT0_BACK \| AudioChannelSet::LOW_FREQUENCY), **CH_6POINT0** = (CH_5POINT0 \| AudioChannelSet::BACK_CENTER),
**CH_6POINT0_FRONT** = (CH_2_2 \| AudioChannelSet::FRONT_LEFT_OF_CENTER \| AudioChannelSet::FRONT_RIGHT_OF_CENTER), **HEXAGONAL** = (CH_5POINT0_BACK \| AudioChannelSet::BACK_CENTER), **CH_6POINT1** = (CH_5POINT1 \| AudioChannelSet::BACK_CENTER), **CH_6POINT1_BACK** = (CH_5POINT1_BACK \| AudioChannelSet::BACK_CENTER),
**CH_6POINT1_FRONT** = (CH_6POINT0_FRONT \| AudioChannelSet::LOW_FREQUENCY), **CH_7POINT0** = (CH_5POINT0 \| AudioChannelSet::BACK_LEFT \| AudioChannelSet::BACK_RIGHT), **CH_7POINT0_FRONT** = (CH_5POINT0 \| AudioChannelSet::FRONT_LEFT_OF_CENTER \| AudioChannelSet::FRONT_RIGHT_OF_CENTER), **CH_7POINT1** = (CH_5POINT1 \| AudioChannelSet::BACK_LEFT \| AudioChannelSet::BACK_RIGHT),
**CH_7POINT1_WIDE** = (CH_5POINT1 \| AudioChannelSet::FRONT_LEFT_OF_CENTER \| AudioChannelSet::FRONT_RIGHT_OF_CENTER), **CH_7POINT1_WIDE_BACK**, **CH_3POINT1POINT2** = (CH_3POINT1 \| AudioChannelSet::TOP_FRONT_LEFT \| AudioChannelSet::TOP_FRONT_RIGHT), **CH_5POINT1POINT2** = (CH_5POINT1 \| AudioChannelSet::TOP_SIDE_LEFT \| AudioChannelSet::TOP_SIDE_RIGHT),
**CH_5POINT1POINT4**, **CH_7POINT1POINT2** = (CH_7POINT1 \| AudioChannelSet::TOP_SIDE_LEFT \| AudioChannelSet::TOP_SIDE_RIGHT), **CH_7POINT1POINT4**, **CH_9POINT1POINT4** = (CH_7POINT1POINT4 \| AudioChannelSet::WIDE_LEFT \| AudioChannelSet::WIDE_RIGHT),
**CH_9POINT1POINT6** = (CH_9POINT1POINT4 \| AudioChannelSet::TOP_SIDE_LEFT \| AudioChannelSet::TOP_SIDE_RIGHT), **CH_10POINT2**, **CH_22POINT2**, **OCTAGONAL** = (CH_5POINT0 \| AudioChannelSet::BACK_LEFT \| AudioChannelSet::BACK_CENTER \| AudioChannelSet::BACK_RIGHT),
**HEXADECAGONAL**, **STEREO_DOWNMIX** = (AudioChannelSet::STEREO_LEFT \| AudioChannelSet::STEREO_RIGHT), **HOA_FIRST**, **HOA_SECOND**,
**HOA_THIRD**
} | 音频声道数类型, 将用户申请的解码器输出格式表示为编解码器的声道类型。 |
diff --git a/zh-cn/application-dev/reference/native-apis/native__avcapability_8h.md b/zh-cn/application-dev/reference/native-apis/native__avcapability_8h.md
new file mode 100644
index 0000000000000000000000000000000000000000..f8b30dccc788fe8ab61c891fe6a4642895cffc06
--- /dev/null
+++ b/zh-cn/application-dev/reference/native-apis/native__avcapability_8h.md
@@ -0,0 +1,72 @@
+# native_avcapability.h
+
+
+## 概述
+
+声明用于编解码能力查询到的Native API。
+
+**起始版本:**
+
+10
+
+**相关模块:**
+
+[AVCapability](_a_v_capability.md)
+
+
+## 汇总
+
+
+### 结构体
+
+| 名称 | 描述 |
+| -------- | -------- |
+| [OH_AVRange](_o_h___a_v_range.md) | 范围包含最小值和最大值。 |
+
+
+### 类型定义
+
+| 名称 | 描述 |
+| -------- | -------- |
+| [OH_BitrateMode](_a_v_capability.md#oh_bitratemode) | 编码器的比特率模式。 |
+| [OH_AVRange](_a_v_capability.md#oh_avrange) | 范围包含最小值和最大值。 |
+| [OH_AVCodecCategory](_a_v_capability.md#oh_avcodeccategory) | 编解码器类别。 |
+
+
+### 枚举
+
+| 名称 | 描述 |
+| -------- | -------- |
+| [OH_BitrateMode](_a_v_capability.md#oh_bitratemode) { **BITRATE_MODE_CBR** = 0, **BITRATE_MODE_VBR** = 1, **BITRATE_MODE_CQ** = 2 } | 编码器的比特率模式。 |
+| [OH_AVCodecCategory](_a_v_capability.md#oh_avcodeccategory) { **HARDWARE** = 0, **SOFTWARE** } | 编解码器类别。 |
+
+
+### 函数
+
+| 名称 | 描述 |
+| -------- | -------- |
+| \*[OH_AVCodec_GetCapability](_a_v_capability.md#oh_avcodec_getcapability) (const char \*mime, bool isEncoder) | 获取系统推荐的编解码器能力。 |
+| \*[OH_AVCodec_GetCapabilityByCategory](_a_v_capability.md#oh_avcodec_getcapabilitybycategory) (const char \*mime, bool isEncoder, [OH_AVCodecCategory](_a_v_capability.md#oh_avcodeccategory) category) | 获取指定类别中的编解码器能力。通过指定类别, 匹配的编解码器仅限于硬件编解码器或软件编解码器。 |
+| [OH_AVCapability_IsHardware](_a_v_capability.md#oh_avcapability_ishardware) (OH_AVCapability \*capability) | 检查能力实例是否描述了硬件编解码器。 |
+| \*[OH_AVCapability_GetName](_a_v_capability.md#oh_avcapability_getname) (OH_AVCapability \*capability) | 获取编解码器名称。 |
+| [OH_AVCapability_GetMaxSupportedInstances](_a_v_capability.md#oh_avcapability_getmaxsupportedinstances) (OH_AVCapability \*capability) | 获取编解码器支持的最大实例数。 |
+| [OH_AVCapability_GetEncoderBitrateRange](_a_v_capability.md#oh_avcapability_getencoderbitraterange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*bitrateRange) | 获取编码器支持的比特率范围。 |
+| [OH_AVCapability_IsEncoderBitrateModeSupported](_a_v_capability.md#oh_avcapability_isencoderbitratemodesupported) (OH_AVCapability \*capability, [OH_BitrateMode](_a_v_capability.md#oh_bitratemode) bitrateMode) | 检查编码器是否支持特定的比特率模式。 |
+| [OH_AVCapability_GetEncoderQualityRange](_a_v_capability.md#oh_avcapability_getencoderqualityrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*qualityRange) | 获取编码器支持的质量范围。 |
+| [OH_AVCapability_GetEncoderComplexityRange](_a_v_capability.md#oh_avcapability_getencodercomplexityrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*complexityRange) | 获取编码器支持的编码器复杂性范围。 |
+| [OH_AVCapability_GetAudioSupportedSampleRates](_a_v_capability.md#oh_avcapability_getaudiosupportedsamplerates) (OH_AVCapability \*capability, const int32_t \*\*sampleRates, uint32_t \*sampleRateNum) | 获取音频编解码器支持的采样速率。 |
+| [OH_AVCapability_GetAudioChannelCountRange](_a_v_capability.md#oh_avcapability_getaudiochannelcountrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*channelCountRange) | 获取音频编解码器支持的音频通道计数范围。 |
+| [OH_AVCapability_GetVideoWidthAlignment](_a_v_capability.md#oh_avcapability_getvideowidthalignment) (OH_AVCapability \*capability, int32_t \*widthAlignment) | 获取视频编解码器支持的视频宽度对齐。 |
+| [OH_AVCapability_GetVideoHeightAlignment](_a_v_capability.md#oh_avcapability_getvideoheightalignment) (OH_AVCapability \*capability, int32_t \*heightAlignment) | 获取视频编解码器支持的视频高度对齐。 |
+| [OH_AVCapability_GetVideoWidthRangeForHeight](_a_v_capability.md#oh_avcapability_getvideowidthrangeforheight) (OH_AVCapability \*capability, int32_t height, [OH_AVRange](_o_h___a_v_range.md) \*widthRange) | 获取指定高度情况下视频编解码器支持的视频宽度范围。 |
+| [OH_AVCapability_GetVideoHeightRangeForWidth](_a_v_capability.md#oh_avcapability_getvideoheightrangeforwidth) (OH_AVCapability \*capability, int32_t width, [OH_AVRange](_o_h___a_v_range.md) \*heightRange) | 获取指定宽度情况下视频编解码器支持的视频高度范围。 |
+| [OH_AVCapability_GetVideoWidthRange](_a_v_capability.md#oh_avcapability_getvideowidthrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*widthRange) | 获取视频编解码器支持的视频宽度范围。 |
+| [OH_AVCapability_GetVideoHeightRange](_a_v_capability.md#oh_avcapability_getvideoheightrange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*heightRange) | 获取视频编解码器支持的视频高度范围。 |
+| [OH_AVCapability_IsVideoSizeSupported](_a_v_capability.md#oh_avcapability_isvideosizesupported) (OH_AVCapability \*capability, int32_t width, int32_t height) | 检查视频编解码器是否支持特定的视频大小。 |
+| [OH_AVCapability_GetVideoFrameRateRange](_a_v_capability.md#oh_avcapability_getvideoframeraterange) (OH_AVCapability \*capability, [OH_AVRange](_o_h___a_v_range.md) \*frameRateRange) | 获取视频编解码器支持的视频帧率范围。 |
+| [OH_AVCapability_GetVideoFrameRateRangeForSize](_a_v_capability.md#oh_avcapability_getvideoframeraterangeforsize) (OH_AVCapability \*capability, int32_t width, int32_t height, [OH_AVRange](_o_h___a_v_range.md) \*frameRateRange) | 获取指定视频大小的视频编解码器支持的视频帧率范围。 |
+| [OH_AVCapability_AreVideoSizeAndFrameRateSupported](_a_v_capability.md#oh_avcapability_arevideosizeandframeratesupported) (OH_AVCapability \*capability, int32_t width, int32_t height, int32_t frameRate) | 检查视频编解码器是否支持视频大小和帧率的特定组合。 |
+| [OH_AVCapability_GetVideoSupportedPixelFormats](_a_v_capability.md#oh_avcapability_getvideosupportedpixelformats) (OH_AVCapability \*capability, const int32_t \*\*pixelFormats, uint32_t \*pixelFormatNum) | 获取视频编解码器支持的视频像素格式。 |
+| [OH_AVCapability_GetSupportedProfiles](_a_v_capability.md#oh_avcapability_getsupportedprofiles) (OH_AVCapability \*capability, const int32_t \*\*profiles, uint32_t \*profileNum) | 获取编解码器支持的配置文件。 |
+| [OH_AVCapability_GetSupportedLevelsForProfile](_a_v_capability.md#oh_avcapability_getsupportedlevelsforprofile) (OH_AVCapability \*capability, int32_t profile, const int32_t \*\*levels, uint32_t \*levelNum) | 获取特定配置文件支持的编解码器级别。 |
+| [OH_AVCapability_AreProfileAndLevelSupported](_a_v_capability.md#oh_avcapability_areprofileandlevelsupported) (OH_AVCapability \*capability, int32_t profile, int32_t level) | 检查编解码器是否支持配置文件和级别的特定组合。 |
diff --git a/zh-cn/application-dev/reference/native-apis/native__avcodec__audiodecoder_8h.md b/zh-cn/application-dev/reference/native-apis/native__avcodec__audiodecoder_8h.md
index 2d77a38e599c47d232719e6ad3fbacb3ff5f0f3e..0a71ba1df3e9a5aa70e914379430d401c05105be 100644
--- a/zh-cn/application-dev/reference/native-apis/native__avcodec__audiodecoder_8h.md
+++ b/zh-cn/application-dev/reference/native-apis/native__avcodec__audiodecoder_8h.md
@@ -6,9 +6,10 @@
声明用于音频解码的Native API。
**起始版本:**
+
9
-**相关模块:**
+**相关模块:**
[AudioDecoder](_audio_decoder.md)
@@ -18,19 +19,20 @@
### 函数
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [OH_AudioDecoder_CreateByMime](_audio_decoder.md#oh_audiodecoder_createbymime) (const char \*mime) | 通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。 |
-| [OH_AudioDecoder_CreateByName](_audio_decoder.md#oh_audiodecoder_createbyname) (const char \*name) | 通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 |
-| [OH_AudioDecoder_Destroy](_audio_decoder.md#oh_audiodecoder_destroy) (OH_AVCodec \*codec) | 清空解码器内部资源,并销毁解码器实例 |
-| [OH_AudioDecoder_SetCallback](_audio_decoder.md#oh_audiodecoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | 设置异步回调函数,使得你的应用能够响应音频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
-| [OH_AudioDecoder_Configure](_audio_decoder.md#oh_audiodecoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | 配置音频解码器,典型地,需要配置被解码音频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 |
-| [OH_AudioDecoder_Prepare](_audio_decoder.md#oh_audiodecoder_prepare) (OH_AVCodec \*codec) | 准备解码器内部资源,调用该接口前必须先调用Configure接口。 |
-| [OH_AudioDecoder_Start](_audio_decoder.md#oh_audiodecoder_start) (OH_AVCodec \*codec) | 启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 |
-| [OH_AudioDecoder_Stop](_audio_decoder.md#oh_audiodecoder_stop) (OH_AVCodec \*codec) | 停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 |
-| [OH_AudioDecoder_Flush](_audio_decoder.md#oh_audiodecoder_flush) (OH_AVCodec \*codec) | 清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
-| [OH_AudioDecoder_Reset](_audio_decoder.md#oh_audiodecoder_reset) (OH_AVCodec \*codec) | 重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 |
-| [OH_AudioDecoder_GetOutputDescription](_audio_decoder.md#oh_audiodecoder_getoutputdescription) (OH_AVCodec \*codec) | 获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 |
-| [OH_AudioDecoder_SetParameter](_audio_decoder.md#oh_audiodecoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | 向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 |
-| [OH_AudioDecoder_PushInputData](_audio_decoder.md#oh_audiodecoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | 将填充好数据的输入Buffer提交给音频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程。 |
-| [OH_AudioDecoder_FreeOutputData](_audio_decoder.md#oh_audiodecoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理结束的输出Buffer交还给解码器。 |
+| \*[OHOS::Media::OH_AudioDecoder_CreateByMime](_audio_decoder.md#oh_audiodecoder_createbymime) (const char \*mime) | 根据MIME类型创建音频解码器实例,大多数场景下建议使用此方式。 |
+| \*[OHOS::Media::OH_AudioDecoder_CreateByName](_audio_decoder.md#oh_audiodecoder_createbyname) (const char \*name) | 通过音频解码器名称创建音频解码器实例,使用此接口的前提是知道解码器的确切名称。 |
+| [OHOS::Media::OH_AudioDecoder_Destroy](_audio_decoder.md#oh_audiodecoder_destroy) (OH_AVCodec \*codec) | 清理解码器内部资源,销毁解码器实例。 |
+| [OHOS::Media::OH_AudioDecoder_SetCallback](_audio_decoder.md#oh_audiodecoder_setcallback) (OH_AVCodec \*codec, OH_AVCodecAsyncCallback callback, void \*userData) | 设置异步回调函数,使您的应用程序可以响应音频解码器生成的事件。 |
+| [OHOS::Media::OH_AudioDecoder_Configure](_audio_decoder.md#oh_audiodecoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | 要配置音频解码器,通常需要配置从容器中提取的音频描述信息。 |
+| [OHOS::Media::OH_AudioDecoder_Prepare](_audio_decoder.md#oh_audiodecoder_prepare) (OH_AVCodec \*codec) | 准备解码器的内部资源,在调用此接口之前必须调用Configure接口。 |
+| [OHOS::Media::OH_AudioDecoder_Start](_audio_decoder.md#oh_audiodecoder_start) (OH_AVCodec \*codec) | Prepare成功后调用此接口启动解码器。 |
+| [OHOS::Media::OH_AudioDecoder_Stop](_audio_decoder.md#oh_audiodecoder_stop) (OH_AVCodec \*codec) | 停止解码器。 |
+| [OHOS::Media::OH_AudioDecoder_Flush](_audio_decoder.md#oh_audiodecoder_flush) (OH_AVCodec \*codec) | 清除解码器中缓存的输入和输出数据。 |
+| [OHOS::Media::OH_AudioDecoder_Reset](_audio_decoder.md#oh_audiodecoder_reset) (OH_AVCodec \*codec) | 重置解码器。如果要继续解码,需要再次调用Configure接口配置解码器实例 。 |
+| \*[OHOS::Media::OH_AudioDecoder_GetOutputDescription](_audio_decoder.md#oh_audiodecoder_getoutputdescription) (OH_AVCodec \*codec) | 获取解码器输出数据的描述信息,详细信息请参见**OH_AVFormat**。 |
+| [OHOS::Media::OH_AudioDecoder_SetParameter](_audio_decoder.md#oh_audiodecoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | 配置解码器的动态参数。注意:该接口必须在解码器启动后才能调用。另外,参数配置错误可能会导致解码失败。 |
+| [OHOS::Media::OH_AudioDecoder_PushInputData](_audio_decoder.md#oh_audiodecoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, OH_AVCodecBufferAttr attr) | 将填充有数据的输入缓冲区提交给音频解码器。 |
+| [OHOS::Media::OH_AudioDecoder_FreeOutputData](_audio_decoder.md#oh_audiodecoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理后的输出缓冲区返回给解码器。 |
+| [OHOS::Media::OH_AudioDecoder_IsValid](_audio_decoder.md#oh_audiodecoder_isvalid) (OH_AVCodec \*codec, bool \*isValid) | 检查当前解码器实例是否有效,可用于后台故障恢复或应用程序从后台恢复时检测解码器有效状态。 |
diff --git a/zh-cn/application-dev/reference/native-apis/native__avcodec__audioencoder_8h.md b/zh-cn/application-dev/reference/native-apis/native__avcodec__audioencoder_8h.md
index 5039ef065614d933ba4f2044b5041a5bb2dded6f..d8aae3f9fdc91033bb487b10a8b0c860dedb7a5b 100644
--- a/zh-cn/application-dev/reference/native-apis/native__avcodec__audioencoder_8h.md
+++ b/zh-cn/application-dev/reference/native-apis/native__avcodec__audioencoder_8h.md
@@ -6,9 +6,10 @@
声明用于音频编码的Native API。
**起始版本:**
+
9
-**相关模块:**
+**相关模块:**
[AudioEncoder](_audio_encoder.md)
@@ -18,19 +19,20 @@
### 函数
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [OH_AudioEncoder_CreateByMime](_audio_encoder.md#oh_audioencoder_createbymime) (const char \*mime) | 通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。 |
-| [OH_AudioEncoder_CreateByName](_audio_encoder.md#oh_audioencoder_createbyname) (const char \*name) | 通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 |
-| [OH_AudioEncoder_Destroy](_audio_encoder.md#oh_audioencoder_destroy) (OH_AVCodec \*codec) | 清空编码器内部资源,并销毁编码器实例。 |
-| [OH_AudioEncoder_SetCallback](_audio_encoder.md#oh_audioencoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | 设置异步回调函数,使得你的应用能够响应音频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
-| [OH_AudioEncoder_Configure](_audio_encoder.md#oh_audioencoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | 配置音频编码器,典型地,需要配置被编码音频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 |
-| [OH_AudioEncoder_Prepare](_audio_encoder.md#oh_audioencoder_prepare) (OH_AVCodec \*codec) | 准备编码器内部资源,调用该接口前必须先调用Configure接口。 |
-| [OH_AudioEncoder_Start](_audio_encoder.md#oh_audioencoder_start) (OH_AVCodec \*codec) | 启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 |
-| [OH_AudioEncoder_Stop](_audio_encoder.md#oh_audioencoder_stop) (OH_AVCodec \*codec) | 停止编码器。在停止后可通过Start重新进入Started状态。 |
-| [OH_AudioEncoder_Flush](_audio_encoder.md#oh_audioencoder_flush) (OH_AVCodec \*codec) | 清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
-| [OH_AudioEncoder_Reset](_audio_encoder.md#oh_audioencoder_reset) (OH_AVCodec \*codec) | 重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 |
-| [OH_AudioEncoder_GetOutputDescription](_audio_encoder.md#oh_audioencoder_getoutputdescription) (OH_AVCodec \*codec) | 获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 |
-| [OH_AudioEncoder_SetParameter](_audio_encoder.md#oh_audioencoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | 向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 |
-| [OH_AudioEncoder_PushInputData](_audio_encoder.md#oh_audioencoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | 将填充好数据的输入Buffer提交给音频编码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给编码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。 |
-| [OH_AudioEncoder_FreeOutputData](_audio_encoder.md#oh_audioencoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理结束的输出Buffer交还给编码器。 |
+| \*[OHOS::Media::OH_AudioEncoder_CreateByMime](_audio_encoder.md#oh_audioencoder_createbymime) (const char \*mime) | 根据MIME类型创建音频编码器实例,大多数场景下建议使用此方式。 |
+| \*[OHOS::Media::OH_AudioEncoder_CreateByName](_audio_encoder.md#oh_audioencoder_createbyname) (const char \*name) | 通过音频编码器名称创建音频编码器实例,使用此接口的前提是知道编码器的确切名称。 |
+| [OHOS::Media::OH_AudioEncoder_Destroy](_audio_encoder.md#oh_audioencoder_destroy) (OH_AVCodec \*codec) | 清理编码器内部资源,销毁编码器实例。 |
+| [OHOS::Media::OH_AudioEncoder_SetCallback](_audio_encoder.md#oh_audioencoder_setcallback) (OH_AVCodec \*codec, OH_AVCodecAsyncCallback callback, void \*userData) | 设置异步回调函数,使您的应用程序可以响应音频编码器生成的事件。 |
+| [OHOS::Media::OH_AudioEncoder_Configure](_audio_encoder.md#oh_audioencoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | 要配置音频编码器,通常需要配置编码后的音轨的描述信息。 |
+| [OHOS::Media::OH_AudioEncoder_Prepare](_audio_encoder.md#oh_audioencoder_prepare) (OH_AVCodec \*codec) | 准备编码器的内部资源,在调用此接口之前必须调用Configure接口。 |
+| [OHOS::Media::OH_AudioEncoder_Start](_audio_encoder.md#oh_audioencoder_start) (OH_AVCodec \*codec) | Prepare成功后调用此接口启动编码器。 |
+| [OHOS::Media::OH_AudioEncoder_Stop](_audio_encoder.md#oh_audioencoder_stop) (OH_AVCodec \*codec) | 停止编码器。 |
+| [OHOS::Media::OH_AudioEncoder_Flush](_audio_encoder.md#oh_audioencoder_flush) (OH_AVCodec \*codec) | 清除编码器中缓存的输入和输出数据。 |
+| [OHOS::Media::OH_AudioEncoder_Reset](_audio_encoder.md#oh_audioencoder_reset) (OH_AVCodec \*codec) | 重置编码器。 |
+| \*[OHOS::Media::OH_AudioEncoder_GetOutputDescription](_audio_encoder.md#oh_audioencoder_getoutputdescription) (OH_AVCodec \*codec) | 获取编码器输出数据的描述信息,详细信息请参见**OH_AVFormat**。 |
+| [OHOS::Media::OH_AudioEncoder_SetParameter](_audio_encoder.md#oh_audioencoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | 配置编码器的动态参数。 |
+| [OHOS::Media::OH_AudioEncoder_PushInputData](_audio_encoder.md#oh_audioencoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, OH_AVCodecBufferAttr attr) | 将填充有数据的输入缓冲区提交给音频编码器。 |
+| [OHOS::Media::OH_AudioEncoder_FreeOutputData](_audio_encoder.md#oh_audioencoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理后的输出缓冲区返回给编码器。 |
+| [OHOS::Media::OH_AudioEncoder_IsValid](_audio_encoder.md#oh_audioencoder_isvalid) (OH_AVCodec \*codec, bool \*isValid) | 检查当前编码器实例是否有效,可用于后台故障恢复或应用程序从后台恢复时检测编码器有效状态。 |
diff --git a/zh-cn/application-dev/reference/native-apis/native__avcodec__base_8h.md b/zh-cn/application-dev/reference/native-apis/native__avcodec__base_8h.md
index 457fd4b628f8d8a3968c09ab85409534c8f8b6bd..a6e93e50b635367762296dfb3f03b66d6052dc38 100644
--- a/zh-cn/application-dev/reference/native-apis/native__avcodec__base_8h.md
+++ b/zh-cn/application-dev/reference/native-apis/native__avcodec__base_8h.md
@@ -6,9 +6,10 @@
声明运行音视频编解码通用的结构体、字符常量、枚举。
**起始版本:**
+
9
-**相关模块:**
+**相关模块:**
[CodecBase](_codec_base.md)
@@ -20,57 +21,107 @@
| 名称 | 描述 |
| -------- | -------- |
-| [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) | 定义OH_AVCodec的Buffer描述信息。|
-| [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) | AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。|
+| [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) | struct
定义OH_AVCodec的缓冲区描述信息 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) | struct
OH_AVCodec中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVCodec实例中, 并处理回调上报的信息,以保证OH_AVCodec的正常运行。 \@syscap SystemCapability.Multimedia.Media.CodecBase |
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
-| [OH_AVCodecBufferFlags](_codec_base.md#oh_avcodecbufferflags) | 枚举OH_AVCodec的Buffer标记的类别。|
-| [OH_AVCodecBufferAttr](_codec_base.md#oh_avcodecbufferattr) | 定义OH_AVCodec的Buffer描述信息。|
-| (\*[OH_AVCodecOnError](_codec_base.md#oh_avcodeconerror)) (OH_AVCodec \*codec, int32_t errorCode, void \*userData) | 当OH_AVCodec实例运行发生错误时,该函数指针会被调用以报告具体错误信息。|
-| (\*[OH_AVCodecOnStreamChanged](_codec_base.md#oh_avcodeconstreamchanged)) (OH_AVCodec \*codec, OH_AVFormat \*format, void \*userData) | 当输出流发生变化时,该函数指针会被调用以报告新的流描述信息。 需要注意的时,OH_AVFormat指针的生命周期仅维持在该函数指针被调用时上有效,禁止在调用结束后继续访问。|
-| (\*[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, void \*userData) | 当AVCodec运行过程中需要新的输入数据时,该函数指针会被调用,并携带一块可用的Buffer以供填入新的输入数据。|
-| (\*[OH_AVCodecOnNewOutputData](_codec_base.md#oh_avcodeconnewoutputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) \*attr, void \*userData) | 当AVCodec运行过程中产生了新的输出数据时,该函数指针会被调用,并携带一块包含新输出数据的Buffer, 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅维持在该函数指针被调用时有效,禁止调用结束后继续访问。|
-| [OH_AVCodecAsyncCallback](_codec_base.md#oh_avcodecasynccallback) | AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。|
-| [OH_MediaType](_codec_base.md#oh_mediatype) | 媒体类型。|
-| [OH_AVCProfile](_codec_base.md#oh_avcprofile) | AVC Profile枚举。|
-| [OH_AACProfile](_codec_base.md#oh_aacprofile) | AAC Profile枚举。|
+| **OHNativeWindow** | typedef struct NativeWindow |
+| **OH_AVCodec** | typedef struct OH_AVCodec |
+| [OH_AVCodecBufferFlags](_codec_base.md#oh_avcodecbufferflags) | typedef enum [OH_AVCodecBufferFlags](_codec_base.md#oh_avcodecbufferflags)
枚举OH_AVCodec缓冲区标记的类别 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_AVOutputFormat](_codec_base.md#oh_avoutputformat) | typedef enum [OH_AVOutputFormat](_codec_base.md#oh_avoutputformat)
枚举封装器的输出文件格式 |
+| [OH_AVCodecBufferAttr](_codec_base.md#oh_avcodecbufferattr) | typedef struct [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)
定义OH_AVCodec的缓冲区描述信息 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_AVCodecOnError](_codec_base.md#oh_avcodeconerror)) (OH_AVCodec \*codec, int32_t errorCode, void \*userData) | typedef void(\*
当OH_AVCodec实例运行出错时,会调用来上报具体的错误信息的函数指针。 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_AVCodecOnStreamChanged](_codec_base.md#oh_avcodeconstreamchanged)) (OH_AVCodec \*codec, OH_AVFormat \*format, void \*userData) | typedef void(\*
当输出流发生变化时,将调用此函数指针报告新的流描述信息。需要注意的是, OH_AVFormat指针的生命周期只有在函数指针被调用时才有效,调用结束后禁止继续访问。 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, void \*userData) | typedef void(\*
当OH_AVCodec在运行过程中需要新的输入数据时,将调用此函数指针,并携带可用的缓冲区来填充新的输入数据。 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_AVCodecOnNewOutputData](_codec_base.md#oh_avcodeconnewoutputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) \*attr, void \*userData) | typedef void(\*
当OH_AVCodec运行过程中生成新的输出数据时,将调用此函数指针,并携带包含新输出数据的缓冲区。 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅在调用函数指针时有效,这将禁止调用结束后继续访问。 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_AVCodecAsyncCallback](_codec_base.md#oh_avcodecasynccallback) | typedef struct [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)
OH_AVCodec中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVCodec实例中, 并处理回调上报的信息,以保证OH_AVCodec的正常运行。 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_MediaType](_codec_base.md#oh_mediatype) | typedef enum [OH_MediaType](_codec_base.md#oh_mediatype)
媒体类型。 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_AVCProfile](_codec_base.md#oh_avcprofile) | typedef enum [OH_AVCProfile](_codec_base.md#oh_avcprofile)
AVC模板 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_HEVCProfile](_codec_base.md#oh_hevcprofile) | typedef enum [OH_HEVCProfile](_codec_base.md#oh_hevcprofile)
HEVC模板 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_AACProfile](_codec_base.md#oh_aacprofile) | typedef enum [OH_AACProfile](_codec_base.md#oh_aacprofile)
AAC模板 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_AVSeekMode](_codec_base.md#oh_avseekmode) | typedef enum [OH_AVSeekMode](_codec_base.md#oh_avseekmode)
寻找模式 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_ColorPrimary](_codec_base.md#oh_colorprimary) | typedef enum [OH_ColorPrimary](_codec_base.md#oh_colorprimary)
原色 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_TransferCharacteristic](_codec_base.md#oh_transfercharacteristic) | typedef enum [OH_TransferCharacteristic](_codec_base.md#oh_transfercharacteristic)
转移特性 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_MatrixCoefficient](_codec_base.md#oh_matrixcoefficient) | typedef enum [OH_MatrixCoefficient](_codec_base.md#oh_matrixcoefficient)
矩阵系数 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_BitsPerSample](_codec_base.md#oh_bitspersample) | typedef enum [OH_BitsPerSample](_codec_base.md#oh_bitspersample)
枚举每个编码样本的音频位数 \@syscap SystemCapability.Multimedia.Media.CodecBase |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
-| [OH_AVCodecBufferFlags](_codec_base.md#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
} | 枚举OH_AVCodec的Buffer标记的类别。|
-| [OH_MediaType](_codec_base.md#oh_mediatype) { **MEDIA_TYPE_AUD** = 0, **MEDIA_TYPE_VID** = 1 } | 媒体类型。|
-| [OH_AVCProfile](_codec_base.md#oh_avcprofile) { **AVC_PROFILE_BASELINE** = 0, **AVC_PROFILE_HIGH** = 4, **AVC_PROFILE_MAIN** = 8 } | AVC Profile枚举。|
-| [OH_AACProfile](_codec_base.md#oh_aacprofile) { **AAC_PROFILE_LC** = 0 } | AAC Profile枚举。|
+| [OH_AVCodecBufferFlags](_codec_base.md#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
} | 枚举OH_AVCodec缓冲区标记的类别 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_AVOutputFormat](_codec_base.md#oh_avoutputformat) { **AV_OUTPUT_FORMAT_DEFAULT** = 0, **AV_OUTPUT_FORMAT_MPEG_4** = 2, **AV_OUTPUT_FORMAT_M4A** = 6 } | 枚举封装器的输出文件格式 |
+| [OH_MediaType](_codec_base.md#oh_mediatype) { **MEDIA_TYPE_AUD** = 0, **MEDIA_TYPE_VID** = 1 } | 媒体类型。 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_AVCProfile](_codec_base.md#oh_avcprofile) { **AVC_PROFILE_BASELINE** = 0, **AVC_PROFILE_HIGH** = 4, **AVC_PROFILE_MAIN** = 8 } | AVC模板 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_HEVCProfile](_codec_base.md#oh_hevcprofile) {
**HEVC_PROFILE_MAIN** = 0, **HEVC_PROFILE_MAIN_10** = 1, **HEVC_PROFILE_MAIN_STILL** = 2, **HEVC_PROFILE_MAIN_10_HDR10** = 3,
**HEVC_PROFILE_MAIN_10_HDR10_PLUS** = 4
} | HEVC模板 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_AACProfile](_codec_base.md#oh_aacprofile) { **AAC_PROFILE_LC** = 0 } | AAC模板 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_AVSeekMode](_codec_base.md#oh_avseekmode) { **SEEK_MODE_NEXT_SYNC** = 0, **SEEK_MODE_PREVIOUS_SYNC**, **SEEK_MODE_CLOSEST_SYNC** } | 寻找模式 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_ColorPrimary](_codec_base.md#oh_colorprimary) {
**COLOR_PRIMARY_BT709** = 1, **COLOR_PRIMARY_UNSPECIFIED** = 2, **COLOR_PRIMARY_BT470_M** = 4, **COLOR_PRIMARY_BT601_625** = 5,
**COLOR_PRIMARY_BT601_525** = 6, **COLOR_PRIMARY_SMPTE_ST240** = 7, **COLOR_PRIMARY_GENERIC_FILM** = 8, **COLOR_PRIMARY_BT2020** = 9,
**COLOR_PRIMARY_SMPTE_ST428** = 10, **COLOR_PRIMARY_P3DCI** = 11, **COLOR_PRIMARY_P3D65** = 12
} | 原色 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_TransferCharacteristic](_codec_base.md#oh_transfercharacteristic) {
**TRANSFER_CHARACTERISTIC_BT709** = 1, **TRANSFER_CHARACTERISTIC_UNSPECIFIED** = 2, **TRANSFER_CHARACTERISTIC_GAMMA_2_2** = 4, **TRANSFER_CHARACTERISTIC_GAMMA_2_8** = 5,
**TRANSFER_CHARACTERISTIC_BT601** = 6, **TRANSFER_CHARACTERISTIC_SMPTE_ST240** = 7, **TRANSFER_CHARACTERISTIC_LINEAR** = 8, **TRANSFER_CHARACTERISTIC_LOG** = 9,
**TRANSFER_CHARACTERISTIC_LOG_SQRT** = 10, **TRANSFER_CHARACTERISTIC_IEC_61966_2_4** = 11, **TRANSFER_CHARACTERISTIC_BT1361** = 12, **TRANSFER_CHARACTERISTIC_IEC_61966_2_1** = 13,
**TRANSFER_CHARACTERISTIC_BT2020_10BIT** = 14, **TRANSFER_CHARACTERISTIC_BT2020_12BIT** = 15, **TRANSFER_CHARACTERISTIC_PQ** = 16, **TRANSFER_CHARACTERISTIC_SMPTE_ST428** = 17,
**TRANSFER_CHARACTERISTIC_HLG** = 18
} | 转移特性 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_MatrixCoefficient](_codec_base.md#oh_matrixcoefficient) {
**MATRIX_COEFFICIENT_IDENTITY** = 0, **MATRIX_COEFFICIENT_BT709** = 1, **MATRIX_COEFFICIENT_UNSPECIFIED** = 2, **MATRIX_COEFFICIENT_FCC** = 4,
**MATRIX_COEFFICIENT_BT601_625** = 5, **MATRIX_COEFFICIENT_BT601_525** = 6, **MATRIX_COEFFICIENT_SMPTE_ST240** = 7, **MATRIX_COEFFICIENT_YCGCO** = 8,
**MATRIX_COEFFICIENT_BT2020_NCL** = 9, **MATRIX_COEFFICIENT_BT2020_CL** = 10, **MATRIX_COEFFICIENT_SMPTE_ST2085** = 11, **MATRIX_COEFFICIENT_CHROMATICITY_NCL** = 12,
**MATRIX_COEFFICIENT_CHROMATICITY_CL** = 13, **MATRIX_COEFFICIENT_ICTCP** = 14
} | 矩阵系数 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| [OH_BitsPerSample](_codec_base.md#oh_bitspersample) {
**SAMPLE_U8** = 0, **SAMPLE_S16LE** = 1, **SAMPLE_S24LE** = 2, **SAMPLE_S32LE** = 3,
**SAMPLE_F32LE** = 4, **SAMPLE_U8P** = 5, **SAMPLE_S16P** = 6, **SAMPLE_S24P** = 7,
**SAMPLE_S32P** = 8, **SAMPLE_F32P** = 9, **INVALID_WIDTH** = -1
} | 枚举每个编码样本的音频位数 \@syscap SystemCapability.Multimedia.Media.CodecBase |
### 变量
| 名称 | 描述 |
| -------- | -------- |
-| [OH_AVCODEC_MIMETYPE_VIDEO_AVC](_codec_base.md#oh_avcodec_mimetype_video_avc) | AVC视频编解码器的MIME类型。|
-| [OH_AVCODEC_MIMETYPE_AUDIO_AAC](_codec_base.md#oh_avcodec_mimetype_audio_aac) | AAC音频编解码器的MIME类型。|
-| [OH_ED_KEY_TIME_STAMP](_codec_base.md#oh_ed_key_time_stamp) | 提供统一的surface Buffer附属数据的字符描述符。|
-| [OH_ED_KEY_EOS](_codec_base.md#oh_ed_key_eos) | surface附属数据中结束流的字符描述符,值类型为bool。 |
-| [OH_MD_KEY_TRACK_TYPE](_codec_base.md#oh_md_key_track_type) | 为媒体播放框架提供统一的字符描述符。|
-| [OH_MD_KEY_CODEC_MIME](_codec_base.md#oh_md_key_codec_mime) | MIME类型的字符描述符,值类型为string。 |
-| [OH_MD_KEY_DURATION](_codec_base.md#oh_md_key_duration) |duration的字符描述符,值类型为int64_t。|
-| [OH_MD_KEY_BITRATE](_codec_base.md#oh_md_key_bitrate) | 比特率的字符描述符,值类型为uint32_t。 |
-| [OH_MD_KEY_MAX_INPUT_SIZE](_codec_base.md#oh_md_key_max_input_size) | 最大输入尺寸的字符描述符,值类型为uint32_t。 |
-| [OH_MD_KEY_WIDTH](_codec_base.md#oh_md_key_width) | 视频宽度的字符描述符,值类型为uint32_t。 |
-| [OH_MD_KEY_HEIGHT](_codec_base.md#oh_md_key_height) | 视频高度的字符描述符,值类型为uint32_t。 |
-| [OH_MD_KEY_PIXEL_FORMAT](_codec_base.md#oh_md_key_pixel_format) | 视频像素格式的字符描述符,值类型为int32_t,具体见[OH_AVPixelFormat](_core.md#oh_avpixelformat)。 |
-| [OH_MD_KEY_AUDIO_SAMPLE_FORMAT](_codec_base.md#oh_md_key_audio_sample_format) | 音频采样格式的字符描述符,值类型为uint32_t。 |
-| [OH_MD_KEY_FRAME_RATE](_codec_base.md#oh_md_key_frame_rate) | 视频帧率的字符描述符,值类型为double。|
-| [OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE](_codec_base.md#oh_md_key_video_encode_bitrate_mode) | 视频编码比特率模式的字符描述符,值类型为int32_t,具体见[OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode)。 |
-| [OH_MD_KEY_PROFILE](_codec_base.md#oh_md_key_profile) | 音视频编码能力的字符描述符,值类型为int32_t,具体见[OH_AVCProfile](_codec_base.md#oh_avcprofile)或[OH_AACProfile](_codec_base.md#oh_aacprofile)。 |
-| [OH_MD_KEY_AUD_CHANNEL_COUNT](_codec_base.md#oh_md_key_aud_channel_count) | 音频声道数的字符描述符,值类型为uint32_t。 |
-| [OH_MD_KEY_AUD_SAMPLE_RATE](_codec_base.md#oh_md_key_aud_sample_rate) | 音频采样率的字符描述符,值类型为uint32_t。 |
-| [OH_MD_KEY_I_FRAME_INTERVAL](_codec_base.md#oh_md_key_i_frame_interval) | I帧间隔时长的字符描述符,值类型为int32_t,单位是毫秒。|
-| [OH_MD_KEY_ROTATION](_codec_base.md#oh_md_key_rotation) | surface旋转角度的字符描述符,值类型为int32_t,限于{0, 90, 180, 270},默认值为0。 |
+| [OH_AVCODEC_MIMETYPE_VIDEO_AVC](_codec_base.md#oh_avcodec_mimetype_video_avc) | const char \*
枚举音频和视频编解码器的MIME类型 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| **OH_AVCODEC_MIMETYPE_AUDIO_AAC** | const char \* |
+| [OH_AVCODEC_MIMETYPE_VIDEO_MPEG4](_codec_base.md#oh_avcodec_mimetype_video_mpeg4) | const char \*
枚举音频和视频编解码器的MIME类型 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| **OH_AVCODEC_MIMETYPE_VIDEO_HEVC** | const char \* |
+| **OH_AVCODEC_MIMETYPE_AUDIO_MPEG** | const char \* |
+| **OH_AVCODEC_MIMETYPE_IMAGE_JPG** | const char \* |
+| **OH_AVCODEC_MIMETYPE_IMAGE_PNG** | const char \* |
+| **OH_AVCODEC_MIMETYPE_IMAGE_BMP** | const char \* |
+| **OH_AVCODEC_MIMETYPE_AUDIO_FLAC** | const char \* |
+| **OH_AVCODEC_MIMETYPE_AUDIO_VORBIS** | const char \* |
+| [OH_ED_KEY_TIME_STAMP](_codec_base.md#oh_ed_key_time_stamp) | const char \*
表面缓冲区的额外数据的键 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| **OH_ED_KEY_EOS** | const char \* |
+| [OH_MD_KEY_TRACK_TYPE](_codec_base.md#oh_md_key_track_type) | const char \*
提供统一容器,用于存储媒体描述。 \@syscap SystemCapability.Multimedia.Media.CodecBase |
+| **OH_MD_KEY_CODEC_MIME** | const char \* |
+| **OH_MD_KEY_DURATION** | const char \* |
+| **OH_MD_KEY_BITRATE** | const char \* |
+| **OH_MD_KEY_MAX_INPUT_SIZE** | const char \* |
+| **OH_MD_KEY_WIDTH** | const char \* |
+| **OH_MD_KEY_HEIGHT** | const char \* |
+| **OH_MD_KEY_PIXEL_FORMAT** | const char \* |
+| **OH_MD_KEY_RANGE_FLAG** | const char \* |
+| **OH_MD_KEY_COLOR_PRIMARIES** | const char \* |
+| **OH_MD_KEY_TRANSFER_CHARACTERISTICS** | const char \* |
+| **OH_MD_KEY_MATRIX_COEFFICIENTS** | const char \* |
+| **OH_MD_KEY_AUDIO_SAMPLE_FORMAT** | const char \* |
+| **OH_MD_KEY_FRAME_RATE** | const char \* |
+| **OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE** | const char \* |
+| **OH_MD_KEY_PROFILE** | const char \* |
+| **OH_MD_KEY_AUD_CHANNEL_COUNT** | const char \* |
+| **OH_MD_KEY_AUD_SAMPLE_RATE** | const char \* |
+| **OH_MD_KEY_I_FRAME_INTERVAL** | const char \* |
+| **OH_MD_KEY_ROTATION** | const char \* |
+| **OH_MD_KEY_CODEC_CONFIG** | const char \* |
+| **OH_MD_KEY_REQUEST_I_FRAME** | const char \* |
+| **OH_MD_KEY_QUALITY** | const char \* |
+| **OH_MD_KEY_CHANNEL_LAYOUT** | const char \* |
+| **OH_MD_KEY_BITS_PER_CODED_SAMPLE** | const char \* |
+| **OH_MD_KEY_AAC_IS_ADTS** | const char \* |
+| **OH_MD_KEY_SBR** | const char \* |
+| **OH_MD_KEY_COMPLIANCE_LEVEL** | const char \* |
+| **OH_MD_KEY_IDENTIFICATION_HEADER** | const char \* |
+| **OH_MD_KEY_SETUP_HEADER** | const char \* |
+| **OH_MD_KEY_TITLE** | const char \* |
+| **OH_MD_KEY_ARTIST** | const char \* |
+| **OH_MD_KEY_ALBUM** | const char \* |
+| **OH_MD_KEY_ALBUM_ARTIST** | const char \* |
+| **OH_MD_KEY_DATE** | const char \* |
+| **OH_MD_KEY_COMMENT** | const char \* |
+| **OH_MD_KEY_GENRE** | const char \* |
+| **OH_MD_KEY_COPYRIGHT** | const char \* |
+| **OH_MD_KEY_LANGUAGE** | const char \* |
+| **OH_MD_KEY_DESCRIPTION** | const char \* |
+| **OH_MD_KEY_LYRICS** | const char \* |
+| **OH_MD_KEY_TRACK_COUNT** | const char \* |
diff --git a/zh-cn/application-dev/reference/native-apis/native__avcodec__videodecoder_8h.md b/zh-cn/application-dev/reference/native-apis/native__avcodec__videodecoder_8h.md
index 904bc5ddfa83ac9ef81acb7c3570cdc480b42a06..0c41530ce72ec2e09eddff2dc5b3981d8050f056 100644
--- a/zh-cn/application-dev/reference/native-apis/native__avcodec__videodecoder_8h.md
+++ b/zh-cn/application-dev/reference/native-apis/native__avcodec__videodecoder_8h.md
@@ -6,9 +6,10 @@
声明用于视频解码的Native API。
**起始版本:**
+
9
-**相关模块:**
+**相关模块:**
[VideoDecoder](_video_decoder.md)
@@ -20,19 +21,20 @@
| 名称 | 描述 |
| -------- | -------- |
-| [OH_VideoDecoder_CreateByMime](_video_decoder.md#oh_videodecoder_createbymime) (const char \*mime) | 通过mime类型创建一个视频解码器实例,大多数情况下推荐使用该接口。|
-| [OH_VideoDecoder_CreateByName](_video_decoder.md#oh_videodecoder_createbyname) (const char \*name) | 通过视频解码器名称创建一个视频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。|
-| [OH_VideoDecoder_Destroy](_video_decoder.md#oh_videodecoder_destroy) (OH_AVCodec \*codec) | 清空解码器内部资源,并销毁解码器实例。|
-| [OH_VideoDecoder_SetCallback](_video_decoder.md#oh_videodecoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | 设置异步回调函数,使得你的应用能够响应视频解码器产生的事件,该接口被调用必须是在Prepare被调用前。|
-| [OH_VideoDecoder_SetSurface](_video_decoder.md#oh_videodecoder_setsurface) (OH_AVCodec \*codec, OHNativeWindow \*window) | 指定输出Surface,以提供视频解码输出,该接口被调用必须是在Prepare被调用前。|
-| [OH_VideoDecoder_Configure](_video_decoder.md#oh_videodecoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | 配置视频解码器,典型地,需要配置被解码视频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。|
-| [OH_VideoDecoder_Prepare](_video_decoder.md#oh_videodecoder_prepare) (OH_AVCodec \*codec) | 准备解码器内部资源,调用该接口前必须先调用Configure接口。|
-| [OH_VideoDecoder_Start](_video_decoder.md#oh_videodecoder_start) (OH_AVCodec \*codec) | 启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。|
-| [OH_VideoDecoder_Stop](_video_decoder.md#oh_videodecoder_stop) (OH_AVCodec \*codec) | 停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。|
-| [OH_VideoDecoder_Flush](_video_decoder.md#oh_videodecoder_flush) (OH_AVCodec \*codec) | 清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。|
-| [OH_VideoDecoder_Reset](_video_decoder.md#oh_videodecoder_reset) (OH_AVCodec \*codec) | 重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。|
-| [OH_VideoDecoder_GetOutputDescription](_video_decoder.md#oh_videodecoder_getoutputdescription) (OH_AVCodec \*codec) | 获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。|
-| [OH_VideoDecoder_SetParameter](_video_decoder.md#oh_videodecoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | 向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。|
-| [OH_VideoDecoder_PushInputData](_video_decoder.md#oh_videodecoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | 将填充好数据的输入Buffer提交给视频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程,例如H264格式的PPS/SPS数据。|
-| [OH_VideoDecoder_RenderOutputData](_video_decoder.md#oh_videodecoder_renderoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理结束的输出Buffer交还给解码器,并通知解码器完成将该Buffer内包含的解码后的数据在输出Surface上渲染。 如果先前未配置输出Surface,调用该接口仅仅将指定索引对应的输出Buffer交还给解码器。|
-| [OH_VideoDecoder_FreeOutputData](_video_decoder.md#oh_videodecoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理结束的输出Buffer交还给解码器。|
+| \*[OH_VideoDecoder_CreateByMime](_video_decoder.md#oh_videodecoder_createbymime) (const char \*mime) | 从MIME类型创建视频解码器实例,大多数情况下建议使用。 |
+| \*[OH_VideoDecoder_CreateByName](_video_decoder.md#oh_videodecoder_createbyname) (const char \*name) | 通过视频解码器名称创建视频解码器实例。 使用此接口的前提是知道解码器的确切名称。 |
+| [OH_VideoDecoder_Destroy](_video_decoder.md#oh_videodecoder_destroy) (OH_AVCodec \*codec) | 清理解码器内部资源,销毁解码器实例。 |
+| [OH_VideoDecoder_SetCallback](_video_decoder.md#oh_videodecoder_setcallback) (OH_AVCodec \*codec, OH_AVCodecAsyncCallback callback, void \*userData) | 设置异步回调函数,以便您的应用程序可以响应视频解码器生成的事件。 |
+| [OH_VideoDecoder_SetSurface](_video_decoder.md#oh_videodecoder_setsurface) (OH_AVCodec \*codec, OHNativeWindow \*window) | 指定输出表面以提供视频解码输出,必须在调用Prepare之前调用此接口。 |
+| [OH_VideoDecoder_Configure](_video_decoder.md#oh_videodecoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | 配置视频解码器,通常需要配置解码视频轨迹的描述信息,这些信息可以从容器中提取。 |
+| [OH_VideoDecoder_Prepare](_video_decoder.md#oh_videodecoder_prepare) (OH_AVCodec \*codec) | 要准备解码器的内部资源,在调用该接口之前,必须调用Configure接口。 |
+| [OH_VideoDecoder_Start](_video_decoder.md#oh_videodecoder_start) (OH_AVCodec \*codec) | 启动解码器,准备成功后必须调用此接口。 |
+| [OH_VideoDecoder_Stop](_video_decoder.md#oh_videodecoder_stop) (OH_AVCodec \*codec) | 停止解码器。 |
+| [OH_VideoDecoder_Flush](_video_decoder.md#oh_videodecoder_flush) (OH_AVCodec \*codec) | 清除解码器中缓存的输入和输出数据。 |
+| [OH_VideoDecoder_Reset](_video_decoder.md#oh_videodecoder_reset) (OH_AVCodec \*codec) | 重置解码器。 |
+| \*[OH_VideoDecoder_GetOutputDescription](_video_decoder.md#oh_videodecoder_getoutputdescription) (OH_AVCodec \*codec) | 获取解码器输出数据的描述信息。 |
+| [OH_VideoDecoder_SetParameter](_video_decoder.md#oh_videodecoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | 设置解码器的动态参数。 |
+| [OH_VideoDecoder_PushInputData](_video_decoder.md#oh_videodecoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, OH_AVCodecBufferAttr attr) | 将填充数据的输入缓冲区提交给视频解码器。 |
+| [OH_VideoDecoder_RenderOutputData](_video_decoder.md#oh_videodecoder_renderoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理后的输出Buffer返回给解码器,并通知解码器完成在输出表面上渲染Buffer中包含的解码数据。 |
+| [OH_VideoDecoder_FreeOutputData](_video_decoder.md#oh_videodecoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理后的输出缓冲区返回到解码器。 |
+| [OH_VideoDecoder_IsValid](_video_decoder.md#oh_videodecoder_isvalid) (OH_AVCodec \*codec, bool \*isValid) | 检查当前编解码实例是否有效。 |
diff --git a/zh-cn/application-dev/reference/native-apis/native__avcodec__videoencoder_8h.md b/zh-cn/application-dev/reference/native-apis/native__avcodec__videoencoder_8h.md
index 73aa36e4b0c6ec8ddf1d681c800a44c5dea62a30..0e6de98747716b9205f7bc768c32739ed3159ea7 100644
--- a/zh-cn/application-dev/reference/native-apis/native__avcodec__videoencoder_8h.md
+++ b/zh-cn/application-dev/reference/native-apis/native__avcodec__videoencoder_8h.md
@@ -6,9 +6,10 @@
声明用于视频编码的Native API。
**起始版本:**
+
9
-**相关模块:**
+**相关模块:**
[VideoEncoder](_video_encoder.md)
@@ -20,32 +21,35 @@
| 名称 | 描述 |
| -------- | -------- |
-| [OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode) | 视频编码的比特率模式。|
+| [OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode) | 视频编码器的比特率模式。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
-| [OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode) { **CBR** = 0, **VBR** = 1, **CQ** = 2 } | 视频编码的比特率模式。|
+| [OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode) { **CBR** = 0, **VBR** = 1, **CQ** = 2 } | 视频编码器的比特率模式。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
-| [OH_VideoEncoder_CreateByMime](_video_encoder.md#oh_videoencoder_createbymime) (const char \*mime) | 通过mime类型创建一个视频编码器实例,大多数情况下推荐使用该接口。|
-| [OH_VideoEncoder_CreateByName](_video_encoder.md#oh_videoencoder_createbyname) (const char \*name) | 通过视频编码器名称创建一个视频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。|
-| [OH_VideoEncoder_Destroy](_video_encoder.md#oh_videoencoder_destroy) (OH_AVCodec \*codec) | 清空编码器内部资源,并销毁编码器实例。|
-| [OH_VideoEncoder_SetCallback](_video_encoder.md#oh_videoencoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | 设置异步回调函数,使得你的应用能够响应视频编码器产生的事件,该接口被调用必须是在Prepare被调用前。|
-| [OH_VideoEncoder_Configure](_video_encoder.md#oh_videoencoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | 配置视频编码器,典型地,需要配置被编码视频轨道的描述信息,该接口被调用必须是在Prepare被调用前。|
-| [OH_VideoEncoder_Prepare](_video_encoder.md#oh_videoencoder_prepare) (OH_AVCodec \*codec) | 准备编码器内部资源,调用该接口前必须先调用Configure接口。|
-| [OH_VideoEncoder_Start](_video_encoder.md#oh_videoencoder_start) (OH_AVCodec \*codec) | 启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。|
-| [OH_VideoEncoder_Stop](_video_encoder.md#oh_videoencoder_stop) (OH_AVCodec \*codec) | 停止编码器。在停止后可通过Start重新进入Started状态。|
-| [OH_VideoEncoder_Flush](_video_encoder.md#oh_videoencoder_flush) (OH_AVCodec \*codec) | 清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。|
-| [OH_VideoEncoder_Reset](_video_encoder.md#oh_videoencoder_reset) (OH_AVCodec \*codec) | 重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。|
-| [OH_VideoEncoder_GetOutputDescription](_video_encoder.md#oh_videoencoder_getoutputdescription) (OH_AVCodec \*codec) | 获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。|
-| [OH_VideoEncoder_SetParameter](_video_encoder.md#oh_videoencoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | 向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。|
-| [OH_VideoEncoder_GetSurface](_video_encoder.md#oh_videoencoder_getsurface) (OH_AVCodec \*codec, OHNativeWindow \*\*window) | 从视频编码器获取输入Surface, 该接口被调用必须是在Prepare被调用前。|
-| [OH_VideoEncoder_FreeOutputData](_video_encoder.md#oh_videoencoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理结束的输出Buffer交还给编码器。|
-| [OH_VideoEncoder_NotifyEndOfStream](_video_encoder.md#oh_videoencoder_notifyendofstream) (OH_AVCodec \*codec) | 通知视频编码器输入码流已结束。surface模式推荐使用该接口通知编码器码流结束。|
+| \*[OH_VideoEncoder_CreateByMime](_video_encoder.md#oh_videoencoder_createbymime) (const char \*mime) | 多数情况下,推荐从MIME类型创建视频编码器实例。 |
+| \*[OH_VideoEncoder_CreateByName](_video_encoder.md#oh_videoencoder_createbyname) (const char \*name) | 通过视频编码器名称创建一个视频编码器实例。使用此接口的前提是知道编码器的确切名称。 |
+| [OH_VideoEncoder_Destroy](_video_encoder.md#oh_videoencoder_destroy) (OH_AVCodec \*codec) | 清除编码器的内部资源并销毁编码器实例。 |
+| [OH_VideoEncoder_SetCallback](_video_encoder.md#oh_videoencoder_setcallback) (OH_AVCodec \*codec, OH_AVCodecAsyncCallback callback, void \*userData) | 设置异步回调函数,以便您的应用程序能够响应视频编码器事件。 |
+| [OH_VideoEncoder_Configure](_video_encoder.md#oh_videoencoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | 配置视频编码器,通常需要配置要编码的视频轨的描述信息。 |
+| [OH_VideoEncoder_Prepare](_video_encoder.md#oh_videoencoder_prepare) (OH_AVCodec \*codec) | 若要准备编码器的内部资源,必须先调用Configure接口,再调用此接口。 |
+| [OH_VideoEncoder_Start](_video_encoder.md#oh_videoencoder_start) (OH_AVCodec \*codec) | 启动编码器, 这个接口必须要在Prepare接口执行成功后调用。 |
+| [OH_VideoEncoder_Stop](_video_encoder.md#oh_videoencoder_stop) (OH_AVCodec \*codec) | 停止编码器。 |
+| [OH_VideoEncoder_Flush](_video_encoder.md#oh_videoencoder_flush) (OH_AVCodec \*codec) | 清除编码器中缓冲的输入和输出数据。 |
+| [OH_VideoEncoder_Reset](_video_encoder.md#oh_videoencoder_reset) (OH_AVCodec \*codec) | 重置编码器。 |
+| \*[OH_VideoEncoder_GetOutputDescription](_video_encoder.md#oh_videoencoder_getoutputdescription) (OH_AVCodec \*codec) | 获取编码器输出数据的描述信息,详细信息请参阅**OH_AVFormat**。 |
+| [OH_VideoEncoder_SetParameter](_video_encoder.md#oh_videoencoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | 为编码器设置动态参数。 |
+| [OH_VideoEncoder_GetSurface](_video_encoder.md#oh_videoencoder_getsurface) (OH_AVCodec \*codec, OHNativeWindow \*\*window) | 从视频编码器获取输入Surface,必须在调用Prepare之前调用此接口。 |
+| [OH_VideoEncoder_FreeOutputData](_video_encoder.md#oh_videoencoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | 将处理后的输出缓冲区返回给编码器。 |
+| [OH_VideoEncoder_NotifyEndOfStream](_video_encoder.md#oh_videoencoder_notifyendofstream) (OH_AVCodec \*codec) | 通知视频编码器输入流已结束。建议使用此接口进行通知。 |
+| [OH_VideoEncoder_PushInputData](_video_encoder.md#oh_videoencoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, OH_AVCodecBufferAttr attr) | 将填入数据的输入缓冲区提交给视频编码器。 |
+| \*[OH_VideoEncoder_GetInputDescription](_video_encoder.md#oh_videoencoder_getinputdescription) (OH_AVCodec \*codec) | 获取视频编码器接收的描述信息,调用Configure后调用此接口,请参阅 **OH_AVFormat** 获取详细信息。 |
+| [OH_VideoEncoder_IsValid](_video_encoder.md#oh_videoencoder_isvalid) (OH_AVCodec \*codec, bool \*isValid) | 检查当前编解码器实例是否有效。 |
diff --git a/zh-cn/application-dev/reference/native-apis/native__avdemuxer_8h.md b/zh-cn/application-dev/reference/native-apis/native__avdemuxer_8h.md
new file mode 100644
index 0000000000000000000000000000000000000000..e53663b2f20d128c8276b3a929323a89195c4dc0
--- /dev/null
+++ b/zh-cn/application-dev/reference/native-apis/native__avdemuxer_8h.md
@@ -0,0 +1,29 @@
+# native_avdemuxer.h
+
+
+## 概述
+
+声明用于音视频解封装的Native API。
+
+**起始版本:**
+
+10
+
+**相关模块:**
+
+[AVDemuxer](_a_v_demuxer.md)
+
+
+## 汇总
+
+
+### 函数
+
+| 名称 | 描述 |
+| -------- | -------- |
+| \*[OH_AVDemuxer_CreateWithSource](_a_v_demuxer.md#oh_avdemuxer_createwithsource) (OH_AVSource \*source) | 通过source实例对象创建OH_AVDemuxer实例对象。 |
+| [OH_AVDemuxer_Destroy](_a_v_demuxer.md#oh_avdemuxer_destroy) (OH_AVDemuxer \*demuxer) | 销毁OH_AVDemuxer实例并清理内部资源。 |
+| [OH_AVDemuxer_SelectTrackByID](_a_v_demuxer.md#oh_avdemuxer_selecttrackbyid) (OH_AVDemuxer \*demuxer, uint32_t trackIndex) | 选中指定轨道,解封装器将会从该轨道中读取数据。 |
+| [OH_AVDemuxer_UnselectTrackByID](_a_v_demuxer.md#oh_avdemuxer_unselecttrackbyid) (OH_AVDemuxer \*demuxer, uint32_t trackIndex) | 取消选择指定轨道,未选中的轨道的数据不会被解封装器读取。 |
+| [OH_AVDemuxer_ReadSample](_a_v_demuxer.md#oh_avdemuxer_readsample) (OH_AVDemuxer \*demuxer, uint32_t trackIndex, OH_AVMemory \*sample, OH_AVCodecBufferAttr \*info) | 从选中轨道中获取当前位置压缩帧及相关信息。 |
+| [OH_AVDemuxer_SeekToTime](_a_v_demuxer.md#oh_avdemuxer_seektotime) (OH_AVDemuxer \*demuxer, int64_t millisecond, OH_AVSeekMode mode) | 根据设定的跳转模式,将所有选中的轨道到指定时间附近。 |
diff --git a/zh-cn/application-dev/reference/native-apis/native__averrors_8h.md b/zh-cn/application-dev/reference/native-apis/native__averrors_8h.md
index 9abaeb008f1edf3e29f038de4a54a6708d3ccc6e..14790f73d18573175047ed923a161ec71466c4a2 100644
--- a/zh-cn/application-dev/reference/native-apis/native__averrors_8h.md
+++ b/zh-cn/application-dev/reference/native-apis/native__averrors_8h.md
@@ -6,9 +6,10 @@
声明了媒体播放框架的错误码。
**起始版本:**
+
9
-**相关模块:**
+**相关模块:**
[Core](_core.md)
@@ -18,13 +19,13 @@
### 类型定义
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [OH_AVErrCode](_core.md#oh_averrcode) | 音视频错误码。 |
+| [OH_AVErrCode](_core.md#oh_averrcode) | 音视频错误码。 |
### 枚举
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [OH_AVErrCode](_core.md#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
} | 音视频错误码。 |
+| [OH_AVErrCode](_core.md#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
} | 音视频错误码。 |
diff --git a/zh-cn/application-dev/reference/native-apis/native__avformat_8h.md b/zh-cn/application-dev/reference/native-apis/native__avformat_8h.md
index 75164b2cc8663f85c3206cd0ba31334b1daa8faa..b0bad9f2123b96cdb73a08e6684d1927fc5ab9a4 100644
--- a/zh-cn/application-dev/reference/native-apis/native__avformat_8h.md
+++ b/zh-cn/application-dev/reference/native-apis/native__avformat_8h.md
@@ -6,9 +6,10 @@
声明了格式相关的函数和枚举。
**起始版本:**
+
9
-**相关模块:**
+**相关模块:**
[Core](_core.md)
@@ -20,33 +21,35 @@
| 名称 | 描述 |
| -------- | -------- |
-| [OH_AVPixelFormat](_core.md#oh_avpixelformat) | AVPixel 格式的枚举。|
+| [OH_AVPixelFormat](_core.md#oh_avpixelformat) | AVPixel 格式的枚举类。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
-| [OH_AVPixelFormat](_core.md#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
} | AVPixel 格式的枚举。|
+| [OH_AVPixelFormat](_core.md#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
} | AVPixel 格式的枚举类。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
-| [OH_AVFormat_Create](_core.md#oh_avformat_create) (void) | 创建一个OH_AVFormat句柄指针,用以读写数据。|
-| [OH_AVFormat_Destroy](_core.md#oh_avformat_destroy) (struct OH_AVFormat \*format) | 销毁指定OH_AVFormat句柄资源。|
-| [OH_AVFormat_Copy](_core.md#oh_avformat_copy) (struct OH_AVFormat \*to, struct OH_AVFormat \*from) | 拷贝OH_AVFormat句柄资源.|
-| [OH_AVFormat_SetIntValue](_core.md#oh_avformat_setintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t value) | 向OH_AVFormat写入Int数据.|
-| [OH_AVFormat_SetLongValue](_core.md#oh_avformat_setlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t value) | 向OH_AVFormat写入Long数据。|
-| [OH_AVFormat_SetFloatValue](_core.md#oh_avformat_setfloatvalue) (struct OH_AVFormat \*format, const char \*key, float value) | 向OH_AVFormat写入Float数据。|
-| [OH_AVFormat_SetDoubleValue](_core.md#oh_avformat_setdoublevalue) (struct OH_AVFormat \*format, const char \*key, double value) | 向OH_AVFormat写入Double数据。|
-| [OH_AVFormat_SetStringValue](_core.md#oh_avformat_setstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*value) | 向OH_AVFormat写入String数据。|
-| [OH_AVFormat_SetBuffer](_core.md#oh_avformat_setbuffer) (struct OH_AVFormat \*format, const char \*key, const uint8_t \*addr, size_t size) | 向OH_AVFormat写入一块指定长度的数据。|
-| [OH_AVFormat_GetIntValue](_core.md#oh_avformat_getintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t \*out) | 从OH_AVFormat读取Int数据。|
-| [OH_AVFormat_GetLongValue](_core.md#oh_avformat_getlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t \*out) | 从OH_AVFormat读取Long数据。|
-| [OH_AVFormat_GetFloatValue](_core.md#oh_avformat_getfloatvalue) (struct OH_AVFormat \*format, const char \*key, float \*out) | 从OH_AVFormat读取Float数据。|
-| [OH_AVFormat_GetDoubleValue](_core.md#oh_avformat_getdoublevalue) (struct OH_AVFormat \*format, const char \*key, double \*out) | 从OH_AVFormat读取Double数据。|
-| [OH_AVFormat_GetStringValue](_core.md#oh_avformat_getstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*\*out) | 从OH_AVFormat读取Double数据。|
-| [OH_AVFormat_GetBuffer](_core.md#oh_avformat_getbuffer) (struct OH_AVFormat \*format, const char \*key, uint8_t \*\*addr, size_t \*size) | 从OH_AVFormat读取一块指定长度的数据。|
-| [OH_AVFormat_DumpInfo](_core.md#oh_avformat_dumpinfo) (struct OH_AVFormat \*format) | 以字符串的形式输出OH_AVFormat所包含的信息。|
+| \*[OH_AVFormat_Create](_core.md#oh_avformat_create) (void) | 创建OH_AVFormat句柄,用于读取数据。 |
+| \*[OH_AVFormat_CreateAudioFormat](_core.md#oh_avformat_createaudioformat) (const char \*mimeType, int32_t sampleRate, int32_t channelCount) | 创建音频OH_AVFormat句柄指针,用于读写数据。 |
+| \*[OH_AVFormat_CreateVideoFormat](_core.md#oh_avformat_createvideoformat) (const char \*mimeType, int32_t width, int32_t height) | 创建视频OH_AVFormat句柄指针,用于读写数据。 |
+| [OH_AVFormat_Destroy](_core.md#oh_avformat_destroy) (struct OH_AVFormat \*format) | 销毁OH_AVFormat句柄。 |
+| [OH_AVFormat_Copy](_core.md#oh_avformat_copy) (struct OH_AVFormat \*to, struct OH_AVFormat \*from) | 复制OH_AVFormat句柄。 |
+| [OH_AVFormat_SetIntValue](_core.md#oh_avformat_setintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t value) | 将int数据写入OH_AVFormat。 |
+| [OH_AVFormat_SetLongValue](_core.md#oh_avformat_setlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t value) | 将long数据写入OH_AVFormat。 |
+| [OH_AVFormat_SetFloatValue](_core.md#oh_avformat_setfloatvalue) (struct OH_AVFormat \*format, const char \*key, float value) | 将float数据写入OH_AVFormat。 |
+| [OH_AVFormat_SetDoubleValue](_core.md#oh_avformat_setdoublevalue) (struct OH_AVFormat \*format, const char \*key, double value) | 将double数据写入OH_AVFormat。 |
+| [OH_AVFormat_SetStringValue](_core.md#oh_avformat_setstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*value) | 将string数据写入OH_AVFormat。 |
+| [OH_AVFormat_SetBuffer](_core.md#oh_avformat_setbuffer) (struct OH_AVFormat \*format, const char \*key, const uint8_t \*addr, size_t size) | 将指定长度的数据块写入OH_AVFormat。 |
+| [OH_AVFormat_GetIntValue](_core.md#oh_avformat_getintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t \*out) | 从OH_AVFormat读取int数据。 |
+| [OH_AVFormat_GetLongValue](_core.md#oh_avformat_getlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t \*out) | 从OH_AVFormat读取long数据。 |
+| [OH_AVFormat_GetFloatValue](_core.md#oh_avformat_getfloatvalue) (struct OH_AVFormat \*format, const char \*key, float \*out) | 从OH_AVFormat读取float数据。 |
+| [OH_AVFormat_GetDoubleValue](_core.md#oh_avformat_getdoublevalue) (struct OH_AVFormat \*format, const char \*key, double \*out) | 从OH_AVFormat读取double数据。 |
+| [OH_AVFormat_GetStringValue](_core.md#oh_avformat_getstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*\*out) | 从OH_AVFormat读取string数据。 |
+| [OH_AVFormat_GetBuffer](_core.md#oh_avformat_getbuffer) (struct OH_AVFormat \*format, const char \*key, uint8_t \*\*addr, size_t \*size) | 从OH_AVFormat中读取指定长度的数据块。 |
+| \*[OH_AVFormat_DumpInfo](_core.md#oh_avformat_dumpinfo) (struct OH_AVFormat \*format) | 输出OH_AVFormat中包含的字符串。 |
diff --git a/zh-cn/application-dev/reference/native-apis/native__avmemory_8h.md b/zh-cn/application-dev/reference/native-apis/native__avmemory_8h.md
index ebc9b154755ae87e298b3b96648acbff01cac855..7fff7c1caf08d570a6dad4343e94d4c91f87fab7 100644
--- a/zh-cn/application-dev/reference/native-apis/native__avmemory_8h.md
+++ b/zh-cn/application-dev/reference/native-apis/native__avmemory_8h.md
@@ -6,9 +6,10 @@
声明了AVMemory的函数接口。
**起始版本:**
+
9
-**相关模块:**
+**相关模块:**
[Core](_core.md)
@@ -18,7 +19,9 @@
### 函数
- | 名称 | 描述 |
+| 名称 | 描述 |
| -------- | -------- |
-| [OH_AVMemory_GetAddr](_core.md#oh_avmemory_getaddr) (struct OH_AVMemory \*mem) | 获取入参的内存虚拟地址。 |
-| [OH_AVMemory_GetSize](_core.md#oh_avmemory_getsize) (struct OH_AVMemory \*mem) | 获取入参的内存长度。 |
+| \*[OH_AVMemory_Create](_core.md#oh_avmemory_create) (int32_t size) | 创建OH_AVMemory实例的指针。 |
+| \*[OH_AVMemory_GetAddr](_core.md#oh_avmemory_getaddr) (struct OH_AVMemory \*mem) | 获取入参的内存虚拟地址。 |
+| [OH_AVMemory_GetSize](_core.md#oh_avmemory_getsize) (struct OH_AVMemory \*mem) | 获取入参的内存长度。 |
+| [OH_AVMemory_Destroy](_core.md#oh_avmemory_destroy) (struct OH_AVMemory \*mem) | 释放OH_AVMemory实例指针的资源。 |
diff --git a/zh-cn/application-dev/reference/native-apis/native__avsource_8h.md b/zh-cn/application-dev/reference/native-apis/native__avsource_8h.md
new file mode 100644
index 0000000000000000000000000000000000000000..fef0cf5de9b47ddc3f7233abf64c019f534dae09
--- /dev/null
+++ b/zh-cn/application-dev/reference/native-apis/native__avsource_8h.md
@@ -0,0 +1,28 @@
+# native_avsource.h
+
+
+## 概述
+
+声明用于构造音视频资源对象的Native API。
+
+**起始版本:**
+
+10
+
+**相关模块:**
+
+[AVSource](_a_v_source.md)
+
+
+## 汇总
+
+
+### 函数
+
+| 名称 | 描述 |
+| -------- | -------- |
+| \*[OH_AVSource_CreateWithURI](_a_v_source.md#oh_avsource_createwithuri) (char \*uri) | 为统一资源标识符对应的的资源对象创建OH_AVSource实例对象。 |
+| \*[OH_AVSource_CreateWithFD](_a_v_source.md#oh_avsource_createwithfd) (int32_t fd, int64_t offset, int64_t size) | 为文件描述符对应的资源对象创建OH_AVSource实例对象。 |
+| [OH_AVSource_Destroy](_a_v_source.md#oh_avsource_destroy) (OH_AVSource \*source) | 销毁OH_AVSource实例并清理内部资源。同一实例只能被销毁一次。 |
+| \*[OH_AVSource_GetSourceFormat](_a_v_source.md#oh_avsource_getsourceformat) (OH_AVSource \*source) | 获取媒体资源文件的基础信息。 |
+| \*[OH_AVSource_GetTrackFormat](_a_v_source.md#oh_avsource_gettrackformat) (OH_AVSource \*source, uint32_t trackIndex) | 获取轨道的基础信息。 |