提交 6b9d3343 编写于 作者: Z zengyawen

update native docs

Signed-off-by: Nzengyawen <zengyawen1@huawei.com>
上级 ed371925
...@@ -28,18 +28,18 @@ AudioDecoder模块提供用于音频解码功能的函数。 ...@@ -28,18 +28,18 @@ AudioDecoder模块提供用于音频解码功能的函数。
| -------- | -------- | | -------- | -------- |
| [OH_AudioDecoder_CreateByMime](#oh_audiodecoder_createbymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。 | | [OH_AudioDecoder_CreateByMime](#oh_audiodecoder_createbymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。 |
| [OH_AudioDecoder_CreateByName](#oh_audiodecoder_createbyname) (const char \*name) | OH_AVCodec \*<br/>通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 | | [OH_AudioDecoder_CreateByName](#oh_audiodecoder_createbyname) (const char \*name) | OH_AVCodec \*<br/>通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 |
| [OH_AudioDecoder_Destroy](#oh_audiodecoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部资源,并销毁解码器实例 | | [OH_AudioDecoder_Destroy](#oh_audiodecoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>清空解码器内部资源,并销毁解码器实例 |
| [OH_AudioDecoder_SetCallback](#oh_audiodecoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应音频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 | | [OH_AudioDecoder_SetCallback](#oh_audiodecoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>设置异步回调函数,使得你的应用能够响应音频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
| [OH_AudioDecoder_Configure](#oh_audiodecoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置音频解码器,典型地,需要配置被解码音频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 | | [OH_AudioDecoder_Configure](#oh_audiodecoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>配置音频解码器,典型地,需要配置被解码音频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 |
| [OH_AudioDecoder_Prepare](#oh_audiodecoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备解码器内部资源,调用该接口前必须先调用Configure接口。 | | [OH_AudioDecoder_Prepare](#oh_audiodecoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>准备解码器内部资源,调用该接口前必须先调用Configure接口。 |
| [OH_AudioDecoder_Start](#oh_audiodecoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 | | [OH_AudioDecoder_Start](#oh_audiodecoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 |
| [OH_AudioDecoder_Stop](#oh_audiodecoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 | | [OH_AudioDecoder_Stop](#oh_audiodecoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 |
| [OH_AudioDecoder_Flush](#oh_audiodecoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | | [OH_AudioDecoder_Flush](#oh_audiodecoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
| [OH_AudioDecoder_Reset](#oh_audiodecoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 | | [OH_AudioDecoder_Reset](#oh_audiodecoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 |
| [OH_AudioDecoder_GetOutputDescription](#oh_audiodecoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*<br/>获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 | | [OH_AudioDecoder_GetOutputDescription](#oh_audiodecoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*<br/>获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 |
| [OH_AudioDecoder_SetParameter](#oh_audiodecoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 | | [OH_AudioDecoder_SetParameter](#oh_audiodecoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 |
| [OH_AudioDecoder_PushInputData](#oh_audiodecoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将填充好数据的输入Buffer提交给音频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程。 | | [OH_AudioDecoder_PushInputData](#oh_audiodecoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>将填充好数据的输入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) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器。 | | [OH_AudioDecoder_FreeOutputData](#oh_audiodecoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>将处理结束的输出Buffer交还给解码器。 |
## 函数说明 ## 函数说明
...@@ -67,7 +67,7 @@ OH_AVErrCode OH_AudioDecoder_Configure (OH_AVCodec * codec, OH_AVFormat * format ...@@ -67,7 +67,7 @@ OH_AVErrCode OH_AudioDecoder_Configure (OH_AVCodec * codec, OH_AVFormat * format
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioDecoder_CreateByMime() ### OH_AudioDecoder_CreateByMime()
...@@ -135,7 +135,7 @@ OH_AVErrCode OH_AudioDecoder_Destroy (OH_AVCodec * codec) ...@@ -135,7 +135,7 @@ OH_AVErrCode OH_AudioDecoder_Destroy (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioDecoder_Flush() ### OH_AudioDecoder_Flush()
...@@ -159,7 +159,7 @@ OH_AVErrCode OH_AudioDecoder_Flush (OH_AVCodec * codec) ...@@ -159,7 +159,7 @@ OH_AVErrCode OH_AudioDecoder_Flush (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioDecoder_FreeOutputData() ### OH_AudioDecoder_FreeOutputData()
...@@ -184,7 +184,7 @@ OH_AVErrCode OH_AudioDecoder_FreeOutputData (OH_AVCodec * codec, uint32_t index ...@@ -184,7 +184,7 @@ OH_AVErrCode OH_AudioDecoder_FreeOutputData (OH_AVCodec * codec, uint32_t index
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioDecoder_GetOutputDescription() ### OH_AudioDecoder_GetOutputDescription()
...@@ -230,7 +230,7 @@ OH_AVErrCode OH_AudioDecoder_Prepare (OH_AVCodec * codec) ...@@ -230,7 +230,7 @@ OH_AVErrCode OH_AudioDecoder_Prepare (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioDecoder_PushInputData() ### OH_AudioDecoder_PushInputData()
...@@ -256,7 +256,7 @@ OH_AVErrCode OH_AudioDecoder_PushInputData (OH_AVCodec * codec, uint32_t index, ...@@ -256,7 +256,7 @@ OH_AVErrCode OH_AudioDecoder_PushInputData (OH_AVCodec * codec, uint32_t index,
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioDecoder_Reset() ### OH_AudioDecoder_Reset()
...@@ -280,7 +280,7 @@ OH_AVErrCode OH_AudioDecoder_Reset (OH_AVCodec * codec) ...@@ -280,7 +280,7 @@ OH_AVErrCode OH_AudioDecoder_Reset (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioDecoder_SetCallback() ### OH_AudioDecoder_SetCallback()
...@@ -306,7 +306,7 @@ OH_AVErrCode OH_AudioDecoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCal ...@@ -306,7 +306,7 @@ OH_AVErrCode OH_AudioDecoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCal
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioDecoder_SetParameter() ### OH_AudioDecoder_SetParameter()
...@@ -331,7 +331,7 @@ OH_AVErrCode OH_AudioDecoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for ...@@ -331,7 +331,7 @@ OH_AVErrCode OH_AudioDecoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioDecoder_Start() ### OH_AudioDecoder_Start()
...@@ -355,7 +355,7 @@ OH_AVErrCode OH_AudioDecoder_Start (OH_AVCodec * codec) ...@@ -355,7 +355,7 @@ OH_AVErrCode OH_AudioDecoder_Start (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioDecoder_Stop() ### OH_AudioDecoder_Stop()
...@@ -379,4 +379,4 @@ OH_AVErrCode OH_AudioDecoder_Stop (OH_AVCodec * codec) ...@@ -379,4 +379,4 @@ OH_AVErrCode OH_AudioDecoder_Stop (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
...@@ -28,18 +28,18 @@ AudioEncoder模块提供用于音频编码功能的函数。 ...@@ -28,18 +28,18 @@ AudioEncoder模块提供用于音频编码功能的函数。
| -------- | -------- | | -------- | -------- |
| [OH_AudioEncoder_CreateByMime](#oh_audioencoder_createbymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。 | | [OH_AudioEncoder_CreateByMime](#oh_audioencoder_createbymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。 |
| [OH_AudioEncoder_CreateByName](#oh_audioencoder_createbyname) (const char \*name) | OH_AVCodec \*<br/>通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 | | [OH_AudioEncoder_CreateByName](#oh_audioencoder_createbyname) (const char \*name) | OH_AVCodec \*<br/>通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 |
| [OH_AudioEncoder_Destroy](#oh_audioencoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部资源,并销毁编码器实例。 | | [OH_AudioEncoder_Destroy](#oh_audioencoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>清空编码器内部资源,并销毁编码器实例。 |
| [OH_AudioEncoder_SetCallback](#oh_audioencoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应音频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 | | [OH_AudioEncoder_SetCallback](#oh_audioencoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>设置异步回调函数,使得你的应用能够响应音频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
| [OH_AudioEncoder_Configure](#oh_audioencoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置音频编码器,典型地,需要配置被编码音频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 | | [OH_AudioEncoder_Configure](#oh_audioencoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>配置音频编码器,典型地,需要配置被编码音频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 |
| [OH_AudioEncoder_Prepare](#oh_audioencoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备编码器内部资源,调用该接口前必须先调用Configure接口。 | | [OH_AudioEncoder_Prepare](#oh_audioencoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>准备编码器内部资源,调用该接口前必须先调用Configure接口。 |
| [OH_AudioEncoder_Start](#oh_audioencoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 | | [OH_AudioEncoder_Start](#oh_audioencoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 |
| [OH_AudioEncoder_Stop](#oh_audioencoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止编码器。在停止后可通过Start重新进入Started状态。 | | [OH_AudioEncoder_Stop](#oh_audioencoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>停止编码器。在停止后可通过Start重新进入Started状态。 |
| [OH_AudioEncoder_Flush](#oh_audioencoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | | [OH_AudioEncoder_Flush](#oh_audioencoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
| [OH_AudioEncoder_Reset](#oh_audioencoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 | | [OH_AudioEncoder_Reset](#oh_audioencoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 |
| [OH_AudioEncoder_GetOutputDescription](#oh_audioencoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*<br/>获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 | | [OH_AudioEncoder_GetOutputDescription](#oh_audioencoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*<br/>获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 |
| [OH_AudioEncoder_SetParameter](#oh_audioencoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 | | [OH_AudioEncoder_SetParameter](#oh_audioencoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 |
| [OH_AudioEncoder_PushInputData](#oh_audioencoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将填充好数据的输入Buffer提交给音频编码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给编码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。 | | [OH_AudioEncoder_PushInputData](#oh_audioencoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>将填充好数据的输入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) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给编码器。 | | [OH_AudioEncoder_FreeOutputData](#oh_audioencoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>将处理结束的输出Buffer交还给编码器。 |
## 函数说明 ## 函数说明
...@@ -67,7 +67,7 @@ OH_AVErrCode OH_AudioEncoder_Configure (OH_AVCodec * codec, OH_AVFormat * format ...@@ -67,7 +67,7 @@ OH_AVErrCode OH_AudioEncoder_Configure (OH_AVCodec * codec, OH_AVFormat * format
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioEncoder_CreateByMime() ### OH_AudioEncoder_CreateByMime()
...@@ -135,7 +135,7 @@ OH_AVErrCode OH_AudioEncoder_Destroy (OH_AVCodec * codec) ...@@ -135,7 +135,7 @@ OH_AVErrCode OH_AudioEncoder_Destroy (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioEncoder_Flush() ### OH_AudioEncoder_Flush()
...@@ -159,7 +159,7 @@ OH_AVErrCode OH_AudioEncoder_Flush (OH_AVCodec * codec) ...@@ -159,7 +159,7 @@ OH_AVErrCode OH_AudioEncoder_Flush (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioEncoder_FreeOutputData() ### OH_AudioEncoder_FreeOutputData()
...@@ -184,7 +184,7 @@ OH_AVErrCode OH_AudioEncoder_FreeOutputData (OH_AVCodec * codec, uint32_t index ...@@ -184,7 +184,7 @@ OH_AVErrCode OH_AudioEncoder_FreeOutputData (OH_AVCodec * codec, uint32_t index
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioEncoder_GetOutputDescription() ### OH_AudioEncoder_GetOutputDescription()
...@@ -230,7 +230,7 @@ OH_AVErrCode OH_AudioEncoder_Prepare (OH_AVCodec * codec) ...@@ -230,7 +230,7 @@ OH_AVErrCode OH_AudioEncoder_Prepare (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioEncoder_PushInputData() ### OH_AudioEncoder_PushInputData()
...@@ -256,7 +256,7 @@ OH_AVErrCode OH_AudioEncoder_PushInputData (OH_AVCodec * codec, uint32_t index, ...@@ -256,7 +256,7 @@ OH_AVErrCode OH_AudioEncoder_PushInputData (OH_AVCodec * codec, uint32_t index,
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioEncoder_Reset() ### OH_AudioEncoder_Reset()
...@@ -280,7 +280,7 @@ OH_AVErrCode OH_AudioEncoder_Reset (OH_AVCodec * codec) ...@@ -280,7 +280,7 @@ OH_AVErrCode OH_AudioEncoder_Reset (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioEncoder_SetCallback() ### OH_AudioEncoder_SetCallback()
...@@ -306,7 +306,7 @@ OH_AVErrCode OH_AudioEncoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCal ...@@ -306,7 +306,7 @@ OH_AVErrCode OH_AudioEncoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCal
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioEncoder_SetParameter() ### OH_AudioEncoder_SetParameter()
...@@ -331,7 +331,7 @@ OH_AVErrCode OH_AudioEncoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for ...@@ -331,7 +331,7 @@ OH_AVErrCode OH_AudioEncoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioEncoder_Start() ### OH_AudioEncoder_Start()
...@@ -355,7 +355,7 @@ OH_AVErrCode OH_AudioEncoder_Start (OH_AVCodec * codec) ...@@ -355,7 +355,7 @@ OH_AVErrCode OH_AudioEncoder_Start (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_AudioEncoder_Stop() ### OH_AudioEncoder_Stop()
...@@ -379,4 +379,4 @@ OH_AVErrCode OH_AudioEncoder_Stop (OH_AVCodec * codec) ...@@ -379,4 +379,4 @@ OH_AVErrCode OH_AudioEncoder_Stop (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
...@@ -81,10 +81,10 @@ CodecBase模块提供运行音视频编解码通用的结构体、字符常量 ...@@ -81,10 +81,10 @@ CodecBase模块提供运行音视频编解码通用的结构体、字符常量
| [OH_MD_KEY_MAX_INPUT_SIZE](#oh_md_key_max_input_size) | const char \*<br/>最大输入尺寸的字符描述符,值类型为uint32_t | | [OH_MD_KEY_MAX_INPUT_SIZE](#oh_md_key_max_input_size) | const char \*<br/>最大输入尺寸的字符描述符,值类型为uint32_t |
| [OH_MD_KEY_WIDTH](#oh_md_key_width) | const char \*<br/>视频宽度的字符描述符,值类型为uint32_t | | [OH_MD_KEY_WIDTH](#oh_md_key_width) | const char \*<br/>视频宽度的字符描述符,值类型为uint32_t |
| [OH_MD_KEY_HEIGHT](#oh_md_key_height) | const char \*<br/>视频高度的字符描述符,值类型为uint32_t | | [OH_MD_KEY_HEIGHT](#oh_md_key_height) | const char \*<br/>视频高度的字符描述符,值类型为uint32_t |
| [OH_MD_KEY_PIXEL_FORMAT](#oh_md_key_pixel_format) | const char \*<br/>视频像素格式的字符描述符,值类型为int32_t,具体见[OH_AVPixelFormat](_core.md#ohavpixelformat) | | [OH_MD_KEY_PIXEL_FORMAT](#oh_md_key_pixel_format) | const char \*<br/>视频像素格式的字符描述符,值类型为int32_t,具体见[OH_AVPixelFormat](_core.md#oh_avpixelformat) |
| [OH_MD_KEY_AUDIO_SAMPLE_FORMAT](#oh_md_key_audio_sample_format) | const char \*<br/>音频采样格式的字符描述符,值类型为uint32_t | | [OH_MD_KEY_AUDIO_SAMPLE_FORMAT](#oh_md_key_audio_sample_format) | const char \*<br/>音频采样格式的字符描述符,值类型为uint32_t |
| [OH_MD_KEY_FRAME_RATE](#oh_md_key_frame_rate) | const char \*<br/>视频帧率的字符描述符,值类型为double | | [OH_MD_KEY_FRAME_RATE](#oh_md_key_frame_rate) | const char \*<br/>视频帧率的字符描述符,值类型为double |
| [OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE](#oh_md_key_video_encode_bitrate_mode) | const char \*<br/>视频编码比特率模式的字符描述符,值类型为int32_t,具体见[OH_VideoEncodeBitrateMode](_video_encoder.md#ohvideoencodebitratemode) | | [OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE](#oh_md_key_video_encode_bitrate_mode) | const char \*<br/>视频编码比特率模式的字符描述符,值类型为int32_t,具体见[OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode) |
| [OH_MD_KEY_PROFILE](#oh_md_key_profile) | const char \*<br/>音视频编码能力的字符描述符,值类型为int32_t,具体见[OH_AVCProfile](#oh_avcprofile)[OH_AACProfile](#oh_aacprofile) | | [OH_MD_KEY_PROFILE](#oh_md_key_profile) | const char \*<br/>音视频编码能力的字符描述符,值类型为int32_t,具体见[OH_AVCProfile](#oh_avcprofile)[OH_AACProfile](#oh_aacprofile) |
| [OH_MD_KEY_AUD_CHANNEL_COUNT](#oh_md_key_aud_channel_count) | const char \*<br/>音频声道数的字符描述符,值类型为uint32_t | | [OH_MD_KEY_AUD_CHANNEL_COUNT](#oh_md_key_aud_channel_count) | const char \*<br/>音频声道数的字符描述符,值类型为uint32_t |
| [OH_MD_KEY_AUD_SAMPLE_RATE](#oh_md_key_aud_sample_rate) | const char \*<br/>音频采样率的字符描述符,值类型为uint32_t | | [OH_MD_KEY_AUD_SAMPLE_RATE](#oh_md_key_aud_sample_rate) | const char \*<br/>音频采样率的字符描述符,值类型为uint32_t |
...@@ -498,7 +498,7 @@ const char* OH_MD_KEY_MAX_INPUT_SIZE ...@@ -498,7 +498,7 @@ const char* OH_MD_KEY_MAX_INPUT_SIZE
const char* OH_MD_KEY_PIXEL_FORMAT const char* OH_MD_KEY_PIXEL_FORMAT
``` ```
**描述:** **描述:**
视频像素格式的字符描述符,值类型为int32_t,具体见[OH_AVPixelFormat](_core.md#ohavpixelformat) 视频像素格式的字符描述符,值类型为int32_t,具体见[OH_AVPixelFormat](_core.md#oh_avpixelformat)
### OH_MD_KEY_PROFILE ### OH_MD_KEY_PROFILE
...@@ -540,7 +540,7 @@ const char* OH_MD_KEY_TRACK_TYPE ...@@ -540,7 +540,7 @@ const char* OH_MD_KEY_TRACK_TYPE
const char* OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE const char* OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE
``` ```
**描述:** **描述:**
视频编码比特率模式的字符描述符,值类型为int32_t,具体见[OH_VideoEncodeBitrateMode](_video_encoder.md#ohvideoencodebitratemode) 视频编码比特率模式的字符描述符,值类型为int32_t,具体见[OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode)
### OH_MD_KEY_WIDTH ### OH_MD_KEY_WIDTH
......
...@@ -28,9 +28,9 @@ Core模块提供用于播放框架的基础骨干能力,包含内存、错误 ...@@ -28,9 +28,9 @@ Core模块提供用于播放框架的基础骨干能力,包含内存、错误
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AVErrCode](#ohaverrcode) | typedef enum [OH_AVErrCode](#ohaverrcode)<br/>音视频错误码。 | | [OH_AVErrCode](#oh_averrcode) | typedef enum [OH_AVErrCode](#oh_averrcode)<br/>音视频错误码。 |
| **OH_AVFormat** | typedef struct OH_AVFormat | | **OH_AVFormat** | typedef struct OH_AVFormat |
| [OH_AVPixelFormat](#ohavpixelformat) | typedef enum [OH_AVPixelFormat](#ohavpixelformat)<br/>AVPixel 格式的枚举。 | | [OH_AVPixelFormat](#oh_avpixelformat) | typedef enum [OH_AVPixelFormat](#oh_avpixelformat)<br/>AVPixel 格式的枚举。 |
| **OH_AVMemory** | typedef struct OH_AVMemory | | **OH_AVMemory** | typedef struct OH_AVMemory |
...@@ -38,32 +38,32 @@ Core模块提供用于播放框架的基础骨干能力,包含内存、错误 ...@@ -38,32 +38,32 @@ Core模块提供用于播放框架的基础骨干能力,包含内存、错误
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AVErrCode](#ohaverrcode) {<br/>**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<br/>} | 音视频错误码。 | | [OH_AVErrCode](#oh_averrcode) {<br/>**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<br/>} | 音视频错误码。 |
| [OH_AVPixelFormat](#ohavpixelformat) {<br/>**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<br/>} | AVPixel 格式的枚举。 | | [OH_AVPixelFormat](#oh_avpixelformat) {<br/>**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<br/>} | AVPixel 格式的枚举。 |
### 函数 ### 函数
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AVFormat_Create](#ohavformatcreate) (void) | struct OH_AVFormat \*<br/>创建一个OH_AVFormat句柄指针,用以读写数据。 | | [OH_AVFormat_Create](#oh_avformat_create) (void) | struct OH_AVFormat \*<br/>创建一个OH_AVFormat句柄指针,用以读写数据。 |
| [OH_AVFormat_Destroy](#ohavformatdestroy) (struct OH_AVFormat \*format) | void<br/>销毁指定OH_AVFormat句柄资源。 | | [OH_AVFormat_Destroy](#oh_avformat_destroy) (struct OH_AVFormat \*format) | void<br/>销毁指定OH_AVFormat句柄资源。 |
| [OH_AVFormat_Copy](#ohavformatcopy) (struct OH_AVFormat \*to, struct OH_AVFormat \*from) | bool<br/>拷贝OH_AVFormat句柄资源. | | [OH_AVFormat_Copy](#oh_avformat_copy) (struct OH_AVFormat \*to, struct OH_AVFormat \*from) | bool<br/>拷贝OH_AVFormat句柄资源. |
| [OH_AVFormat_SetIntValue](#ohavformatsetintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t value) | bool<br/>向OH_AVFormat写入Int数据. | | [OH_AVFormat_SetIntValue](#oh_avformat_setintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t value) | bool<br/>向OH_AVFormat写入Int数据. |
| [OH_AVFormat_SetLongValue](#ohavformatsetlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t value) | bool<br/>向OH_AVFormat写入Long数据。 | | [OH_AVFormat_SetLongValue](#oh_avformat_setlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t value) | bool<br/>向OH_AVFormat写入Long数据。 |
| [OH_AVFormat_SetFloatValue](#ohavformatsetfloatvalue) (struct OH_AVFormat \*format, const char \*key, float value) | bool<br/>向OH_AVFormat写入Float数据。 | | [OH_AVFormat_SetFloatValue](#oh_avformat_setfloatvalue) (struct OH_AVFormat \*format, const char \*key, float value) | bool<br/>向OH_AVFormat写入Float数据。 |
| [OH_AVFormat_SetDoubleValue](#ohavformatsetdoublevalue) (struct OH_AVFormat \*format, const char \*key, double value) | bool<br/>向OH_AVFormat写入Double数据。 | | [OH_AVFormat_SetDoubleValue](#oh_avformat_setdoublevalue) (struct OH_AVFormat \*format, const char \*key, double value) | bool<br/>向OH_AVFormat写入Double数据。 |
| [OH_AVFormat_SetStringValue](#ohavformatsetstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*value) | bool<br/>向OH_AVFormat写入String数据。 | | [OH_AVFormat_SetStringValue](#oh_avformat_setstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*value) | bool<br/>向OH_AVFormat写入String数据。 |
| [OH_AVFormat_SetBuffer](#ohavformatsetbuffer) (struct OH_AVFormat \*format, const char \*key, const uint8_t \*addr, size_t size) | bool<br/>向OH_AVFormat写入一块指定长度的数据。 | | [OH_AVFormat_SetBuffer](#oh_avformat_setbuffer) (struct OH_AVFormat \*format, const char \*key, const uint8_t \*addr, size_t size) | bool<br/>向OH_AVFormat写入一块指定长度的数据。 |
| [OH_AVFormat_GetIntValue](#ohavformatgetintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t \*out) | bool<br/>从OH_AVFormat读取Int数据。 | | [OH_AVFormat_GetIntValue](#oh_avformat_getintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t \*out) | bool<br/>从OH_AVFormat读取Int数据。 |
| [OH_AVFormat_GetLongValue](#ohavformatgetlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t \*out) | bool<br/>从OH_AVFormat读取Long数据。 | | [OH_AVFormat_GetLongValue](#oh_avformat_getlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t \*out) | bool<br/>从OH_AVFormat读取Long数据。 |
| [OH_AVFormat_GetFloatValue](#ohavformatgetfloatvalue) (struct OH_AVFormat \*format, const char \*key, float \*out) | bool<br/>从OH_AVFormat读取Float数据。 | | [OH_AVFormat_GetFloatValue](#oh_avformat_getfloatvalue) (struct OH_AVFormat \*format, const char \*key, float \*out) | bool<br/>从OH_AVFormat读取Float数据。 |
| [OH_AVFormat_GetDoubleValue](#ohavformatgetdoublevalue) (struct OH_AVFormat \*format, const char \*key, double \*out) | bool<br/>从OH_AVFormat读取Double数据。 | | [OH_AVFormat_GetDoubleValue](#oh_avformat_getdoublevalue) (struct OH_AVFormat \*format, const char \*key, double \*out) | bool<br/>从OH_AVFormat读取Double数据。 |
| [OH_AVFormat_GetStringValue](#ohavformatgetstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*\*out) | bool<br/>从OH_AVFormat读取Double数据。 | | [OH_AVFormat_GetStringValue](#oh_avformat_getstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*\*out) | bool<br/>从OH_AVFormat读取Double数据。 |
| [OH_AVFormat_GetBuffer](#ohavformatgetbuffer) (struct OH_AVFormat \*format, const char \*key, uint8_t \*\*addr, size_t \*size) | bool<br/>从OH_AVFormat读取一块指定长度的数据。 | | [OH_AVFormat_GetBuffer](#oh_avformat_getbuffer) (struct OH_AVFormat \*format, const char \*key, uint8_t \*\*addr, size_t \*size) | bool<br/>从OH_AVFormat读取一块指定长度的数据。 |
| [OH_AVFormat_DumpInfo](#ohavformatdumpinfo) (struct OH_AVFormat \*format) | const char \*<br/>以字符串的形式输出OH_AVFormat所包含的信息。 | | [OH_AVFormat_DumpInfo](#oh_avformat_dumpinfo) (struct OH_AVFormat \*format) | const char \*<br/>以字符串的形式输出OH_AVFormat所包含的信息。 |
| [OH_AVMemory_GetAddr](#ohavmemorygetaddr) (struct OH_AVMemory \*mem) | uint8_t \*<br/>获取入参的内存虚拟地址。 | | [OH_AVMemory_GetAddr](#oh_avmemory_getaddr) (struct OH_AVMemory \*mem) | uint8_t \*<br/>获取入参的内存虚拟地址。 |
| [OH_AVMemory_GetSize](#ohavmemorygetsize) (struct OH_AVMemory \*mem) | int32_t<br/>获取入参的内存长度。 | | [OH_AVMemory_GetSize](#oh_avmemory_getsize) (struct OH_AVMemory \*mem) | int32_t<br/>获取入参的内存长度。 |
## 类型定义说明 ## 类型定义说明
......
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [DURATION_ALWAYS_PLAY](#durationalwaysplay) = -1 | 持续时间全局变量宏定义。 | | [DURATION_ALWAYS_PLAY](#duration_always_play) = -1 | 持续时间全局变量宏定义。 |
| [localCapability](#localcapability) | 会话元数据数组,用于分布式业务,设置会话属性。 | | [localCapability](#localcapability) | 会话元数据数组,用于分布式业务,设置会话属性。 |
......
...@@ -26,22 +26,22 @@ VideoDecoder模块提供用于视频解码功能的函数。 ...@@ -26,22 +26,22 @@ VideoDecoder模块提供用于视频解码功能的函数。
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_VideoDecoder_CreateByMime](#ohvideodecodercreatebymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个视频解码器实例,大多数情况下推荐使用该接口。 | | [OH_VideoDecoder_CreateByMime](#oh_videodecoder_createbymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个视频解码器实例,大多数情况下推荐使用该接口。 |
| [OH_VideoDecoder_CreateByName](#ohvideodecodercreatebyname) (const char \*name) | OH_AVCodec \*<br/>通过视频解码器名称创建一个视频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 | | [OH_VideoDecoder_CreateByName](#oh_videodecoder_createbyname) (const char \*name) | OH_AVCodec \*<br/>通过视频解码器名称创建一个视频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 |
| [OH_VideoDecoder_Destroy](#ohvideodecoderdestroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部资源,并销毁解码器实例。 | | [OH_VideoDecoder_Destroy](#oh_videodecoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>清空解码器内部资源,并销毁解码器实例。 |
| [OH_VideoDecoder_SetCallback](#ohvideodecodersetcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应视频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 | | [OH_VideoDecoder_SetCallback](#oh_videodecoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>设置异步回调函数,使得你的应用能够响应视频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoDecoder_SetSurface](#ohvideodecodersetsurface) (OH_AVCodec \*codec, OHNativeWindow \*window) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>指定输出Surface,以提供视频解码输出,该接口被调用必须是在Prepare被调用前。 | | [OH_VideoDecoder_SetSurface](#oh_videodecoder_setsurface) (OH_AVCodec \*codec, OHNativeWindow \*window) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>指定输出Surface,以提供视频解码输出,该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoDecoder_Configure](#ohvideodecoderconfigure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置视频解码器,典型地,需要配置被解码视频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 | | [OH_VideoDecoder_Configure](#oh_videodecoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>配置视频解码器,典型地,需要配置被解码视频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoDecoder_Prepare](#ohvideodecoderprepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备解码器内部资源,调用该接口前必须先调用Configure接口。 | | [OH_VideoDecoder_Prepare](#oh_videodecoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>准备解码器内部资源,调用该接口前必须先调用Configure接口。 |
| [OH_VideoDecoder_Start](#ohvideodecoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 | | [OH_VideoDecoder_Start](#oh_videodecoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 |
| [OH_VideoDecoder_Stop](#ohvideodecoderstop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 | | [OH_VideoDecoder_Stop](#oh_videodecoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 |
| [OH_VideoDecoder_Flush](#ohvideodecoderflush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | | [OH_VideoDecoder_Flush](#oh_videodecoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
| [OH_VideoDecoder_Reset](#ohvideodecoderreset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 | | [OH_VideoDecoder_Reset](#oh_videodecoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 |
| [OH_VideoDecoder_GetOutputDescription](#ohvideodecodergetoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*<br/>获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 | | [OH_VideoDecoder_GetOutputDescription](#oh_videodecoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*<br/>获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 |
| [OH_VideoDecoder_SetParameter](#ohvideodecodersetparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 | | [OH_VideoDecoder_SetParameter](#oh_videodecoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 |
| [OH_VideoDecoder_PushInputData](#ohvideodecoderpushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将填充好数据的输入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_PushInputData](#oh_videodecoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>将填充好数据的输入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](#ohvideodecoderrenderoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器,并通知解码器完成将该Buffer内包含的解码后的数据在输出Surface上渲染。 如果先前未配置输出Surface,调用该接口仅仅将指定索引对应的输出Buffer交还给解码器。 | | [OH_VideoDecoder_RenderOutputData](#oh_videodecoder_renderoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>将处理结束的输出Buffer交还给解码器,并通知解码器完成将该Buffer内包含的解码后的数据在输出Surface上渲染。 如果先前未配置输出Surface,调用该接口仅仅将指定索引对应的输出Buffer交还给解码器。 |
| [OH_VideoDecoder_FreeOutputData](#ohvideodecoderfreeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器。 | | [OH_VideoDecoder_FreeOutputData](#oh_videodecoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>将处理结束的输出Buffer交还给解码器。 |
## 函数说明 ## 函数说明
...@@ -69,7 +69,7 @@ OH_AVErrCode OH_VideoDecoder_Configure (OH_AVCodec * codec, OH_AVFormat * format ...@@ -69,7 +69,7 @@ OH_AVErrCode OH_VideoDecoder_Configure (OH_AVCodec * codec, OH_AVFormat * format
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoDecoder_CreateByMime() ### OH_VideoDecoder_CreateByMime()
...@@ -137,7 +137,7 @@ OH_AVErrCode OH_VideoDecoder_Destroy (OH_AVCodec * codec) ...@@ -137,7 +137,7 @@ OH_AVErrCode OH_VideoDecoder_Destroy (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoDecoder_Flush() ### OH_VideoDecoder_Flush()
...@@ -161,7 +161,7 @@ OH_AVErrCode OH_VideoDecoder_Flush (OH_AVCodec * codec) ...@@ -161,7 +161,7 @@ OH_AVErrCode OH_VideoDecoder_Flush (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoDecoder_FreeOutputData() ### OH_VideoDecoder_FreeOutputData()
...@@ -186,7 +186,7 @@ OH_AVErrCode OH_VideoDecoder_FreeOutputData (OH_AVCodec * codec, uint32_t index ...@@ -186,7 +186,7 @@ OH_AVErrCode OH_VideoDecoder_FreeOutputData (OH_AVCodec * codec, uint32_t index
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoDecoder_GetOutputDescription() ### OH_VideoDecoder_GetOutputDescription()
...@@ -232,7 +232,7 @@ OH_AVErrCode OH_VideoDecoder_Prepare (OH_AVCodec * codec) ...@@ -232,7 +232,7 @@ OH_AVErrCode OH_VideoDecoder_Prepare (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoDecoder_PushInputData() ### OH_VideoDecoder_PushInputData()
...@@ -258,7 +258,7 @@ OH_AVErrCode OH_VideoDecoder_PushInputData (OH_AVCodec * codec, uint32_t index, ...@@ -258,7 +258,7 @@ OH_AVErrCode OH_VideoDecoder_PushInputData (OH_AVCodec * codec, uint32_t index,
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoDecoder_RenderOutputData() ### OH_VideoDecoder_RenderOutputData()
...@@ -283,7 +283,7 @@ OH_AVErrCode OH_VideoDecoder_RenderOutputData (OH_AVCodec * codec, uint32_t inde ...@@ -283,7 +283,7 @@ OH_AVErrCode OH_VideoDecoder_RenderOutputData (OH_AVCodec * codec, uint32_t inde
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoDecoder_Reset() ### OH_VideoDecoder_Reset()
...@@ -307,7 +307,7 @@ OH_AVErrCode OH_VideoDecoder_Reset (OH_AVCodec * codec) ...@@ -307,7 +307,7 @@ OH_AVErrCode OH_VideoDecoder_Reset (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoDecoder_SetCallback() ### OH_VideoDecoder_SetCallback()
...@@ -333,7 +333,7 @@ OH_AVErrCode OH_VideoDecoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCal ...@@ -333,7 +333,7 @@ OH_AVErrCode OH_VideoDecoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCal
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoDecoder_SetParameter() ### OH_VideoDecoder_SetParameter()
...@@ -358,7 +358,7 @@ OH_AVErrCode OH_VideoDecoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for ...@@ -358,7 +358,7 @@ OH_AVErrCode OH_VideoDecoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoDecoder_SetSurface() ### OH_VideoDecoder_SetSurface()
...@@ -383,7 +383,7 @@ OH_AVErrCode OH_VideoDecoder_SetSurface (OH_AVCodec * codec, OHNativeWindow * wi ...@@ -383,7 +383,7 @@ OH_AVErrCode OH_VideoDecoder_SetSurface (OH_AVCodec * codec, OHNativeWindow * wi
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoDecoder_Start() ### OH_VideoDecoder_Start()
...@@ -407,7 +407,7 @@ OH_AVErrCode OH_VideoDecoder_Start (OH_AVCodec * codec) ...@@ -407,7 +407,7 @@ OH_AVErrCode OH_VideoDecoder_Start (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoDecoder_Stop() ### OH_VideoDecoder_Stop()
...@@ -431,4 +431,4 @@ OH_AVErrCode OH_VideoDecoder_Stop (OH_AVCodec * codec) ...@@ -431,4 +431,4 @@ OH_AVErrCode OH_VideoDecoder_Stop (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
...@@ -26,35 +26,35 @@ VideoEncoder模块提供用于视频编码功能的函数和枚举。 ...@@ -26,35 +26,35 @@ VideoEncoder模块提供用于视频编码功能的函数和枚举。
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_VideoEncodeBitrateMode](#ohvideoencodebitratemode) | typedef enum [OH_VideoEncodeBitrateMode](#ohvideoencodebitratemode)<br/>视频编码的比特率模式。 | | [OH_VideoEncodeBitrateMode](#oh_videoencodebitratemode) | typedef enum [OH_VideoEncodeBitrateMode](#oh_videoencodebitratemode)<br/>视频编码的比特率模式。 |
### 枚举 ### 枚举
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_VideoEncodeBitrateMode](#ohvideoencodebitratemode) { **CBR** = 0, **VBR** = 1, **CQ** = 2 } | 视频编码的比特率模式。 | | [OH_VideoEncodeBitrateMode](#oh_videoencodebitratemode) { **CBR** = 0, **VBR** = 1, **CQ** = 2 } | 视频编码的比特率模式。 |
### 函数 ### 函数
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_VideoEncoder_CreateByMime](#ohvideoencodercreatebymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个视频编码器实例,大多数情况下推荐使用该接口。 | | [OH_VideoEncoder_CreateByMime](#oh_videoencoder_createbymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个视频编码器实例,大多数情况下推荐使用该接口。 |
| [OH_VideoEncoder_CreateByName](#ohvideoencodercreatebyname) (const char \*name) | OH_AVCodec \*<br/>通过视频编码器名称创建一个视频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 | | [OH_VideoEncoder_CreateByName](#oh_videoencoder_createbyname) (const char \*name) | OH_AVCodec \*<br/>通过视频编码器名称创建一个视频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 |
| [OH_VideoEncoder_Destroy](#ohvideoencoderdestroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部资源,并销毁编码器实例。 | | [OH_VideoEncoder_Destroy](#oh_videoencoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>清空编码器内部资源,并销毁编码器实例。 |
| [OH_VideoEncoder_SetCallback](#ohvideoencodersetcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应视频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 | | [OH_VideoEncoder_SetCallback](#oh_videoencoder_setcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>设置异步回调函数,使得你的应用能够响应视频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoEncoder_Configure](#ohvideoencoderconfigure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置视频编码器,典型地,需要配置被编码视频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 | | [OH_VideoEncoder_Configure](#oh_videoencoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>配置视频编码器,典型地,需要配置被编码视频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoEncoder_Prepare](#ohvideoencoderprepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备编码器内部资源,调用该接口前必须先调用Configure接口。 | | [OH_VideoEncoder_Prepare](#oh_videoencoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>准备编码器内部资源,调用该接口前必须先调用Configure接口。 |
| [OH_VideoEncoder_Start](#ohvideoencoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 | | [OH_VideoEncoder_Start](#oh_videoencoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 |
| [OH_VideoEncoder_Stop](#ohvideoencoderstop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止编码器。在停止后可通过Start重新进入Started状态。 | | [OH_VideoEncoder_Stop](#oh_videoencoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>停止编码器。在停止后可通过Start重新进入Started状态。 |
| [OH_VideoEncoder_Flush](#ohvideoencoderflush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | | [OH_VideoEncoder_Flush](#oh_videoencoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
| [OH_VideoEncoder_Reset](#ohvideoencoderreset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 | | [OH_VideoEncoder_Reset](#oh_videoencoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 |
| [OH_VideoEncoder_GetOutputDescription](#ohvideoencodergetoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*<br/>获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 | | [OH_VideoEncoder_GetOutputDescription](#oh_videoencoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*<br/>获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 |
| [OH_VideoEncoder_SetParameter](#ohvideoencodersetparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 | | [OH_VideoEncoder_SetParameter](#oh_videoencoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 |
| [OH_VideoEncoder_GetSurface](#ohvideoencodergetsurface) (OH_AVCodec \*codec, OHNativeWindow \*\*window) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>从视频编码器获取输入Surface, 该接口被调用必须是在Prepare被调用前。 | | [OH_VideoEncoder_GetSurface](#oh_videoencoder_getsurface) (OH_AVCodec \*codec, OHNativeWindow \*\*window) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>从视频编码器获取输入Surface, 该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoEncoder_FreeOutputData](#oh_videoencoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给编码器。 | | [OH_VideoEncoder_FreeOutputData](#oh_videoencoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>将处理结束的输出Buffer交还给编码器。 |
| [OH_VideoEncoder_NotifyEndOfStream](#ohvideoencodernotifyendofstream) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>通知视频编码器输入码流已结束。surface模式推荐使用该接口通知编码器码流结束。 | | [OH_VideoEncoder_NotifyEndOfStream](#oh_videoencoder_notifyendofstream) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>通知视频编码器输入码流已结束。surface模式推荐使用该接口通知编码器码流结束。 |
## 类型定义说明 ## 类型定义说明
...@@ -118,7 +118,7 @@ OH_AVErrCode OH_VideoEncoder_Configure (OH_AVCodec * codec, OH_AVFormat * format ...@@ -118,7 +118,7 @@ OH_AVErrCode OH_VideoEncoder_Configure (OH_AVCodec * codec, OH_AVFormat * format
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoEncoder_CreateByMime() ### OH_VideoEncoder_CreateByMime()
...@@ -186,7 +186,7 @@ OH_AVErrCode OH_VideoEncoder_Destroy (OH_AVCodec * codec) ...@@ -186,7 +186,7 @@ OH_AVErrCode OH_VideoEncoder_Destroy (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoEncoder_Flush() ### OH_VideoEncoder_Flush()
...@@ -210,7 +210,7 @@ OH_AVErrCode OH_VideoEncoder_Flush (OH_AVCodec * codec) ...@@ -210,7 +210,7 @@ OH_AVErrCode OH_VideoEncoder_Flush (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoEncoder_FreeOutputData() ### OH_VideoEncoder_FreeOutputData()
...@@ -235,7 +235,7 @@ OH_AVErrCode OH_VideoEncoder_FreeOutputData (OH_AVCodec * codec, uint32_t index ...@@ -235,7 +235,7 @@ OH_AVErrCode OH_VideoEncoder_FreeOutputData (OH_AVCodec * codec, uint32_t index
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoEncoder_GetOutputDescription() ### OH_VideoEncoder_GetOutputDescription()
...@@ -282,7 +282,7 @@ OH_AVErrCode OH_VideoEncoder_GetSurface (OH_AVCodec * codec, OHNativeWindow ** w ...@@ -282,7 +282,7 @@ OH_AVErrCode OH_VideoEncoder_GetSurface (OH_AVCodec * codec, OHNativeWindow ** w
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoEncoder_NotifyEndOfStream() ### OH_VideoEncoder_NotifyEndOfStream()
...@@ -306,7 +306,7 @@ OH_AVErrCode OH_VideoEncoder_NotifyEndOfStream (OH_AVCodec * codec) ...@@ -306,7 +306,7 @@ OH_AVErrCode OH_VideoEncoder_NotifyEndOfStream (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoEncoder_Prepare() ### OH_VideoEncoder_Prepare()
...@@ -330,7 +330,7 @@ OH_AVErrCode OH_VideoEncoder_Prepare (OH_AVCodec * codec) ...@@ -330,7 +330,7 @@ OH_AVErrCode OH_VideoEncoder_Prepare (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoEncoder_Reset() ### OH_VideoEncoder_Reset()
...@@ -354,7 +354,7 @@ OH_AVErrCode OH_VideoEncoder_Reset (OH_AVCodec * codec) ...@@ -354,7 +354,7 @@ OH_AVErrCode OH_VideoEncoder_Reset (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoEncoder_SetCallback() ### OH_VideoEncoder_SetCallback()
...@@ -380,7 +380,7 @@ OH_AVErrCode OH_VideoEncoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCal ...@@ -380,7 +380,7 @@ OH_AVErrCode OH_VideoEncoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCal
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoEncoder_SetParameter() ### OH_VideoEncoder_SetParameter()
...@@ -405,7 +405,7 @@ OH_AVErrCode OH_VideoEncoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for ...@@ -405,7 +405,7 @@ OH_AVErrCode OH_VideoEncoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoEncoder_Start() ### OH_VideoEncoder_Start()
...@@ -429,7 +429,7 @@ OH_AVErrCode OH_VideoEncoder_Start (OH_AVCodec * codec) ...@@ -429,7 +429,7 @@ OH_AVErrCode OH_VideoEncoder_Start (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
### OH_VideoEncoder_Stop() ### OH_VideoEncoder_Stop()
...@@ -453,4 +453,4 @@ OH_AVErrCode OH_VideoEncoder_Stop (OH_AVCodec * codec) ...@@ -453,4 +453,4 @@ OH_AVErrCode OH_VideoEncoder_Stop (OH_AVCodec * codec)
执行成功返回AV_ERR_OK 执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#ohaverrcode) 执行失败返回具体错误码,参考[OH_AVErrCode](_core.md#oh_averrcode)
...@@ -23,15 +23,15 @@ ...@@ -23,15 +23,15 @@
| -------- | -------- | | -------- | -------- |
| [OH_AudioDecoder_CreateByMime](_audio_decoder.md#oh_audiodecoder_createbymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。 | | [OH_AudioDecoder_CreateByMime](_audio_decoder.md#oh_audiodecoder_createbymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。 |
| [OH_AudioDecoder_CreateByName](_audio_decoder.md#oh_audiodecoder_createbyname) (const char \*name) | OH_AVCodec \*<br/>通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 | | [OH_AudioDecoder_CreateByName](_audio_decoder.md#oh_audiodecoder_createbyname) (const char \*name) | OH_AVCodec \*<br/>通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 |
| [OH_AudioDecoder_Destroy](_audio_decoder.md#oh_audiodecoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部资源,并销毁解码器实例 | | [OH_AudioDecoder_Destroy](_audio_decoder.md#oh_audiodecoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>清空解码器内部资源,并销毁解码器实例 |
| [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) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应音频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 | | [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) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>设置异步回调函数,使得你的应用能够响应音频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
| [OH_AudioDecoder_Configure](_audio_decoder.md#oh_audiodecoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置音频解码器,典型地,需要配置被解码音频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 | | [OH_AudioDecoder_Configure](_audio_decoder.md#oh_audiodecoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>配置音频解码器,典型地,需要配置被解码音频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 |
| [OH_AudioDecoder_Prepare](_audio_decoder.md#oh_audiodecoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备解码器内部资源,调用该接口前必须先调用Configure接口。 | | [OH_AudioDecoder_Prepare](_audio_decoder.md#oh_audiodecoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>准备解码器内部资源,调用该接口前必须先调用Configure接口。 |
| [OH_AudioDecoder_Start](_audio_decoder.md#oh_audiodecoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 | | [OH_AudioDecoder_Start](_audio_decoder.md#oh_audiodecoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 |
| [OH_AudioDecoder_Stop](_audio_decoder.md#oh_audiodecoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 | | [OH_AudioDecoder_Stop](_audio_decoder.md#oh_audiodecoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 |
| [OH_AudioDecoder_Flush](_audio_decoder.md#oh_audiodecoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | | [OH_AudioDecoder_Flush](_audio_decoder.md#oh_audiodecoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
| [OH_AudioDecoder_Reset](_audio_decoder.md#oh_audiodecoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 | | [OH_AudioDecoder_Reset](_audio_decoder.md#oh_audiodecoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 |
| [OH_AudioDecoder_GetOutputDescription](_audio_decoder.md#oh_audiodecoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*<br/>获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 | | [OH_AudioDecoder_GetOutputDescription](_audio_decoder.md#oh_audiodecoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*<br/>获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 |
| [OH_AudioDecoder_SetParameter](_audio_decoder.md#oh_audiodecoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 | | [OH_AudioDecoder_SetParameter](_audio_decoder.md#oh_audiodecoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 |
| [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) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将填充好数据的输入Buffer提交给音频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程。 | | [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) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>将填充好数据的输入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) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器。 | | [OH_AudioDecoder_FreeOutputData](_audio_decoder.md#oh_audiodecoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>将处理结束的输出Buffer交还给解码器。 |
...@@ -23,15 +23,15 @@ ...@@ -23,15 +23,15 @@
| -------- | -------- | | -------- | -------- |
| [OH_AudioEncoder_CreateByMime](_audio_encoder.md#oh_audioencoder_createbymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。 | | [OH_AudioEncoder_CreateByMime](_audio_encoder.md#oh_audioencoder_createbymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。 |
| [OH_AudioEncoder_CreateByName](_audio_encoder.md#oh_audioencoder_createbyname) (const char \*name) | OH_AVCodec \*<br/>通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 | | [OH_AudioEncoder_CreateByName](_audio_encoder.md#oh_audioencoder_createbyname) (const char \*name) | OH_AVCodec \*<br/>通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 |
| [OH_AudioEncoder_Destroy](_audio_encoder.md#oh_audioencoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部资源,并销毁编码器实例。 | | [OH_AudioEncoder_Destroy](_audio_encoder.md#oh_audioencoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>清空编码器内部资源,并销毁编码器实例。 |
| [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) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应音频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 | | [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) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>设置异步回调函数,使得你的应用能够响应音频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
| [OH_AudioEncoder_Configure](_audio_encoder.md#oh_audioencoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置音频编码器,典型地,需要配置被编码音频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 | | [OH_AudioEncoder_Configure](_audio_encoder.md#oh_audioencoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>配置音频编码器,典型地,需要配置被编码音频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 |
| [OH_AudioEncoder_Prepare](_audio_encoder.md#oh_audioencoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备编码器内部资源,调用该接口前必须先调用Configure接口。 | | [OH_AudioEncoder_Prepare](_audio_encoder.md#oh_audioencoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>准备编码器内部资源,调用该接口前必须先调用Configure接口。 |
| [OH_AudioEncoder_Start](_audio_encoder.md#oh_audioencoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 | | [OH_AudioEncoder_Start](_audio_encoder.md#oh_audioencoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 |
| [OH_AudioEncoder_Stop](_audio_encoder.md#oh_audioencoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止编码器。在停止后可通过Start重新进入Started状态。 | | [OH_AudioEncoder_Stop](_audio_encoder.md#oh_audioencoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>停止编码器。在停止后可通过Start重新进入Started状态。 |
| [OH_AudioEncoder_Flush](_audio_encoder.md#oh_audioencoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | | [OH_AudioEncoder_Flush](_audio_encoder.md#oh_audioencoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
| [OH_AudioEncoder_Reset](_audio_encoder.md#oh_audioencoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 | | [OH_AudioEncoder_Reset](_audio_encoder.md#oh_audioencoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 |
| [OH_AudioEncoder_GetOutputDescription](_audio_encoder.md#oh_audioencoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*<br/>获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 | | [OH_AudioEncoder_GetOutputDescription](_audio_encoder.md#oh_audioencoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*<br/>获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 |
| [OH_AudioEncoder_SetParameter](_audio_encoder.md#oh_audioencoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 | | [OH_AudioEncoder_SetParameter](_audio_encoder.md#oh_audioencoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 |
| [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) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将填充好数据的输入Buffer提交给音频编码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给编码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。 | | [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) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>将填充好数据的输入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) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给编码器。 | | [OH_AudioEncoder_FreeOutputData](_audio_encoder.md#oh_audioencoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>将处理结束的输出Buffer交还给编码器。 |
...@@ -21,19 +21,19 @@ ...@@ -21,19 +21,19 @@
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_VideoDecoder_CreateByMime](_video_decoder.md#ohvideodecodercreatebymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个视频解码器实例,大多数情况下推荐使用该接口。 | | [OH_VideoDecoder_CreateByMime](_video_decoder.md#oh_videodecoder_createbymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个视频解码器实例,大多数情况下推荐使用该接口。 |
| [OH_VideoDecoder_CreateByName](_video_decoder.md#ohvideodecodercreatebyname) (const char \*name) | OH_AVCodec \*<br/>通过视频解码器名称创建一个视频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 | | [OH_VideoDecoder_CreateByName](_video_decoder.md#oh_videodecoder_createbyname) (const char \*name) | OH_AVCodec \*<br/>通过视频解码器名称创建一个视频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 |
| [OH_VideoDecoder_Destroy](_video_decoder.md#ohvideodecoderdestroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部资源,并销毁解码器实例。 | | [OH_VideoDecoder_Destroy](_video_decoder.md#oh_videodecoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>清空解码器内部资源,并销毁解码器实例。 |
| [OH_VideoDecoder_SetCallback](_video_decoder.md#ohvideodecodersetcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应视频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 | | [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) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>设置异步回调函数,使得你的应用能够响应视频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoDecoder_SetSurface](_video_decoder.md#ohvideodecodersetsurface) (OH_AVCodec \*codec, OHNativeWindow \*window) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>指定输出Surface,以提供视频解码输出,该接口被调用必须是在Prepare被调用前。 | | [OH_VideoDecoder_SetSurface](_video_decoder.md#oh_videodecoder_setsurface) (OH_AVCodec \*codec, OHNativeWindow \*window) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>指定输出Surface,以提供视频解码输出,该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoDecoder_Configure](_video_decoder.md#ohvideodecoderconfigure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置视频解码器,典型地,需要配置被解码视频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 | | [OH_VideoDecoder_Configure](_video_decoder.md#oh_videodecoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>配置视频解码器,典型地,需要配置被解码视频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoDecoder_Prepare](_video_decoder.md#ohvideodecoderprepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备解码器内部资源,调用该接口前必须先调用Configure接口。 | | [OH_VideoDecoder_Prepare](_video_decoder.md#oh_videodecoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>准备解码器内部资源,调用该接口前必须先调用Configure接口。 |
| [OH_VideoDecoder_Start](_video_decoder.md#ohvideodecoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 | | [OH_VideoDecoder_Start](_video_decoder.md#oh_videodecoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 |
| [OH_VideoDecoder_Stop](_video_decoder.md#ohvideodecoderstop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 | | [OH_VideoDecoder_Stop](_video_decoder.md#oh_videodecoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 |
| [OH_VideoDecoder_Flush](_video_decoder.md#ohvideodecoderflush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | | [OH_VideoDecoder_Flush](_video_decoder.md#oh_videodecoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
| [OH_VideoDecoder_Reset](_video_decoder.md#ohvideodecoderreset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 | | [OH_VideoDecoder_Reset](_video_decoder.md#oh_videodecoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 |
| [OH_VideoDecoder_GetOutputDescription](_video_decoder.md#ohvideodecodergetoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*<br/>获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 | | [OH_VideoDecoder_GetOutputDescription](_video_decoder.md#oh_videodecoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*<br/>获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 |
| [OH_VideoDecoder_SetParameter](_video_decoder.md#ohvideodecodersetparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 | | [OH_VideoDecoder_SetParameter](_video_decoder.md#oh_videodecoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 |
| [OH_VideoDecoder_PushInputData](_video_decoder.md#ohvideodecoderpushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将填充好数据的输入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_PushInputData](_video_decoder.md#oh_videodecoder_pushinputdata) (OH_AVCodec \*codec, uint32_t index, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) attr) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>将填充好数据的输入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#ohvideodecoderrenderoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器,并通知解码器完成将该Buffer内包含的解码后的数据在输出Surface上渲染。 如果先前未配置输出Surface,调用该接口仅仅将指定索引对应的输出Buffer交还给解码器。 | | [OH_VideoDecoder_RenderOutputData](_video_decoder.md#oh_videodecoder_renderoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>将处理结束的输出Buffer交还给解码器,并通知解码器完成将该Buffer内包含的解码后的数据在输出Surface上渲染。 如果先前未配置输出Surface,调用该接口仅仅将指定索引对应的输出Buffer交还给解码器。 |
| [OH_VideoDecoder_FreeOutputData](_video_decoder.md#ohvideodecoderfreeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器。 | | [OH_VideoDecoder_FreeOutputData](_video_decoder.md#oh_videodecoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>将处理结束的输出Buffer交还给解码器。 |
...@@ -21,32 +21,32 @@ ...@@ -21,32 +21,32 @@
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_VideoEncodeBitrateMode](_video_encoder.md#ohvideoencodebitratemode) | typedef enum [OH_VideoEncodeBitrateMode](_video_encoder.md#ohvideoencodebitratemode)<br/>视频编码的比特率模式。 | | [OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode) | typedef enum [OH_VideoEncodeBitrateMode](_video_encoder.md#oh_videoencodebitratemode)<br/>视频编码的比特率模式。 |
### 枚举 ### 枚举
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_VideoEncodeBitrateMode](_video_encoder.md#ohvideoencodebitratemode) { **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#ohvideoencodercreatebymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个视频编码器实例,大多数情况下推荐使用该接口。 | | [OH_VideoEncoder_CreateByMime](_video_encoder.md#oh_videoencoder_createbymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个视频编码器实例,大多数情况下推荐使用该接口。 |
| [OH_VideoEncoder_CreateByName](_video_encoder.md#ohvideoencodercreatebyname) (const char \*name) | OH_AVCodec \*<br/>通过视频编码器名称创建一个视频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 | | [OH_VideoEncoder_CreateByName](_video_encoder.md#oh_videoencoder_createbyname) (const char \*name) | OH_AVCodec \*<br/>通过视频编码器名称创建一个视频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 |
| [OH_VideoEncoder_Destroy](_video_encoder.md#ohvideoencoderdestroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部资源,并销毁编码器实例。 | | [OH_VideoEncoder_Destroy](_video_encoder.md#oh_videoencoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>清空编码器内部资源,并销毁编码器实例。 |
| [OH_VideoEncoder_SetCallback](_video_encoder.md#ohvideoencodersetcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应视频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 | | [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) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>设置异步回调函数,使得你的应用能够响应视频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoEncoder_Configure](_video_encoder.md#ohvideoencoderconfigure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置视频编码器,典型地,需要配置被编码视频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 | | [OH_VideoEncoder_Configure](_video_encoder.md#oh_videoencoder_configure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>配置视频编码器,典型地,需要配置被编码视频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoEncoder_Prepare](_video_encoder.md#ohvideoencoderprepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备编码器内部资源,调用该接口前必须先调用Configure接口。 | | [OH_VideoEncoder_Prepare](_video_encoder.md#oh_videoencoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>准备编码器内部资源,调用该接口前必须先调用Configure接口。 |
| [OH_VideoEncoder_Start](_video_encoder.md#ohvideoencoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 | | [OH_VideoEncoder_Start](_video_encoder.md#oh_videoencoder_start) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。 |
| [OH_VideoEncoder_Stop](_video_encoder.md#ohvideoencoderstop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止编码器。在停止后可通过Start重新进入Started状态。 | | [OH_VideoEncoder_Stop](_video_encoder.md#oh_videoencoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>停止编码器。在停止后可通过Start重新进入Started状态。 |
| [OH_VideoEncoder_Flush](_video_encoder.md#ohvideoencoderflush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | | [OH_VideoEncoder_Flush](_video_encoder.md#oh_videoencoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
| [OH_VideoEncoder_Reset](_video_encoder.md#ohvideoencoderreset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 | | [OH_VideoEncoder_Reset](_video_encoder.md#oh_videoencoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 |
| [OH_VideoEncoder_GetOutputDescription](_video_encoder.md#ohvideoencodergetoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*<br/>获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 | | [OH_VideoEncoder_GetOutputDescription](_video_encoder.md#oh_videoencoder_getoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*<br/>获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 |
| [OH_VideoEncoder_SetParameter](_video_encoder.md#ohvideoencodersetparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 | | [OH_VideoEncoder_SetParameter](_video_encoder.md#oh_videoencoder_setparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 |
| [OH_VideoEncoder_GetSurface](_video_encoder.md#ohvideoencodergetsurface) (OH_AVCodec \*codec, OHNativeWindow \*\*window) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>从视频编码器获取输入Surface, 该接口被调用必须是在Prepare被调用前。 | | [OH_VideoEncoder_GetSurface](_video_encoder.md#oh_videoencoder_getsurface) (OH_AVCodec \*codec, OHNativeWindow \*\*window) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>从视频编码器获取输入Surface, 该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoEncoder_FreeOutputData](_video_encoder.md#oh_videoencoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给编码器。 | | [OH_VideoEncoder_FreeOutputData](_video_encoder.md#oh_videoencoder_freeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>将处理结束的输出Buffer交还给编码器。 |
| [OH_VideoEncoder_NotifyEndOfStream](_video_encoder.md#ohvideoencodernotifyendofstream) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>通知视频编码器输入码流已结束。surface模式推荐使用该接口通知编码器码流结束。 | | [OH_VideoEncoder_NotifyEndOfStream](_video_encoder.md#oh_videoencoder_notifyendofstream) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#oh_averrcode)<br/>通知视频编码器输入码流已结束。surface模式推荐使用该接口通知编码器码流结束。 |
...@@ -21,11 +21,11 @@ ...@@ -21,11 +21,11 @@
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AVErrCode](_core.md#ohaverrcode) | typedef enum [OH_AVErrCode](_core.md#ohaverrcode)<br/>音视频错误码。 | | [OH_AVErrCode](_core.md#oh_averrcode) | typedef enum [OH_AVErrCode](_core.md#oh_averrcode)<br/>音视频错误码。 |
### 枚举 ### 枚举
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AVErrCode](_core.md#ohaverrcode) {<br/> **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<br/>} | 音视频错误码。 | | [OH_AVErrCode](_core.md#oh_averrcode) {<br/> **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<br/>} | 音视频错误码。 |
...@@ -22,33 +22,33 @@ ...@@ -22,33 +22,33 @@
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| **OH_AVFormat** | typedef struct OH_AVFormat | | **OH_AVFormat** | typedef struct OH_AVFormat |
| [OH_AVPixelFormat](_core.md#ohavpixelformat) | typedef enum [OH_AVPixelFormat](_core.md#ohavpixelformat)<br/>AVPixel 格式的枚举。 | | [OH_AVPixelFormat](_core.md#oh_avpixelformat) | typedef enum [OH_AVPixelFormat](_core.md#oh_avpixelformat)<br/>AVPixel 格式的枚举。 |
### 枚举 ### 枚举
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AVPixelFormat](_core.md#ohavpixelformat) {<br/> **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<br/>} | AVPixel 格式的枚举。 | | [OH_AVPixelFormat](_core.md#oh_avpixelformat) {<br/> **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<br/>} | AVPixel 格式的枚举。 |
### 函数 ### 函数
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AVFormat_Create](_core.md#ohavformatcreate) (void) | struct OH_AVFormat \*<br/>创建一个OH_AVFormat句柄指针,用以读写数据。 | | [OH_AVFormat_Create](_core.md#oh_avformat_create) (void) | struct OH_AVFormat \*<br/>创建一个OH_AVFormat句柄指针,用以读写数据。 |
| [OH_AVFormat_Destroy](_core.md#ohavformatdestroy) (struct OH_AVFormat \*format) | void<br/>销毁指定OH_AVFormat句柄资源。 | | [OH_AVFormat_Destroy](_core.md#oh_avformat_destroy) (struct OH_AVFormat \*format) | void<br/>销毁指定OH_AVFormat句柄资源。 |
| [OH_AVFormat_Copy](_core.md#ohavformatcopy) (struct OH_AVFormat \*to, struct OH_AVFormat \*from) | bool<br/>拷贝OH_AVFormat句柄资源. | | [OH_AVFormat_Copy](_core.md#oh_avformat_copy) (struct OH_AVFormat \*to, struct OH_AVFormat \*from) | bool<br/>拷贝OH_AVFormat句柄资源. |
| [OH_AVFormat_SetIntValue](_core.md#ohavformatsetintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t value) | bool<br/>向OH_AVFormat写入Int数据. | | [OH_AVFormat_SetIntValue](_core.md#oh_avformat_setintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t value) | bool<br/>向OH_AVFormat写入Int数据. |
| [OH_AVFormat_SetLongValue](_core.md#ohavformatsetlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t value) | bool<br/>向OH_AVFormat写入Long数据。 | | [OH_AVFormat_SetLongValue](_core.md#oh_avformat_setlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t value) | bool<br/>向OH_AVFormat写入Long数据。 |
| [OH_AVFormat_SetFloatValue](_core.md#ohavformatsetfloatvalue) (struct OH_AVFormat \*format, const char \*key, float value) | bool<br/>向OH_AVFormat写入Float数据。 | | [OH_AVFormat_SetFloatValue](_core.md#oh_avformat_setfloatvalue) (struct OH_AVFormat \*format, const char \*key, float value) | bool<br/>向OH_AVFormat写入Float数据。 |
| [OH_AVFormat_SetDoubleValue](_core.md#ohavformatsetdoublevalue) (struct OH_AVFormat \*format, const char \*key, double value) | bool<br/>向OH_AVFormat写入Double数据。 | | [OH_AVFormat_SetDoubleValue](_core.md#oh_avformat_setdoublevalue) (struct OH_AVFormat \*format, const char \*key, double value) | bool<br/>向OH_AVFormat写入Double数据。 |
| [OH_AVFormat_SetStringValue](_core.md#ohavformatsetstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*value) | bool<br/>向OH_AVFormat写入String数据。 | | [OH_AVFormat_SetStringValue](_core.md#oh_avformat_setstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*value) | bool<br/>向OH_AVFormat写入String数据。 |
| [OH_AVFormat_SetBuffer](_core.md#ohavformatsetbuffer) (struct OH_AVFormat \*format, const char \*key, const uint8_t \*addr, size_t size) | bool<br/>向OH_AVFormat写入一块指定长度的数据。 | | [OH_AVFormat_SetBuffer](_core.md#oh_avformat_setbuffer) (struct OH_AVFormat \*format, const char \*key, const uint8_t \*addr, size_t size) | bool<br/>向OH_AVFormat写入一块指定长度的数据。 |
| [OH_AVFormat_GetIntValue](_core.md#ohavformatgetintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t \*out) | bool<br/>从OH_AVFormat读取Int数据。 | | [OH_AVFormat_GetIntValue](_core.md#oh_avformat_getintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t \*out) | bool<br/>从OH_AVFormat读取Int数据。 |
| [OH_AVFormat_GetLongValue](_core.md#ohavformatgetlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t \*out) | bool<br/>从OH_AVFormat读取Long数据。 | | [OH_AVFormat_GetLongValue](_core.md#oh_avformat_getlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t \*out) | bool<br/>从OH_AVFormat读取Long数据。 |
| [OH_AVFormat_GetFloatValue](_core.md#ohavformatgetfloatvalue) (struct OH_AVFormat \*format, const char \*key, float \*out) | bool<br/>从OH_AVFormat读取Float数据。 | | [OH_AVFormat_GetFloatValue](_core.md#oh_avformat_getfloatvalue) (struct OH_AVFormat \*format, const char \*key, float \*out) | bool<br/>从OH_AVFormat读取Float数据。 |
| [OH_AVFormat_GetDoubleValue](_core.md#ohavformatgetdoublevalue) (struct OH_AVFormat \*format, const char \*key, double \*out) | bool<br/>从OH_AVFormat读取Double数据。 | | [OH_AVFormat_GetDoubleValue](_core.md#oh_avformat_getdoublevalue) (struct OH_AVFormat \*format, const char \*key, double \*out) | bool<br/>从OH_AVFormat读取Double数据。 |
| [OH_AVFormat_GetStringValue](_core.md#ohavformatgetstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*\*out) | bool<br/>从OH_AVFormat读取Double数据。 | | [OH_AVFormat_GetStringValue](_core.md#oh_avformat_getstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*\*out) | bool<br/>从OH_AVFormat读取Double数据。 |
| [OH_AVFormat_GetBuffer](_core.md#ohavformatgetbuffer) (struct OH_AVFormat \*format, const char \*key, uint8_t \*\*addr, size_t \*size) | bool<br/>从OH_AVFormat读取一块指定长度的数据。 | | [OH_AVFormat_GetBuffer](_core.md#oh_avformat_getbuffer) (struct OH_AVFormat \*format, const char \*key, uint8_t \*\*addr, size_t \*size) | bool<br/>从OH_AVFormat读取一块指定长度的数据。 |
| [OH_AVFormat_DumpInfo](_core.md#ohavformatdumpinfo) (struct OH_AVFormat \*format) | const char \*<br/>以字符串的形式输出OH_AVFormat所包含的信息。 | | [OH_AVFormat_DumpInfo](_core.md#oh_avformat_dumpinfo) (struct OH_AVFormat \*format) | const char \*<br/>以字符串的形式输出OH_AVFormat所包含的信息。 |
...@@ -28,5 +28,5 @@ ...@@ -28,5 +28,5 @@
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AVMemory_GetAddr](_core.md#ohavmemorygetaddr) (struct OH_AVMemory \*mem) | uint8_t \*<br/>获取入参的内存虚拟地址。 | | [OH_AVMemory_GetAddr](_core.md#oh_avmemory_getaddr) (struct OH_AVMemory \*mem) | uint8_t \*<br/>获取入参的内存虚拟地址。 |
| [OH_AVMemory_GetSize](_core.md#ohavmemorygetsize) (struct OH_AVMemory \*mem) | int32_t<br/>获取入参的内存长度。 | | [OH_AVMemory_GetSize](_core.md#oh_avmemory_getsize) (struct OH_AVMemory \*mem) | int32_t<br/>获取入参的内存长度。 |
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册