diff --git a/zh-cn/application-dev/reference/apis-avcodec-kit/_codec_base.md b/zh-cn/application-dev/reference/apis-avcodec-kit/_codec_base.md
index a6532faf4a0cb57b0775e8230b3aa0fc6b411a88..465586cf0597c45f91c53f078c79f60f8ec0f77f 100644
--- a/zh-cn/application-dev/reference/apis-avcodec-kit/_codec_base.md
+++ b/zh-cn/application-dev/reference/apis-avcodec-kit/_codec_base.md
@@ -83,6 +83,7 @@ CodecBase模块提供用于音视频封装、解封装、编解码基础功能
| [OH_MD_KEY_VIDEO_PIC_WIDTH](#oh_md_key_video_pic_width) | 描述视频帧真实宽度的键,值类型为int32_t。该键是可选的。 |
| [OH_MD_KEY_VIDEO_PIC_HEIGHT](#oh_md_key_video_pic_height) | 描述视频帧真实高度的键,值类型为int32_t。该键是可选的。 |
| [OH_MD_KEY_VIDEO_ENABLE_LOW_LATENCY](#oh_md_key_video_enable_low_latency) | 使能低时延视频编解码的键,值类型为int32_t,1表示使能,0表示其它情况。该键是可选,在Configure阶段使用。 |
+| [OH_MD_KEY_ENABLE_SYNC_MODE](#oh_md_key_enable_sync_mode) | 使能视频编解码同步模式的键,值类型为int32_t,1表示使能,0表示其它情况。该键是可选,在Configure阶段使用。 |
| [OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE](#oh_md_key_video_encode_bitrate_mode) | 视频编码码率模式,值类型为int32_t,请参见[OH_BitrateMode](#oh_bitratemode-1)。该键是可选的。 |
| [OH_MD_KEY_QUALITY](#oh_md_key_quality) | 所需编码质量的键。值类型为int32_t,此键仅适用于配置在恒定质量模式下的编码器。该键是可选的。 |
| [OH_MD_KEY_REQUEST_I_FRAME](#oh_md_key_request_i_frame) | 请求立即编码I帧的键。值类型为int32_t。该键是可选的。 |
@@ -308,6 +309,7 @@ CodecBase模块提供用于音视频封装、解封装、编解码基础功能
| const char \* [OH_MD_KEY_VIDEO_PIC_WIDTH](#oh_md_key_video_pic_width) | 描述视频帧真实宽度的键,值类型为int32_t。 |
| const char \* [OH_MD_KEY_VIDEO_PIC_HEIGHT](#oh_md_key_video_pic_height) | 描述视频帧真实高度的键,值类型为int32_t。 |
| const char \* [OH_MD_KEY_VIDEO_ENABLE_LOW_LATENCY](#oh_md_key_video_enable_low_latency) | 使能低时延视频编解码的键,值类型为int32_t,1表示使能,0表示其它情况。如果使能,则视频编码器或视频解码器持有的输入和输出数据不会超过编解码器标准所要求的数量。 |
+| const char \* [OH_MD_KEY_ENABLE_SYNC_MODE](#oh_md_key_enable_sync_mode) | 使能视频编解码同步模式的键,值类型为int32_t,1表示使能,0表示其它情况。该键是可选,在Configure阶段使用。 |
| const char \* [OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE](#oh_md_key_video_encode_bitrate_mode) | 视频编码码率模式,值类型为int32_t,请参见[OH_BitrateMode](#oh_bitratemode-1)。 |
| const char \* [OH_MD_KEY_QUALITY](#oh_md_key_quality) | 所需编码质量的键。值类型为int32_t,此键仅适用于配置在恒定质量模式下的编码器。 |
| const char \* [OH_MD_KEY_REQUEST_I_FRAME](#oh_md_key_request_i_frame) | 请求立即编码I帧的键。值类型为int32_t。 |
@@ -2648,6 +2650,24 @@ const char* OH_MD_KEY_VIDEO_ENABLE_LOW_LATENCY
**起始版本:** 12
+### OH_MD_KEY_ENABLE_SYNC_MODE
+
+```
+const char* OH_MD_KEY_ENABLE_SYNC_MODE
+```
+**描述**
+使能视频编解码同步模式的键,值类型为int32_t,1表示使能,0表示其它情况。该键是可选,默认值为0。
+
+如果使能,需要注意:
+1. 编解码器不可设置回调函数。
+2. 必须使用缓冲区查询接口替代回调。
+3. 只能在Configure阶段使用。
+
+**系统能力:** SystemCapability.Multimedia.Media.CodecBase
+
+**起始版本:** 20
+
+
### OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE
```
diff --git a/zh-cn/application-dev/reference/apis-avcodec-kit/_core.md b/zh-cn/application-dev/reference/apis-avcodec-kit/_core.md
index 393f1fb172e9c35c520fcd98b9cc17310c7f44ec..c483638fda6b8f74432f57fcd2c11789d01cb98e 100644
--- a/zh-cn/application-dev/reference/apis-avcodec-kit/_core.md
+++ b/zh-cn/application-dev/reference/apis-avcodec-kit/_core.md
@@ -60,7 +60,7 @@ Core模块提供用于媒体系统的基础骨干能力,包含内存、错误
| [OH_AmbAttributeSet](#oh_ambattributeset-1) {
AMB_ORD_1 = 1ULL << 0U,
AMB_ORD_2 = 2ULL << 0U,
AMB_ORD_3 = 3ULL << 0U,
AMB_COM_ACN = 0ULL << 8U,
AMB_COM_FUMA = 1ULL << 8U,
AMB_NOR_N3D = 0ULL << 12U,
AMB_NOR_SN3D = 1ULL << 12U,
AMB_MODE = 1ULL << 44U
} | 高保真立体声混响设置。 |
| [OH_AudioChannelLayout](#oh_audiochannellayout-1) {
CH_LAYOUT_UNKNOWN = 0ULL,
CH_LAYOUT_MONO = CH_SET_FRONT_CENTER,
CH_LAYOUT_STEREO = CH_SET_FRONT_LEFT \| CH_SET_FRONT_RIGHT,
CH_LAYOUT_STEREO_DOWNMIX = CH_SET_STEREO_LEFT \| CH_SET_STEREO_RIGHT,
CH_LAYOUT_2POINT1 = CH_LAYOUT_STEREO \| CH_SET_LOW_FREQUENCY,
CH_LAYOUT_3POINT0 = CH_LAYOUT_STEREO \| CH_SET_BACK_CENTER,
CH_LAYOUT_SURROUND = CH_LAYOUT_STEREO \| CH_SET_FRONT_CENTER,
CH_LAYOUT_3POINT1 = CH_LAYOUT_SURROUND \| CH_SET_LOW_FREQUENCY,
CH_LAYOUT_4POINT0 = CH_LAYOUT_SURROUND \| CH_SET_BACK_CENTER,
CH_LAYOUT_QUAD_SIDE = CH_LAYOUT_STEREO \| CH_SET_SIDE_LEFT \| CH_SET_SIDE_RIGHT,
CH_LAYOUT_QUAD = CH_LAYOUT_STEREO \| CH_SET_BACK_LEFT \| CH_SET_BACK_RIGHT,
CH_LAYOUT_2POINT0POINT2 = CH_LAYOUT_STEREO \| CH_SET_TOP_SIDE_LEFT \| CH_SET_TOP_SIDE_RIGHT,
CH_LAYOUT_AMB_ORDER1_ACN_N3D = AMB_MODE \| AMB_ORD_1 \| AMB_COM_ACN \| AMB_NOR_N3D, CH_LAYOUT_AMB_ORDER1_ACN_SN3D = AMB_MODE \| AMB_ORD_1 \| AMB_COM_ACN \| AMB_NOR_SN3D,
CH_LAYOUT_AMB_ORDER1_FUMA = AMB_MODE \| AMB_ORD_1 \| AMB_COM_FUMA,
CH_LAYOUT_4POINT1 = CH_LAYOUT_4POINT0 \| CH_SET_LOW_FREQUENCY,
CH_LAYOUT_5POINT0 = CH_LAYOUT_SURROUND \| CH_SET_SIDE_LEFT \| CH_SET_SIDE_RIGHT,
CH_LAYOUT_5POINT0_BACK = CH_LAYOUT_SURROUND \| CH_SET_BACK_LEFT \| CH_SET_BACK_RIGHT,
CH_LAYOUT_2POINT1POINT2 = CH_LAYOUT_2POINT0POINT2 \| CH_SET_LOW_FREQUENCY,
CH_LAYOUT_3POINT0POINT2 = CH_LAYOUT_2POINT0POINT2 \| CH_SET_FRONT_CENTER,
CH_LAYOUT_5POINT1 = CH_LAYOUT_5POINT0 \| CH_SET_LOW_FREQUENCY,
CH_LAYOUT_5POINT1_BACK = CH_LAYOUT_5POINT0_BACK \| CH_SET_LOW_FREQUENCY,
CH_LAYOUT_6POINT0 = CH_LAYOUT_5POINT0 \| CH_SET_BACK_CENTER,
CH_LAYOUT_3POINT1POINT2 = CH_LAYOUT_3POINT1 \| CH_SET_TOP_FRONT_LEFT \| CH_SET_TOP_FRONT_RIGHT,
CH_LAYOUT_6POINT0_FRONT = CH_LAYOUT_QUAD_SIDE \| CH_SET_FRONT_LEFT_OF_CENTER \| CH_SET_FRONT_RIGHT_OF_CENTER,
CH_LAYOUT_HEXAGONAL = CH_LAYOUT_5POINT0_BACK \| CH_SET_BACK_CENTER,
CH_LAYOUT_6POINT1 = CH_LAYOUT_5POINT1 \| CH_SET_BACK_CENTER,
CH_LAYOUT_6POINT1_BACK = CH_LAYOUT_5POINT1_BACK \| CH_SET_BACK_CENTER,
CH_LAYOUT_6POINT1_FRONT = CH_LAYOUT_6POINT0_FRONT \| CH_SET_LOW_FREQUENCY,
CH_LAYOUT_7POINT0 = CH_LAYOUT_5POINT0 \| CH_SET_BACK_LEFT \| CH_SET_BACK_RIGHT,
CH_LAYOUT_7POINT0_FRONT = CH_LAYOUT_5POINT0 \| CH_SET_FRONT_LEFT_OF_CENTER \| CH_SET_FRONT_RIGHT_OF_CENTER,
CH_LAYOUT_7POINT1 = CH_LAYOUT_5POINT1 \| CH_SET_BACK_LEFT \| CH_SET_BACK_RIGHT,
CH_LAYOUT_OCTAGONAL = CH_LAYOUT_5POINT0 \| CH_SET_BACK_LEFT \| CH_SET_BACK_CENTER \| CH_SET_BACK_RIGHT,
CH_LAYOUT_5POINT1POINT2 = CH_LAYOUT_5POINT1 \| CH_SET_TOP_SIDE_LEFT \| CH_SET_TOP_SIDE_RIGHT,
CH_LAYOUT_7POINT1_WIDE = CH_LAYOUT_5POINT1 \| CH_SET_FRONT_LEFT_OF_CENTER \| CH_SET_FRONT_RIGHT_OF_CENTER,
CH_LAYOUT_7POINT1_WIDE_BACK = CH_LAYOUT_5POINT1_BACK \| CH_SET_FRONT_LEFT_OF_CENTER \| CH_SET_FRONT_RIGHT_OF_CENTER,
CH_LAYOUT_AMB_ORDER2_ACN_N3D = AMB_MODE \| AMB_ORD_2 \| AMB_COM_ACN \| AMB_NOR_N3D,
CH_LAYOUT_AMB_ORDER2_ACN_SN3D = AMB_MODE \| AMB_ORD_2 \| AMB_COM_ACN \| AMB_NOR_SN3D,
CH_LAYOUT_AMB_ORDER2_FUMA = AMB_MODE \| AMB_ORD_2 \| AMB_COM_FUMA,
CH_LAYOUT_5POINT1POINT4,
CH_LAYOUT_7POINT1POINT2 = CH_LAYOUT_7POINT1 \| CH_SET_TOP_SIDE_LEFT \| CH_SET_TOP_SIDE_RIGHT,
CH_LAYOUT_7POINT1POINT4,
CH_LAYOUT_10POINT2,
CH_LAYOUT_9POINT1POINT4 = CH_LAYOUT_7POINT1POINT4 \| CH_SET_WIDE_LEFT \| CH_SET_WIDE_RIGHT,
CH_LAYOUT_9POINT1POINT6 = CH_LAYOUT_9POINT1POINT4 \| CH_SET_TOP_SIDE_LEFT \| CH_SET_TOP_SIDE_RIGHT,
CH_LAYOUT_HEXADECAGONAL,
CH_LAYOUT_AMB_ORDER3_ACN_N3D = AMB_MODE \| AMB_ORD_3 \| AMB_COM_ACN \| AMB_NOR_N3D,
CH_LAYOUT_AMB_ORDER3_ACN_SN3D = AMB_MODE \| AMB_ORD_3 \| AMB_COM_ACN \| AMB_NOR_SN3D,
CH_LAYOUT_AMB_ORDER3_FUMA = AMB_MODE \| AMB_ORD_3 \| AMB_COM_FUMA,
CH_LAYOUT_22POINT2
} | 音频声道布局。 |
| [OH_AVCodecBufferFlags](#oh_avcodecbufferflags-1) {
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,
AVCODEC_BUFFER_FLAGS_DISCARD = 1 << 4,
AVCODEC_BUFFER_FLAGS_DISPOSABLE = 1 << 5
} | 枚举OH_AVCodec缓冲区标记的类别。 |
-| [OH_AVErrCode](#oh_averrcode-1) {
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_UNSUPPORTED_FORMAT = 11,
AV_ERR_EXTEND_START = 100,
AV_ERR_DRM_BASE = 200,
AV_ERR_DRM_DECRYPT_FAILED = 201,
AV_ERR_VIDEO_BASE = 300,
AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION = 301
} | 媒体系统错误码。 |
+| [OH_AVErrCode](#oh_averrcode-1) {
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_UNSUPPORTED_FORMAT = 11,
AV_ERR_EXTEND_START = 100,
AV_ERR_DRM_BASE = 200,
AV_ERR_DRM_DECRYPT_FAILED = 201,
AV_ERR_VIDEO_BASE = 300,
AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION = 301,
AV_ERR_STREAM_CHANGED = 5410005,
AV_ERR_TRY_AGAIN_LATER = 5410006
} | 媒体系统错误码。 |
| [OH_AVPixelFormat](#oh_avpixelformat-1) {
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
} | 视频像素格式的枚举类。 |
@@ -486,6 +486,8 @@ enum OH_AVErrCode
| AV_ERR_DRM_DECRYPT_FAILED | DRM解密失败。
**起始版本:** 12 |
| AV_ERR_VIDEO_BASE | 视频起始错误码。
**起始版本:** 12 |
| AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION | 视频不支持色彩空间转换。
**起始版本:** 12 |
+| AV_ERR_STREAM_CHANGED | 同步模式下流格式发生变更。可以通过调用GetOutputDescription接口来获取更新后流的配置信息。
**起始版本:** 20 |
+| AV_ERR_TRY_AGAIN_LATER | 同步模式下临时缓冲区查询失败,建议等待短暂间隔后重试操作。
**起始版本:** 20 |
### OH_AVPixelFormat
diff --git a/zh-cn/application-dev/reference/apis-avcodec-kit/_video_decoder.md b/zh-cn/application-dev/reference/apis-avcodec-kit/_video_decoder.md
index 68cebc1a3f2de3726aea1d746505d9e0cafa4056..210221cac047f31403b92814d93f45ccdb605320 100644
--- a/zh-cn/application-dev/reference/apis-avcodec-kit/_video_decoder.md
+++ b/zh-cn/application-dev/reference/apis-avcodec-kit/_video_decoder.md
@@ -53,7 +53,11 @@ VideoDecoder模块提供用于视频解码的接口。
| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoDecoder_RenderOutputBufferAtTime](#oh_videodecoder_renderoutputbufferattime) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t index, int64_t renderTimestampNs) | 将index对应的输出缓冲返回给解码器,缓冲中携带解码输出数据,并通知解码器在开发者指定的时间内完成在输出surface上渲染,输出缓冲包含解码数据。 |
| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoDecoder_FreeOutputBuffer](#oh_videodecoder_freeoutputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t index) | 将处理后的输出缓冲区返回到解码器。 |
| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoDecoder_IsValid](#oh_videodecoder_isvalid) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, bool \*isValid) | 检查当前解码实例是否有效。 |
-| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoDecoder_SetDecryptionConfig](#oh_videodecoder_setdecryptionconfig) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, MediaKeySession \*mediaKeySession, bool secureVideoPath) | 设置解密配置。 |
+| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoDecoder_SetDecryptionConfig](#oh_videodecoder_setdecryptionconfig) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, MediaKeySession \*mediaKeySession, bool secureVideoPath) | 设置解密配置。 |
+| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoDecoder_QueryInputBuffer](#oh_videodecoder_queryinputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t *index, int64_t timeoutUs) | 查询下一个可用输入缓冲区的索引。 |
+| [OH_AVBuffer](_core.md#oh_avbuffer) [OH_VideoDecoder_GetInputBuffer](#oh_videodecoder_getinputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t index) | 获取可用输入缓冲区的实例。 |
+| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoDecoder_QueryOutputBuffer](#oh_videodecoder_queryoutputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t *index, int64_t timeoutUs) | 查询下一个可用输出缓冲区的索引。 |
+| [OH_AVBuffer](_core.md#oh_avbuffer) [OH_VideoDecoder_GetOutputBuffer](#oh_videodecoder_getoutputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t index) | 获取可用输出缓冲区的实例。 |
## 函数说明
@@ -760,6 +764,157 @@ AV_ERR_OPERATE_NOT_PERMIT:内部执行错误。
AV_ERR_INVALID_STATE:解码器状态不支持调用本接口时调用。
+### OH_VideoDecoder_QueryInputBuffer()
+
+```
+OH_AVErrCode OH_VideoDecoder_QueryInputBuffer(struct OH_AVCodec *codec, uint32_t *index, int64_t timeoutUs);
+```
+**描述**
+
+查询下一个可用输入缓冲区的索引。
+
+调用此接口后需要接着调用OH_VideoDecoder_GetInputBuffer接口获取缓冲区实例,并通过OH_VideoDecoder_PushInputBuffer接口传递给解码器。
+
+需要注意的是,上述操作仅在同步模式下支持。
+
+**系统能力:** SystemCapability.Multimedia.Media.VideoDecoder
+
+**起始版本:** 20
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| codec | 指向视频解码实例的指针。 |
+| index | 输入buffer对应的索引值。|
+| timeoutUs | 超时时长,单位为微秒。负值:无限等待;0:立即退出;正值:指定时间timeout后退出。 |
+
+**返回:**
+
+返回接口结果:
+
+AV_ERR_OK:执行成功。
+
+AV_ERR_NO_MEMORY:输入的解码器实例已经销毁。
+
+AV_ERR_INVALID_VAL:输入的codec指针为非解码器实例,或者为空指针。
+
+AV_ERR_UNKNOWN:未知错误。
+
+AV_ERR_SERVICE_DIED:编解码服务已终止。
+
+AV_ERR_INVALID_STATE:解码器状态不支持调用本接口时调用。
+
+AV_ERR_OPERATE_NOT_PERMIT:禁止异步模式下使用。
+
+AV_ERR_TRY_AGAIN_LATER:查询失败,建议等待短暂间隔后重试。
+
+
+### OH_VideoDecoder_GetInputBuffer()
+
+```
+OH_AVBuffer *OH_VideoDecoder_GetInputBuffer(struct OH_AVCodec *codec, uint32_t index);
+```
+**描述**
+
+获取可用输入缓冲区的实例。
+
+需要注意的是,此接口仅适用于同步模式。
+
+**系统能力:** SystemCapability.Multimedia.Media.VideoDecoder
+
+**起始版本:** 20
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| codec | 指向视频解码实例的指针。 |
+| index | 输入buffer对应的索引值,可通过OH_VideoDecoder_QueryInputBuffer接口获取。|
+
+**返回:**
+
+如果执行成功,则返回一个指向OH_AVBuffer实例的指针,否则返回NULL。
+
+
+### OH_VideoDecoder_QueryOutputBuffer()
+
+```
+OH_AVErrCode OH_VideoDecoder_QueryOutputBuffer(struct OH_AVCodec *codec, uint32_t *index, int64_t timeoutUs);
+```
+**描述**
+
+查询下一个可用输出缓冲区的索引。
+
+通过OH_VideoDecoder_GetOutputBuffer接口获取的缓冲区实例可以通过执行以下操作来显示或释放解码帧:
+1. 通过OH_VideoDecoder_FreeOutputBuffer接口将处理后的输出缓冲区返回到解码器。
+2. 通过OH_VideoDecoder_RenderOutputBuffer在输出surface上渲染。
+3. 通过OH_VideoDecoder_RenderOutputBufferAtTime在指定时间内完成输出surface上渲染。
+
+需要注意的是,上述操作仅在同步模式下支持。
+
+**系统能力:** SystemCapability.Multimedia.Media.VideoDecoder
+
+**起始版本:** 20
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| codec | 指向视频解码实例的指针。 |
+| index | 输出buffer对应的索引值。|
+| timeoutUs | 超时时长,单位为微秒。负值:无限等待;0:立即退出;正值:指定时间timeout后退出。 |
+
+**返回:**
+
+返回接口结果:
+
+AV_ERR_OK:执行成功。
+
+AV_ERR_NO_MEMORY:输入的解码器实例已经销毁。
+
+AV_ERR_INVALID_VAL:输入的codec指针为非解码器实例,或者为空指针。
+
+AV_ERR_UNKNOWN:未知错误。
+
+AV_ERR_SERVICE_DIED:编解码服务已终止。
+
+AV_ERR_INVALID_STATE:解码器状态不支持调用本接口时调用。
+
+AV_ERR_OPERATE_NOT_PERMIT:禁止异步模式下使用。
+
+AV_ERR_STREAM_CHANGED:流格式已变更,可以通过调用OH_VideoDecoder_GetOutputDescription接口获取新的流信息。
+
+AV_ERR_TRY_AGAIN_LATER:查询失败,建议等待短暂间隔后重试。
+
+
+### OH_VideoDecoder_GetOutputBuffer()
+
+```
+OH_AVBuffer *OH_VideoDecoder_GetOutputBuffer(struct OH_AVCodec *codec, uint32_t index);
+```
+**描述**
+
+获取可用输出缓冲区的实例。
+
+需要注意的是,此接口仅适用于同步模式。
+
+**系统能力:** SystemCapability.Multimedia.Media.VideoDecoder
+
+**起始版本:** 20
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| codec | 指向视频解码实例的指针。 |
+| index | 输出buffer对应的索引值,可通过OH_VideoDecoder_QueryOutputBuffer接口获取。|
+
+**返回:**
+
+如果执行成功,则返回一个指向OH_AVBuffer实例的指针,否则返回NULL。
+
+
## 废弃函数说明
diff --git a/zh-cn/application-dev/reference/apis-avcodec-kit/_video_encoder.md b/zh-cn/application-dev/reference/apis-avcodec-kit/_video_encoder.md
index 4ab895c4bebdc1219e7492dd11b65693caf64498..19895ce377a3421e90775f23f141d9b87a1e85df 100644
--- a/zh-cn/application-dev/reference/apis-avcodec-kit/_video_encoder.md
+++ b/zh-cn/application-dev/reference/apis-avcodec-kit/_video_encoder.md
@@ -70,7 +70,10 @@ VideoEncoder模块提供用于视频编码的接口。
| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoEncoder_FreeOutputBuffer](#oh_videoencoder_freeoutputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t index) | 将处理后的index对应的OH_AVBuffer返回给编码器。 |
| OH_AVFormat \* [OH_VideoEncoder_GetInputDescription](#oh_videoencoder_getinputdescription) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec) | 编码器接收到的图像的描述信息。 |
| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoEncoder_IsValid](#oh_videoencoder_isvalid) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, bool \*isValid) | 检查当前编码实例是否有效。 |
-
+| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoEncoder_QueryInputBuffer](#oh_videoencoder_queryinputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t *index, int64_t timeoutUs) | 查询下一个可用输入缓冲区的索引。 |
+| [OH_AVBuffer](_core.md#oh_avbuffer) [OH_VideoEncoder_GetInputBuffer](#oh_videoencoder_getinputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t index) | 获取可用输入缓冲区的实例。 |
+| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoEncoder_QueryOutputBuffer](#oh_videoencoder_queryoutputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t *index, int64_t timeoutUs) | 查询下一个可用输出缓冲区的索引。 |
+| [OH_AVBuffer](_core.md#oh_avbuffer) [OH_VideoEncoder_GetOutputBuffer](#oh_videoencoder_getoutputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t index) | 获取可用输出缓冲区的实例。 |
## 类型定义说明
@@ -766,7 +769,7 @@ AV_ERR_INVALID_STATE:编码器状态不支持调用本接口时调用。
OH_AVErrCode OH_VideoEncoder_Start (OH_AVCodec *codec)
```
**描述**
-调用OH_VideoEncoder_Prepare接口成功后调用此接口启动解码器。成功启动后,编码器将开始报告注册的回调事件。
+调用OH_VideoEncoder_Prepare接口成功后调用此接口启动编码器。成功启动后,编码器将开始报告注册的回调事件。
Surface模式下,在surface中有正确的输入后,每完成一帧编码会触发OnNewOutputBuffer。
@@ -834,6 +837,154 @@ AV_ERR_OPERATE_NOT_PERMIT:内部执行错误。
AV_ERR_INVALID_STATE:编码器状态不支持调用本接口时调用。
+### OH_VideoEncoder_QueryInputBuffer()
+
+```
+OH_AVErrCode OH_VideoEncoder_QueryInputBuffer(struct OH_AVCodec *codec, uint32_t *index, int64_t timeoutUs);
+```
+**描述**
+
+查询下一个可用输入缓冲区的索引。
+
+调用此接口后需要接着调用OH_VideoEncoder_GetInputBuffer接口获取缓冲区实例,并通过OH_VideoEncoder_PushInputBuffer接口传递给编码器。
+
+需要注意的是,上述操作仅在同步模式下支持。
+
+**系统能力:** SystemCapability.Multimedia.Media.VideoEncoder
+
+**起始版本:** 20
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| codec | 指向视频编码实例的指针。 |
+| index | 输入buffer对应的索引值。|
+| timeoutUs | 超时时长,单位为微秒。负值:无限等待;0:立即退出;正值:指定时间timeout后退出。 |
+
+**返回:**
+
+返回接口结果:
+
+AV_ERR_OK:执行成功。
+
+AV_ERR_NO_MEMORY:输入的编码器实例已经销毁。
+
+AV_ERR_INVALID_VAL:输入的codec指针为非编码器实例,或者为空指针。
+
+AV_ERR_UNKNOWN:未知错误。
+
+AV_ERR_SERVICE_DIED:编解码服务已终止。
+
+AV_ERR_INVALID_STATE:编码器状态不支持调用本接口时调用。
+
+AV_ERR_OPERATE_NOT_PERMIT:禁止异步模式下使用。
+
+AV_ERR_TRY_AGAIN_LATER:查询失败,建议等待短暂间隔后重试。
+
+
+### OH_VideoEncoder_GetInputBuffer()
+
+```
+OH_AVBuffer *OH_VideoEncoder_GetInputBuffer(struct OH_AVCodec *codec, uint32_t index);
+```
+**描述**
+
+获取可用输入缓冲区的实例。
+
+需要注意的是,此接口仅适用于同步模式。
+
+**系统能力:** SystemCapability.Multimedia.Media.VideoEncoder
+
+**起始版本:** 20
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| codec | 指向视频编码实例的指针。 |
+| index | 输入buffer对应的索引值,可通过OH_VideoEncoder_QueryInputBuffer接口获取。|
+
+**返回:**
+
+如果执行成功,则返回一个指向OH_AVBuffer实例的指针,否则返回NULL。
+
+
+### OH_VideoEncoder_QueryOutputBuffer()
+
+```
+OH_AVErrCode OH_VideoEncoder_QueryOutputBuffer(struct OH_AVCodec *codec, uint32_t *index, int64_t timeoutUs);
+```
+**描述**
+
+查询下一个可用输出缓冲区的索引。
+
+通过OH_VideoEncoder_GetOutputBuffer接口获取的缓冲区实例可以通过OH_VideoEncoder_FreeOutputBuffer接口将处理后的输出缓冲区返回到编码器。
+
+需要注意的是,上述操作仅在同步模式下支持。
+
+**系统能力:** SystemCapability.Multimedia.Media.VideoEncoder
+
+**起始版本:** 20
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| codec | 指向视频编码实例的指针。 |
+| index | 输出buffer对应的索引值。|
+| timeoutUs | 超时时长,单位为微秒。负值:无限等待;0:立即退出;正值:指定时间timeout后退出。 |
+
+**返回:**
+
+返回接口结果:
+
+AV_ERR_OK:执行成功。
+
+AV_ERR_NO_MEMORY:输入的编码器实例已经销毁。
+
+AV_ERR_INVALID_VAL:输入的codec指针为非编码器实例,或者为空指针。
+
+AV_ERR_UNKNOWN:未知错误。
+
+AV_ERR_SERVICE_DIED:编解码服务已终止。
+
+AV_ERR_INVALID_STATE:编码器状态不支持调用本接口时调用。
+
+AV_ERR_OPERATE_NOT_PERMIT:禁止异步模式下使用。
+
+AV_ERR_STREAM_CHANGED:流格式已变更,可以通过调用OH_VideoEncoder_GetOutputDescription接口获取新的流信息。
+
+AV_ERR_TRY_AGAIN_LATER:查询失败,建议等待短暂间隔后重试。
+
+
+### OH_VideoEncoder_GetOutputBuffer()
+
+```
+OH_AVBuffer *OH_VideoEncoder_GetOutputBuffer(struct OH_AVCodec *codec, uint32_t index);
+```
+**描述**
+
+获取可用输出缓冲区的实例。
+
+需要注意的是,此接口仅适用于同步模式。
+
+**系统能力:** SystemCapability.Multimedia.Media.VideoEncoder
+
+**起始版本:** 20
+
+**参数:**
+
+| 名称 | 描述 |
+| -------- | -------- |
+| codec | 指向视频编码实例的指针。 |
+| index | 输出buffer对应的索引值,可通过OH_VideoEncoder_QueryOutputBuffer接口获取。|
+
+**返回:**
+
+如果执行成功,则返回一个指向OH_AVBuffer实例的指针,否则返回NULL。
+
+
## 废弃函数说明
diff --git a/zh-cn/application-dev/reference/apis-avcodec-kit/native__avbuffer_8h.md b/zh-cn/application-dev/reference/apis-avcodec-kit/native__avbuffer_8h.md
index 9b607560e71db9183f8d5c25e8a72738507a6eb1..595dd0d055b8f043cddc54a50f65b45c96e2d523 100644
--- a/zh-cn/application-dev/reference/apis-avcodec-kit/native__avbuffer_8h.md
+++ b/zh-cn/application-dev/reference/apis-avcodec-kit/native__avbuffer_8h.md
@@ -13,6 +13,8 @@
**相关模块:**[Core](_core.md)
+**相关示例:**[AVCodec](https://gitee.com/openharmony/applications_app_samples/tree/master/code/BasicFeature/Media/AVCodec)
+
## 汇总
diff --git a/zh-cn/application-dev/reference/apis-avcodec-kit/native__avbuffer__info_8h.md b/zh-cn/application-dev/reference/apis-avcodec-kit/native__avbuffer__info_8h.md
index 320be5a589a6fa8b5f581feaaec60a503d5ce403..0ac5d346c11702d077e16146554a341aa88c1bc0 100644
--- a/zh-cn/application-dev/reference/apis-avcodec-kit/native__avbuffer__info_8h.md
+++ b/zh-cn/application-dev/reference/apis-avcodec-kit/native__avbuffer__info_8h.md
@@ -13,6 +13,8 @@
**相关模块:**[Core](_core.md)
+**相关示例:**[AVCodec](https://gitee.com/openharmony/applications_app_samples/tree/master/code/BasicFeature/Media/AVCodec)
+
## 汇总
diff --git a/zh-cn/application-dev/reference/apis-avcodec-kit/native__avcapability_8h.md b/zh-cn/application-dev/reference/apis-avcodec-kit/native__avcapability_8h.md
index 6437ba22fa2c1f747917a5be3aa40db813d4214a..fdb7952d8a9ef8e4a2db8ace4f214c379bd9214b 100644
--- a/zh-cn/application-dev/reference/apis-avcodec-kit/native__avcapability_8h.md
+++ b/zh-cn/application-dev/reference/apis-avcodec-kit/native__avcapability_8h.md
@@ -11,6 +11,8 @@
**相关模块:**[AVCapability](_a_v_capability.md)
+**相关示例:**[AVCodec](https://gitee.com/openharmony/applications_app_samples/tree/master/code/BasicFeature/Media/AVCodec)
+
## 汇总
diff --git a/zh-cn/application-dev/reference/apis-avcodec-kit/native__avcodec__base_8h.md b/zh-cn/application-dev/reference/apis-avcodec-kit/native__avcodec__base_8h.md
index 053d86a6500926a0176f3f154c1a400f48602ac8..d3d6892ec6c7bf78ee97706de0fbe78c11e69142 100644
--- a/zh-cn/application-dev/reference/apis-avcodec-kit/native__avcodec__base_8h.md
+++ b/zh-cn/application-dev/reference/apis-avcodec-kit/native__avcodec__base_8h.md
@@ -11,6 +11,8 @@
**相关模块:**[CodecBase](_codec_base.md)
+**相关示例:**[AVCodec](https://gitee.com/openharmony/applications_app_samples/tree/master/code/BasicFeature/Media/AVCodec)
+
## 汇总
@@ -187,6 +189,7 @@
| const char \* [OH_MD_KEY_VIDEO_PIC_WIDTH](_codec_base.md#oh_md_key_video_pic_width) | 描述视频帧真实宽度的键,值类型为int32_t。 |
| const char \* [OH_MD_KEY_VIDEO_PIC_HEIGHT](_codec_base.md#oh_md_key_video_pic_height) | 描述视频帧真实高度的键,值类型为int32_t。 |
| const char \* [OH_MD_KEY_VIDEO_ENABLE_LOW_LATENCY](_codec_base.md#oh_md_key_video_enable_low_latency) | 使能低时延视频编解码的键,值类型为int32_t,1表示使能,0表示其它情况。 |
+| const char \* [OH_MD_KEY_ENABLE_SYNC_MODE](_codec_base.md#oh_md_key_enable_sync_mode) | 使能视频编解码同步模式的键,值类型为int32_t,1表示使能,0表示其它情况。该键是可选,在Configure阶段使用。 |
| const char \* [OH_MD_KEY_VIDEO_ENCODER_QP_MAX](_codec_base.md#oh_md_key_video_encoder_qp_max) | 描述视频编码器允许的最大量化参数的键,值类型为int32_t。 |
| const char \* [OH_MD_KEY_VIDEO_ENCODER_QP_MIN](_codec_base.md#oh_md_key_video_encoder_qp_min) | 描述视频编码器允许的最小量化参数的键,值类型为int32_t。 |
| const char \* [OH_MD_KEY_VIDEO_ENCODER_QP_AVERAGE](_codec_base.md#oh_md_key_video_encoder_qp_average) | 描述视频帧平均量化参数的键,值类型为int32_t。 |
diff --git a/zh-cn/application-dev/reference/apis-avcodec-kit/native__avcodec__videodecoder_8h.md b/zh-cn/application-dev/reference/apis-avcodec-kit/native__avcodec__videodecoder_8h.md
index 04c498b3082934e463a268fe87c9c8f5788c33a0..9b90006f50d7a747d97202e59052f526f8093d2c 100644
--- a/zh-cn/application-dev/reference/apis-avcodec-kit/native__avcodec__videodecoder_8h.md
+++ b/zh-cn/application-dev/reference/apis-avcodec-kit/native__avcodec__videodecoder_8h.md
@@ -11,6 +11,7 @@
**相关模块:**[VideoDecoder](_video_decoder.md)
+**相关示例:**[AVCodec](https://gitee.com/openharmony/applications_app_samples/tree/master/code/BasicFeature/Media/AVCodec)
## 汇总
@@ -41,4 +42,8 @@
| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoDecoder_RenderOutputBufferAtTime](_video_decoder.md#oh_videodecoder_renderoutputbufferattime) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t index, int64_t renderTimestampNs) | 将处理后的带渲染时间戳的输出缓冲返回给解码器,并通知解码器完成在输出surface上渲染,输出缓冲包含解码数据。 |
| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoDecoder_FreeOutputBuffer](_video_decoder.md#oh_videodecoder_freeoutputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t index) | 将处理后的输出缓冲区返回到解码器。 |
| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoDecoder_IsValid](_video_decoder.md#oh_videodecoder_isvalid) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, bool \*isValid) | 检查当前解码实例是否有效。 |
-| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoDecoder_SetDecryptionConfig](_video_decoder.md#oh_videodecoder_setdecryptionconfig) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, MediaKeySession \*mediaKeySession, bool secureVideoPath) | 设置解密配置。 |
+| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoDecoder_SetDecryptionConfig](_video_decoder.md#oh_videodecoder_setdecryptionconfig) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, MediaKeySession \*mediaKeySession, bool secureVideoPath) | 设置解密配置。 |
+| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoDecoder_QueryInputBuffer](_video_decoder.md#oh_videodecoder_queryinputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t *index, int64_t timeoutUs) | 查询下一个可用输入缓冲区的索引。 |
+| [OH_AVBuffer](_core.md#oh_avbuffer) [OH_VideoDecoder_GetInputBuffer](_video_decoder.md#oh_videodecoder_getinputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t index) | 获取可用输入缓冲区的实例。 |
+| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoDecoder_QueryOutputBuffer](_video_decoder.md#oh_videodecoder_queryoutputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t *index, int64_t timeoutUs) | 查询下一个可用输出缓冲区的索引。 |
+| [OH_AVBuffer](_core.md#oh_avbuffer) [OH_VideoDecoder_GetOutputBuffer](_video_decoder.md#oh_videodecoder_getoutputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t index) | 获取可用输出缓冲区的实例。 |
diff --git a/zh-cn/application-dev/reference/apis-avcodec-kit/native__avcodec__videoencoder_8h.md b/zh-cn/application-dev/reference/apis-avcodec-kit/native__avcodec__videoencoder_8h.md
index dc716d029a6428d028a543b3fcddbd95646843a9..997910caa408def0fd750de0c19a4e65a4c933d2 100644
--- a/zh-cn/application-dev/reference/apis-avcodec-kit/native__avcodec__videoencoder_8h.md
+++ b/zh-cn/application-dev/reference/apis-avcodec-kit/native__avcodec__videoencoder_8h.md
@@ -11,6 +11,8 @@
**相关模块:**[VideoEncoder](_video_encoder.md)
+**相关示例:**[AVCodec](https://gitee.com/openharmony/applications_app_samples/tree/master/code/BasicFeature/Media/AVCodec)
+
## 汇总
@@ -56,4 +58,8 @@
| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoEncoder_PushInputParameter](_video_encoder.md#oh_videoencoder_pushinputparameter) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t index) | 将填入数据的输入参数缓冲区提交给视频编码器。 |
| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoEncoder_FreeOutputBuffer](_video_encoder.md#oh_videoencoder_freeoutputbuffer) (OH_AVCodec \*codec, uint32_t index) | 将处理后的输出缓冲区返回给编码器。 |
| [OH_AVFormat](_core.md#oh_avformat) \* [OH_VideoEncoder_GetInputDescription](_video_encoder.md#oh_videoencoder_getinputdescription) (OH_AVCodec \*codec) | 获取视频编码器接收的描述信息。 |
-| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoEncoder_IsValid](_video_encoder.md#oh_videoencoder_isvalid) (OH_AVCodec \*codec, bool \*isValid) | 检查当前编码实例是否有效。 |
+| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoEncoder_IsValid](_video_encoder.md#oh_videoencoder_isvalid) (OH_AVCodec \*codec, bool \*isValid) | 检查当前编码实例是否有效。 |
+| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoEncoder_QueryInputBuffer](_video_encoder.md#oh_videoencoder_queryinputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t *index, int64_t timeoutUs) | 查询下一个可用输入缓冲区的索引。 |
+| [OH_AVBuffer](_core.md#oh_avbuffer) [OH_VideoEncoder_GetInputBuffer](_video_encoder.md#oh_videoencoder_getinputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t index) | 获取可用输入缓冲区的实例。 |
+| [OH_AVErrCode](_core.md#oh_averrcode) [OH_VideoEncoder_QueryOutputBuffer](_video_encoder.md#oh_videoencoder_queryoutputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t *index, int64_t timeoutUs) | 查询下一个可用输出缓冲区的索引。 |
+| [OH_AVBuffer](_core.md#oh_avbuffer) [OH_VideoEncoder_GetOutputBuffer](_video_encoder.md#oh_videoencoder_getoutputbuffer) ([OH_AVCodec](_codec_base.md#oh_avcodec) \*codec, uint32_t index) | 获取可用输出缓冲区的实例。 |
diff --git a/zh-cn/application-dev/reference/apis-avcodec-kit/native__avdemuxer_8h.md b/zh-cn/application-dev/reference/apis-avcodec-kit/native__avdemuxer_8h.md
index 56ffbf9ed0118e687d332b5a3ec49a0f63d57efa..90ab8d086fab1a57fc8e1285930d3a7a178f2cc9 100644
--- a/zh-cn/application-dev/reference/apis-avcodec-kit/native__avdemuxer_8h.md
+++ b/zh-cn/application-dev/reference/apis-avcodec-kit/native__avdemuxer_8h.md
@@ -11,6 +11,8 @@
**相关模块:**[AVDemuxer](_a_v_demuxer.md)
+**相关示例:**[AVCodec](https://gitee.com/openharmony/applications_app_samples/tree/master/code/BasicFeature/Media/AVCodec)
+
## 汇总
diff --git a/zh-cn/application-dev/reference/apis-avcodec-kit/native__averrors_8h.md b/zh-cn/application-dev/reference/apis-avcodec-kit/native__averrors_8h.md
index 09bf18d1705199f3567f251ff8b43fc536872500..7cfb60962e6659c191e31856e1a47443be75b4a6 100644
--- a/zh-cn/application-dev/reference/apis-avcodec-kit/native__averrors_8h.md
+++ b/zh-cn/application-dev/reference/apis-avcodec-kit/native__averrors_8h.md
@@ -28,4 +28,4 @@
| 名称 | 描述 |
| -------- | -------- |
-| [OH_AVErrCode](_core.md#oh_averrcode-1) {
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_UNSUPPORTED_FORMAT = 11,
AV_ERR_EXTEND_START = 100,
AV_ERR_DRM_BASE = 200,
AV_ERR_DRM_DECRYPT_FAILED = 201,
AV_ERR_VIDEO_BASE = 300,
AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION = 301
} | 媒体系统错误码。 |
\ No newline at end of file
+| [OH_AVErrCode](_core.md#oh_averrcode-1) {
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_UNSUPPORTED_FORMAT = 11,
AV_ERR_EXTEND_START = 100,
AV_ERR_DRM_BASE = 200,
AV_ERR_DRM_DECRYPT_FAILED = 201,
AV_ERR_VIDEO_BASE = 300,
AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION = 301,
AV_ERR_STREAM_CHANGED = 5410005,
AV_ERR_TRY_AGAIN_LATER = 5410006
} | 媒体系统错误码。 |
\ No newline at end of file
diff --git a/zh-cn/application-dev/reference/apis-avcodec-kit/native__avformat_8h.md b/zh-cn/application-dev/reference/apis-avcodec-kit/native__avformat_8h.md
index 6f922442a2811b6467f46cfa837114c0eb218dac..430bd89bd42614a521e1c30acac62cb22ea33868 100644
--- a/zh-cn/application-dev/reference/apis-avcodec-kit/native__avformat_8h.md
+++ b/zh-cn/application-dev/reference/apis-avcodec-kit/native__avformat_8h.md
@@ -13,6 +13,8 @@
**相关模块:**[Core](_core.md)
+**相关示例:**[AVCodec](https://gitee.com/openharmony/applications_app_samples/tree/master/code/BasicFeature/Media/AVCodec)
+
## 汇总
diff --git a/zh-cn/application-dev/reference/apis-avcodec-kit/native__avsource_8h.md b/zh-cn/application-dev/reference/apis-avcodec-kit/native__avsource_8h.md
index 60c3907779bc56a1f4a4e07286e582d9b5f386c9..61c0bfa2eea68c91458e69dc7831481a0dcc22e1 100644
--- a/zh-cn/application-dev/reference/apis-avcodec-kit/native__avsource_8h.md
+++ b/zh-cn/application-dev/reference/apis-avcodec-kit/native__avsource_8h.md
@@ -11,6 +11,8 @@
**相关模块:**[AVSource](_a_v_source.md)
+**相关示例:**[AVCodec](https://gitee.com/openharmony/applications_app_samples/tree/master/code/BasicFeature/Media/AVCodec)
+
## 汇总