提交 ed371925 编写于 作者: Z zengyawen

update native docs

Signed-off-by: Nzengyawen <zengyawen1@huawei.com>
上级 21bb71f8
...@@ -26,20 +26,20 @@ AudioDecoder模块提供用于音频解码功能的函数。 ...@@ -26,20 +26,20 @@ AudioDecoder模块提供用于音频解码功能的函数。
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AudioDecoder_CreateByMime](#ohaudiodecodercreatebymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。 | | [OH_AudioDecoder_CreateByMime](#oh_audiodecoder_createbymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。 |
| [OH_AudioDecoder_CreateByName](#ohaudiodecodercreatebyname) (const char \*name) | OH_AVCodec \*<br/>通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 | | [OH_AudioDecoder_CreateByName](#oh_audiodecoder_createbyname) (const char \*name) | OH_AVCodec \*<br/>通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 |
| [OH_AudioDecoder_Destroy](#ohaudiodecoderdestroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部资源,并销毁解码器实例 | | [OH_AudioDecoder_Destroy](#oh_audiodecoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部资源,并销毁解码器实例 |
| [OH_AudioDecoder_SetCallback](#ohaudiodecodersetcallback) (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#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应音频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
| [OH_AudioDecoder_Configure](#ohaudiodecoderconfigure) (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#ohaverrcode)<br/>配置音频解码器,典型地,需要配置被解码音频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 |
| [OH_AudioDecoder_Prepare](#ohaudiodecoderprepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备解码器内部资源,调用该接口前必须先调用Configure接口。 | | [OH_AudioDecoder_Prepare](#oh_audiodecoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备解码器内部资源,调用该接口前必须先调用Configure接口。 |
| [OH_AudioDecoder_Start](#ohaudiodecoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。 | | [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_Stop](#ohaudiodecoderstop) (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#ohaverrcode)<br/>停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 |
| [OH_AudioDecoder_Flush](#ohaudiodecoderflush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | | [OH_AudioDecoder_Flush](#oh_audiodecoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
| [OH_AudioDecoder_Reset](#ohaudiodecoderreset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 | | [OH_AudioDecoder_Reset](#oh_audiodecoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 |
| [OH_AudioDecoder_GetOutputDescription](#ohaudiodecodergetoutputdescription) (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](#ohaudiodecodersetparameter) (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#ohaverrcode)<br/>向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 |
| [OH_AudioDecoder_PushInputData](#ohaudiodecoderpushinputdata) (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#ohavcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata) 回调报告相同索引的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#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_FreeOutputData](#ohaudiodecoderfreeoutputdata) (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#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器。 |
## 函数说明 ## 函数说明
...@@ -85,7 +85,7 @@ OH_AVCodec* OH_AudioDecoder_CreateByMime (const char * mime) ...@@ -85,7 +85,7 @@ OH_AVCodec* OH_AudioDecoder_CreateByMime (const char * mime)
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| mime | mime类型描述字符串,参考[OH_AVCODEC_MIMETYPE_AUDIO_AAC](_codec_base.md#ohavcodecmimetypeaudioaac) | | mime | mime类型描述字符串,参考[OH_AVCODEC_MIMETYPE_AUDIO_AAC](_codec_base.md#oh_avcodec_mimetype_audio_aac) |
**返回:** **返回:**
...@@ -240,7 +240,7 @@ OH_AVErrCode OH_AudioDecoder_Prepare (OH_AVCodec * codec) ...@@ -240,7 +240,7 @@ OH_AVErrCode OH_AudioDecoder_Prepare (OH_AVCodec * codec)
OH_AVErrCode OH_AudioDecoder_PushInputData (OH_AVCodec * codec, uint32_t index, OH_AVCodecBufferAttr attr ) OH_AVErrCode OH_AudioDecoder_PushInputData (OH_AVCodec * codec, uint32_t index, OH_AVCodecBufferAttr attr )
``` ```
**描述:** **描述:**
将填充好数据的输入Buffer提交给音频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程。 将填充好数据的输入Buffer提交给音频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程。
@syscap SystemCapability.Multimedia.Media.AudioDecoder @syscap SystemCapability.Multimedia.Media.AudioDecoder
...@@ -341,7 +341,7 @@ OH_AVErrCode OH_AudioDecoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for ...@@ -341,7 +341,7 @@ OH_AVErrCode OH_AudioDecoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for
OH_AVErrCode OH_AudioDecoder_Start (OH_AVCodec * codec) OH_AVErrCode OH_AudioDecoder_Start (OH_AVCodec * codec)
``` ```
**描述:** **描述:**
启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。 启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。
@syscap SystemCapability.Multimedia.Media.AudioDecoder @syscap SystemCapability.Multimedia.Media.AudioDecoder
......
...@@ -26,20 +26,20 @@ AudioEncoder模块提供用于音频编码功能的函数。 ...@@ -26,20 +26,20 @@ AudioEncoder模块提供用于音频编码功能的函数。
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AudioEncoder_CreateByMime](#ohaudioencodercreatebymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。 | | [OH_AudioEncoder_CreateByMime](#oh_audioencoder_createbymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。 |
| [OH_AudioEncoder_CreateByName](#ohaudioencodercreatebyname) (const char \*name) | OH_AVCodec \*<br/>通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 | | [OH_AudioEncoder_CreateByName](#oh_audioencoder_createbyname) (const char \*name) | OH_AVCodec \*<br/>通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 |
| [OH_AudioEncoder_Destroy](#ohaudioencoderdestroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部资源,并销毁编码器实例。 | | [OH_AudioEncoder_Destroy](#oh_audioencoder_destroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部资源,并销毁编码器实例。 |
| [OH_AudioEncoder_SetCallback](#ohaudioencodersetcallback) (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#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应音频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
| [OH_AudioEncoder_Configure](#ohaudioencoderconfigure) (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#ohaverrcode)<br/>配置音频编码器,典型地,需要配置被编码音频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 |
| [OH_AudioEncoder_Prepare](#ohaudioencoderprepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备编码器内部资源,调用该接口前必须先调用Configure接口。 | | [OH_AudioEncoder_Prepare](#oh_audioencoder_prepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备编码器内部资源,调用该接口前必须先调用Configure接口。 |
| [OH_AudioEncoder_Start](#ohaudioencoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。 | | [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_Stop](#ohaudioencoderstop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止编码器。在停止后可通过Start重新进入Started状态。 | | [OH_AudioEncoder_Stop](#oh_audioencoder_stop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止编码器。在停止后可通过Start重新进入Started状态。 |
| [OH_AudioEncoder_Flush](#ohaudioencoderflush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | | [OH_AudioEncoder_Flush](#oh_audioencoder_flush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
| [OH_AudioEncoder_Reset](#ohaudioencoderreset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 | | [OH_AudioEncoder_Reset](#oh_audioencoder_reset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 |
| [OH_AudioEncoder_GetOutputDescription](#ohaudioencodergetoutputdescription) (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](#ohaudioencodersetparameter) (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#ohaverrcode)<br/>向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 |
| [OH_AudioEncoder_PushInputData](#ohaudioencoderpushinputdata) (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#ohavcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给编码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata) 回调报告相同索引的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#ohaverrcode)<br/>将填充好数据的输入Buffer提交给音频编码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给编码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。 |
| [OH_AudioEncoder_FreeOutputData](#ohaudioencoderfreeoutputdata) (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#ohaverrcode)<br/>将处理结束的输出Buffer交还给编码器。 |
## 函数说明 ## 函数说明
...@@ -85,7 +85,7 @@ OH_AVCodec* OH_AudioEncoder_CreateByMime (const char * mime) ...@@ -85,7 +85,7 @@ OH_AVCodec* OH_AudioEncoder_CreateByMime (const char * mime)
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| mime | mime类型描述字符串,参考[OH_AVCODEC_MIMETYPE_AUDIO_AAC](_codec_base.md#ohavcodecmimetypeaudioaac) | | mime | mime类型描述字符串,参考[OH_AVCODEC_MIMETYPE_AUDIO_AAC](_codec_base.md#oh_avcodec_mimetype_audio_aac) |
**返回:** **返回:**
...@@ -240,7 +240,7 @@ OH_AVErrCode OH_AudioEncoder_Prepare (OH_AVCodec * codec) ...@@ -240,7 +240,7 @@ OH_AVErrCode OH_AudioEncoder_Prepare (OH_AVCodec * codec)
OH_AVErrCode OH_AudioEncoder_PushInputData (OH_AVCodec * codec, uint32_t index, OH_AVCodecBufferAttr attr ) OH_AVErrCode OH_AudioEncoder_PushInputData (OH_AVCodec * codec, uint32_t index, OH_AVCodecBufferAttr attr )
``` ```
**描述:** **描述:**
将填充好数据的输入Buffer提交给音频编码器。[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给编码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。 将填充好数据的输入Buffer提交给音频编码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给编码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。
@syscap SystemCapability.Multimedia.Media.AudioEncoder @syscap SystemCapability.Multimedia.Media.AudioEncoder
...@@ -341,7 +341,7 @@ OH_AVErrCode OH_AudioEncoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for ...@@ -341,7 +341,7 @@ OH_AVErrCode OH_AudioEncoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for
OH_AVErrCode OH_AudioEncoder_Start (OH_AVCodec * codec) OH_AVErrCode OH_AudioEncoder_Start (OH_AVCodec * codec)
``` ```
**描述:** **描述:**
启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。 启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。
@syscap SystemCapability.Multimedia.Media.AudioEncoder @syscap SystemCapability.Multimedia.Media.AudioEncoder
......
...@@ -36,26 +36,26 @@ CodecBase模块提供运行音视频编解码通用的结构体、字符常量 ...@@ -36,26 +36,26 @@ CodecBase模块提供运行音视频编解码通用的结构体、字符常量
| -------- | -------- | | -------- | -------- |
| **OHNativeWindow** | typedef struct NativeWindow | | **OHNativeWindow** | typedef struct NativeWindow |
| **OH_AVCodec** | typedef struct OH_AVCodec | | **OH_AVCodec** | typedef struct OH_AVCodec |
| [OH_AVCodecBufferFlags](#ohavcodecbufferflags) | typedef enum [OH_AVCodecBufferFlags](#ohavcodecbufferflags)<br/>枚举OH_AVCodec的Buffer标记的类别。 | | [OH_AVCodecBufferFlags](#oh_avcodecbufferflags) | typedef enum [OH_AVCodecBufferFlags](#oh_avcodecbufferflags)<br/>枚举OH_AVCodec的Buffer标记的类别。 |
| [OH_AVCodecBufferAttr](#ohavcodecbufferattr) | typedef struct [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)<br/>定义OH_AVCodec的Buffer描述信息。 | | [OH_AVCodecBufferAttr](#oh_avcodecbufferattr) | typedef struct [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)<br/>定义OH_AVCodec的Buffer描述信息。 |
| [OH_AVCodecOnError](#ohavcodeconerror)) (OH_AVCodec \*codec, int32_t errorCode, void \*userData) | typedef void(\*<br/>当OH_AVCodec实例运行发生错误时,该函数指针会被调用以报告具体错误信息。 | | [OH_AVCodecOnError](#oh_avcodeconerror)) (OH_AVCodec \*codec, int32_t errorCode, void \*userData) | typedef void(\*<br/>当OH_AVCodec实例运行发生错误时,该函数指针会被调用以报告具体错误信息。 |
| [OH_AVCodecOnStreamChanged](#ohavcodeconstreamchanged)) (OH_AVCodec \*codec, OH_AVFormat \*format, void \*userData) | typedef void(\*<br/>当输出流发生变化时,该函数指针会被调用以报告新的流描述信息。 需要注意的时,OH_AVFormat指针的生命周期仅维持在该函数指针被调用时上有效,禁止在调用结束后继续访问。 | | [OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged)) (OH_AVCodec \*codec, OH_AVFormat \*format, void \*userData) | typedef void(\*<br/>当输出流发生变化时,该函数指针会被调用以报告新的流描述信息。 需要注意的时,OH_AVFormat指针的生命周期仅维持在该函数指针被调用时上有效,禁止在调用结束后继续访问。 |
| [OH_AVCodecOnNeedInputData](#ohavcodeconneedinputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, void \*userData) | typedef void(\*<br/>当AVCodec运行过程中需要新的输入数据时,该函数指针会被调用,并携带一块可用的Buffer以供填入新的输入数据。 | | [OH_AVCodecOnNeedInputData](#oh_avcodeconneedinputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, void \*userData) | typedef void(\*<br/>当AVCodec运行过程中需要新的输入数据时,该函数指针会被调用,并携带一块可用的Buffer以供填入新的输入数据。 |
| [OH_AVCodecOnNewOutputData](#ohavcodeconnewoutputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) \*attr, void \*userData) | typedef void(\*<br/>当AVCodec运行过程中产生了新的输出数据时,该函数指针会被调用,并携带一块包含新输出数据的Buffer, 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅维持在该函数指针被调用时有效,禁止调用结束后继续访问。 | | [OH_AVCodecOnNewOutputData](#oh_avcodeconnewoutputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) \*attr, void \*userData) | typedef void(\*<br/>当AVCodec运行过程中产生了新的输出数据时,该函数指针会被调用,并携带一块包含新输出数据的Buffer, 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅维持在该函数指针被调用时有效,禁止调用结束后继续访问。 |
| [OH_AVCodecAsyncCallback](#ohavcodecasynccallback) | typedef struct [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)<br/>AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。 | | [OH_AVCodecAsyncCallback](#oh_avcodecasynccallback) | typedef struct [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)<br/>AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。 |
| [OH_MediaType](#ohmediatype) | typedef enum [OH_MediaType](#ohmediatype)<br/>媒体类型。 | | [OH_MediaType](#oh_mediatype) | typedef enum [OH_MediaType](#oh_mediatype)<br/>媒体类型。 |
| [OH_AVCProfile](#ohavcprofile) | typedef enum [OH_AVCProfile](#ohavcprofile)<br/>AVC Profile枚举。 | | [OH_AVCProfile](#oh_avcprofile) | typedef enum [OH_AVCProfile](#oh_avcprofile)<br/>AVC Profile枚举。 |
| [OH_AACProfile](#ohaacprofile) | typedef enum [OH_AACProfile](#ohaacprofile)<br/>AAC Profile枚举。 | | [OH_AACProfile](#oh_aacprofile) | typedef enum [OH_AACProfile](#oh_aacprofile)<br/>AAC Profile枚举。 |
### 枚举 ### 枚举
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AVCodecBufferFlags](#ohavcodecbufferflags) {<br/>**AVCODEC_BUFFER_FLAGS_NONE** = 0, **AVCODEC_BUFFER_FLAGS_EOS** = 1 &lt;&lt; 0, **AVCODEC_BUFFER_FLAGS_SYNC_FRAME** = 1 &lt;&lt; 1, **AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME** = 1 &lt;&lt; 2, **AVCODEC_BUFFER_FLAGS_CODEC_DATA**= 1 &lt;&lt; 3<br/>} | 枚举OH_AVCodec的Buffer标记的类别。 | | [OH_AVCodecBufferFlags](#oh_avcodecbufferflags) {<br/>**AVCODEC_BUFFER_FLAGS_NONE** = 0, **AVCODEC_BUFFER_FLAGS_EOS** = 1 &lt;&lt; 0, **AVCODEC_BUFFER_FLAGS_SYNC_FRAME** = 1 &lt;&lt; 1, **AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME** = 1 &lt;&lt; 2, **AVCODEC_BUFFER_FLAGS_CODEC_DATA**= 1 &lt;&lt; 3<br/>} | 枚举OH_AVCodec的Buffer标记的类别。 |
| [OH_MediaType](#ohmediatype) { **MEDIA_TYPE_AUD** = 0, **MEDIA_TYPE_VID** = 1 } | 媒体类型。 | | [OH_MediaType](#oh_mediatype) { **MEDIA_TYPE_AUD** = 0, **MEDIA_TYPE_VID** = 1 } | 媒体类型。 |
| [OH_AVCProfile](#ohavcprofile) { **AVC_PROFILE_BASELINE** = 0, **AVC_PROFILE_HIGH** = 4, **AVC_PROFILE_MAIN** = 8 } | AVC Profile枚举。 | | [OH_AVCProfile](#oh_avcprofile) { **AVC_PROFILE_BASELINE** = 0, **AVC_PROFILE_HIGH** = 4, **AVC_PROFILE_MAIN** = 8 } | AVC Profile枚举。 |
| [OH_AACProfile](#ohaacprofile) { **AAC_PROFILE_LC** = 0 } | AAC Profile枚举。 | | [OH_AACProfile](#oh_aacprofile) { **AAC_PROFILE_LC** = 0 } | AAC Profile枚举。 |
### 变量 ### 变量
...@@ -65,31 +65,31 @@ CodecBase模块提供运行音视频编解码通用的结构体、字符常量 ...@@ -65,31 +65,31 @@ CodecBase模块提供运行音视频编解码通用的结构体、字符常量
| [OH_AVCodecBufferAttr::pts](#pts) | int64_t<br/>以微秒为单位表示的该Buffer的Presentation时间戳 | | [OH_AVCodecBufferAttr::pts](#pts) | int64_t<br/>以微秒为单位表示的该Buffer的Presentation时间戳 |
| [OH_AVCodecBufferAttr::size](#size) | int32_t<br/>以字节为单位表示的该Buffer内所包含数据的大小 | | [OH_AVCodecBufferAttr::size](#size) | int32_t<br/>以字节为单位表示的该Buffer内所包含数据的大小 |
| [OH_AVCodecBufferAttr::offset](#offset) | int32_t<br/>有效数据在该Buffer内的起始偏移量 | | [OH_AVCodecBufferAttr::offset](#offset) | int32_t<br/>有效数据在该Buffer内的起始偏移量 |
| [OH_AVCodecBufferAttr::flags](#flags) | uint32_t<br/>该Buffer具有的标记,也是多个[OH_AVCodecBufferFlags](#ohavcodecbufferflags)的组合 | | [OH_AVCodecBufferAttr::flags](#flags) | uint32_t<br/>该Buffer具有的标记,也是多个[OH_AVCodecBufferFlags](#oh_avcodecbufferflags)的组合 |
| **OH_AVCodecAsyncCallback::onError** | [OH_AVCodecOnError](#ohavcodeconerror) | | **OH_AVCodecAsyncCallback::onError** | [OH_AVCodecOnError](#oh_avcodeconerror) |
| **OH_AVCodecAsyncCallback::onStreamChanged** | [OH_AVCodecOnStreamChanged](#ohavcodeconstreamchanged) | | **OH_AVCodecAsyncCallback::onStreamChanged** | [OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged) |
| **OH_AVCodecAsyncCallback::onNeedInputData** | [OH_AVCodecOnNeedInputData](#ohavcodeconneedinputdata) | | **OH_AVCodecAsyncCallback::onNeedInputData** | [OH_AVCodecOnNeedInputData](#oh_avcodeconneedinputdata) |
| **OH_AVCodecAsyncCallback::onNeedOutputData** | [OH_AVCodecOnNewOutputData](#ohavcodeconnewoutputdata) | | **OH_AVCodecAsyncCallback::onNeedOutputData** | [OH_AVCodecOnNewOutputData](#oh_avcodeconnewoutputdata) |
| [OH_AVCODEC_MIMETYPE_VIDEO_AVC](#ohavcodecmimetypevideoavc) | const char \*<br/>AVC视频编解码器的MIME类型。 | | [OH_AVCODEC_MIMETYPE_VIDEO_AVC](#oh_avcodec_mimetype_video_avc) | const char \*<br/>AVC视频编解码器的MIME类型。 |
| [OH_AVCODEC_MIMETYPE_AUDIO_AAC](#ohavcodecmimetypeaudioaac) | const char \*<br/>AAC音频编解码器的MIME类型。 | | [OH_AVCODEC_MIMETYPE_AUDIO_AAC](#oh_avcodec_mimetype_audio_aac) | const char \*<br/>AAC音频编解码器的MIME类型。 |
| [OH_ED_KEY_TIME_STAMP](#ohedkeytimestamp) | const char \*<br/>提供统一的surface Buffer附属数据的字符描述符。 | | [OH_ED_KEY_TIME_STAMP](#oh_ed_key_time_stamp) | const char \*<br/>提供统一的surface Buffer附属数据的字符描述符。 |
| [OH_ED_KEY_EOS](#ohedkeyeos) | const char \*<br/>surface附属数据中结束流的字符描述符,值类型为bool | | [OH_ED_KEY_EOS](#oh_ed_key_eos) | const char \*<br/>surface附属数据中结束流的字符描述符,值类型为bool |
| [OH_MD_KEY_TRACK_TYPE](#ohmdkeytracktype) | const char \*<br/>为媒体播放框架提供统一的字符描述符。 | | [OH_MD_KEY_TRACK_TYPE](#oh_md_key_track_type) | const char \*<br/>为媒体播放框架提供统一的字符描述符。 |
| [OH_MD_KEY_CODEC_MIME](#ohmdkeycodecmime) | const char \*<br/>mime类型的字符描述符,值类型为string | | [OH_MD_KEY_CODEC_MIME](#oh_md_key_codec_mime) | const char \*<br/>mime类型的字符描述符,值类型为string |
| [OH_MD_KEY_DURATION](#ohmdkeyduration) | const char \*<br/>duration的字符描述符,值类型为int64_t | | [OH_MD_KEY_DURATION](#oh_md_key_duration) | const char \*<br/>duration的字符描述符,值类型为int64_t |
| [OH_MD_KEY_BITRATE](#ohmdkeybitrate) | const char \*<br/>比特率的字符描述符,值类型为uint32_t | | [OH_MD_KEY_BITRATE](#oh_md_key_bitrate) | const char \*<br/>比特率的字符描述符,值类型为uint32_t |
| [OH_MD_KEY_MAX_INPUT_SIZE](#ohmdkeymaxinputsize) | 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](#ohmdkeywidth) | const char \*<br/>视频宽度的字符描述符,值类型为uint32_t | | [OH_MD_KEY_WIDTH](#oh_md_key_width) | const char \*<br/>视频宽度的字符描述符,值类型为uint32_t |
| [OH_MD_KEY_HEIGHT](#ohmdkeyheight) | const char \*<br/>视频高度的字符描述符,值类型为uint32_t | | [OH_MD_KEY_HEIGHT](#oh_md_key_height) | const char \*<br/>视频高度的字符描述符,值类型为uint32_t |
| [OH_MD_KEY_PIXEL_FORMAT](#ohmdkeypixelformat) | 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#ohavpixelformat) |
| [OH_MD_KEY_AUDIO_SAMPLE_FORMAT](#ohmdkeyaudiosampleformat) | 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](#ohmdkeyframerate) | 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](#ohmdkeyvideoencodebitratemode) | 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#ohvideoencodebitratemode) |
| [OH_MD_KEY_PROFILE](#ohmdkeyprofile) | const char \*<br/>音视频编码能力的字符描述符,值类型为int32_t,具体见[OH_AVCProfile](#ohavcprofile)[OH_AACProfile](#ohaacprofile) | | [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](#ohmdkeyaudchannelcount) | 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](#ohmdkeyaudsamplerate) | 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_I_FRAME_INTERVAL](#ohmdkeyiframeinterval) | const char \*<br/>I帧间隔时长的字符描述符,值类型为int32_t,单位是毫秒 | | [OH_MD_KEY_I_FRAME_INTERVAL](#oh_md_key_i_frame_interval) | const char \*<br/>I帧间隔时长的字符描述符,值类型为int32_t,单位是毫秒 |
| [OH_MD_KEY_ROTATION](#ohmdkeyrotation) | const char \*<br/>surface旋转角度的字符描述符,值类型为int32_t,限于{0, 90, 180, 270},默认值为0 | | [OH_MD_KEY_ROTATION](#oh_md_key_rotation) | const char \*<br/>surface旋转角度的字符描述符,值类型为int32_t,限于{0, 90, 180, 270},默认值为0 |
## 类型定义说明 ## 类型定义说明
...@@ -122,10 +122,10 @@ AVCodec所有的异步回调函数指针集合。注册一个该结构体实例 ...@@ -122,10 +122,10 @@ AVCodec所有的异步回调函数指针集合。注册一个该结构体实例
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| onError | 监听AVCodec运行错误,参考[OH_AVCodecOnError](#ohavcodeconerror) | | onError | 监听AVCodec运行错误,参考[OH_AVCodecOnError](#oh_avcodeconerror) |
| onStreamChanged | 监听编解码流信息,参考[OH_AVCodecOnStreamChanged](#ohavcodeconstreamchanged) | | onStreamChanged | 监听编解码流信息,参考[OH_AVCodecOnStreamChanged](#oh_avcodeconstreamchanged) |
| onNeedInputData | 监听编解码需要输入数据,参考[OH_AVCodecOnNeedInputData](#ohavcodeconneedinputdata) | | onNeedInputData | 监听编解码需要输入数据,参考[OH_AVCodecOnNeedInputData](#oh_avcodeconneedinputdata) |
| onNeedInputData | 监听编解码产生输出数据,参考[OH_AVCodecOnNewOutputData](#ohavcodeconnewoutputdata) | | onNeedInputData | 监听编解码产生输出数据,参考[OH_AVCodecOnNewOutputData](#oh_avcodeconnewoutputdata) |
### OH_AVCodecBufferAttr ### OH_AVCodecBufferAttr
...@@ -332,7 +332,7 @@ enum OH_MediaType ...@@ -332,7 +332,7 @@ enum OH_MediaType
uint32_t OH_AVCodecBufferAttr::flags uint32_t OH_AVCodecBufferAttr::flags
``` ```
**描述:** **描述:**
该Buffer具有的标记,也是多个[OH_AVCodecBufferFlags](#ohavcodecbufferflags)的组合 该Buffer具有的标记,也是多个[OH_AVCodecBufferFlags](#oh_avcodecbufferflags)的组合
### offset ### offset
...@@ -508,7 +508,7 @@ const char* OH_MD_KEY_PIXEL_FORMAT ...@@ -508,7 +508,7 @@ const char* OH_MD_KEY_PIXEL_FORMAT
const char* OH_MD_KEY_PROFILE const char* OH_MD_KEY_PROFILE
``` ```
**描述:** **描述:**
音视频编码能力的字符描述符,值类型为int32_t,具体见[OH_AVCProfile](#ohavcprofile)[OH_AACProfile](#ohaacprofile) 音视频编码能力的字符描述符,值类型为int32_t,具体见[OH_AVCProfile](#oh_avcprofile)[OH_AACProfile](#oh_aacprofile)
### OH_MD_KEY_ROTATION ### OH_MD_KEY_ROTATION
......
...@@ -23,7 +23,7 @@ AVCodec所有的异步回调函数指针集合。注册一个该结构体实例 ...@@ -23,7 +23,7 @@ AVCodec所有的异步回调函数指针集合。注册一个该结构体实例
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| **onError** | [OH_AVCodecOnError](_codec_base.md#ohavcodeconerror) | | **onError** | [OH_AVCodecOnError](_codec_base.md#oh_avcodeconerror) |
| **onStreamChanged** | [OH_AVCodecOnStreamChanged](_codec_base.md#ohavcodeconstreamchanged) | | **onStreamChanged** | [OH_AVCodecOnStreamChanged](_codec_base.md#oh_avcodeconstreamchanged) |
| **onNeedInputData** | [OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata) | | **onNeedInputData** | [OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) |
| **onNeedOutputData** | [OH_AVCodecOnNewOutputData](_codec_base.md#ohavcodeconnewoutputdata) | | **onNeedOutputData** | [OH_AVCodecOnNewOutputData](_codec_base.md#oh_avcodeconnewoutputdata) |
...@@ -17,20 +17,20 @@ ...@@ -17,20 +17,20 @@
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OnPlay](#onplay)&nbsp;()=0 | AVSession多媒体播放的抽象的回调方法。&nbsp; | | [OnPlay](#onplay) ()=0 | AVSession多媒体播放的抽象的回调方法。 |
| [OnPause](#onpause)&nbsp;()=0 | AVSession多媒体播放暂停的抽象的回调方法。&nbsp; | | [OnPause](#onpause) ()=0 | AVSession多媒体播放暂停的抽象的回调方法。 |
| [OnStop](#onstop)&nbsp;()=0 | AVSession多媒体播放停止的抽象的回调方法。&nbsp; | | [OnStop](#onstop) ()=0 | AVSession多媒体播放停止的抽象的回调方法。 |
| [OnPlayNext](#onplaynext)&nbsp;()=0 | AVSession播放下一首多媒体的抽象的回调方法。&nbsp; | | [OnPlayNext](#onplaynext) ()=0 | AVSession播放下一首多媒体的抽象的回调方法。 |
| [OnPlayPrevious](#onplayprevious)&nbsp;()=0 | AVSession播放上一首多媒体的抽象的回调方法。&nbsp; | | [OnPlayPrevious](#onplayprevious) ()=0 | AVSession播放上一首多媒体的抽象的回调方法。 |
| [OnFastForward](#onfastforward)&nbsp;()=0 | AVSession快进播放多媒体的抽象的回调方法。&nbsp; | | [OnFastForward](#onfastforward) ()=0 | AVSession快进播放多媒体的抽象的回调方法。 |
| [OnRewind](#onrewind)&nbsp;()=0 | AVSession多媒体快退的抽象的回调方法。&nbsp; | | [OnRewind](#onrewind) ()=0 | AVSession多媒体快退的抽象的回调方法。 |
| [OnSeek](#onseek)&nbsp;(int64_t&nbsp;time)=0 | AVSession多媒体跳播操作的抽象的回调方法。&nbsp; | | [OnSeek](#onseek) (int64_t time)=0 | AVSession多媒体跳播操作的抽象的回调方法。 |
| [OnSetSpeed](#onsetspeed)&nbsp;(double&nbsp;speed)=0 | AVSession设置多媒体倍速播放操作的抽象的回调方法。&nbsp; | | [OnSetSpeed](#onsetspeed) (double speed)=0 | AVSession设置多媒体倍速播放操作的抽象的回调方法。 |
| [OnSetLoopMode](#onsetloopmode)&nbsp;(int32_t&nbsp;loopMode)=0 | AVSession设置多媒体循环播放模式的抽象的回调方法。&nbsp; | | [OnSetLoopMode](#onsetloopmode) (int32_t loopMode)=0 | AVSession设置多媒体循环播放模式的抽象的回调方法。 |
| [OnToggleFavorite](#ontogglefavorite)&nbsp;(const&nbsp;std::string&nbsp;&amp;mediald)=0 | AVSession设置多媒体切换收藏操作的抽象的回调方法。&nbsp; | | [OnToggleFavorite](#ontogglefavorite) (const std::string &amp;mediald)=0 | AVSession设置多媒体切换收藏操作的抽象的回调方法。 |
| [OnMediaKeyEvent](#onmediakeyevent)&nbsp;(const&nbsp;MMI::KeyEvent&nbsp;&amp;keyEvent)=0 | AVSession多媒体按键事件处理的抽象的回调方法。&nbsp; | | [OnMediaKeyEvent](#onmediakeyevent) (const MMI::KeyEvent &amp;keyEvent)=0 | AVSession多媒体按键事件处理的抽象的回调方法。 |
| [OnOutputDeviceChange](#onoutputdevicechange)&nbsp;(const&nbsp;[OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md)&nbsp;&amp;outputDeviceInfo)=0 | 注册会话输出设备变更监听。&nbsp; | | [OnOutputDeviceChange](#onoutputdevicechange) (const [OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md) &amp;outputDeviceInfo)=0 | 注册会话输出设备变更监听。 |
| [~AVSessionCallback](#avsessioncallback)&nbsp;()=default | AVSessionCallback的默认的析构函数。&nbsp; | | [~AVSessionCallback](#avsessioncallback) ()=default | AVSessionCallback的默认的析构函数。 |
## 构造及析构函数说明 ## 构造及析构函数说明
...@@ -72,7 +72,7 @@ AVSession多媒体按键事件处理的抽象的回调方法。 ...@@ -72,7 +72,7 @@ AVSession多媒体按键事件处理的抽象的回调方法。
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| keyEvent | 按键事件码,类型为**MMI::KeyEvent**&nbsp; | | keyEvent | 按键事件码,类型为**MMI::KeyEvent** |
### OnOutputDeviceChange() ### OnOutputDeviceChange()
...@@ -88,7 +88,7 @@ virtual void OHOS::AVSession::AVSessionCallback::OnOutputDeviceChange (const Out ...@@ -88,7 +88,7 @@ virtual void OHOS::AVSession::AVSessionCallback::OnOutputDeviceChange (const Out
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| outputDeviceInfo | 输出设备信息&nbsp;[OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md)。&nbsp; | | outputDeviceInfo | 输出设备信息 [OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md) |
### OnPause() ### OnPause()
...@@ -154,7 +154,7 @@ AVSession多媒体跳播操作的抽象的回调方法。 ...@@ -154,7 +154,7 @@ AVSession多媒体跳播操作的抽象的回调方法。
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| time | 媒体资源的位置,从媒体资源开头开始计算,单位为ms。取值需大于等于0。&nbsp; | | time | 媒体资源的位置,从媒体资源开头开始计算,单位为ms。取值需大于等于0。 |
### OnSetLoopMode() ### OnSetLoopMode()
...@@ -170,7 +170,7 @@ AVSession设置多媒体循环播放模式的抽象的回调方法。 ...@@ -170,7 +170,7 @@ AVSession设置多媒体循环播放模式的抽象的回调方法。
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| loopMode | 多媒体循环播放模式,&nbsp;范围在&nbsp;[AVPlaybackState#LOOP_MODE_SEQUENCE](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md#a12c2de6b9e2d86a6d2fe5bec88f90abfa85feb6afb637e762bc97d938f74c5f08)到[AVPlaybackState#LOOP_MODE_SHUFFLE](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md#a12c2de6b9e2d86a6d2fe5bec88f90abfaeaa9c517ca402e56c594c6b17d566203)之间。&nbsp; | | loopMode | 多媒体循环播放模式, 范围在[AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)**LOOP_MODE_SEQUENCE****LOOP_MODE_SHUFFLE**之间。 |
### OnSetSpeed() ### OnSetSpeed()
...@@ -186,7 +186,7 @@ AVSession设置多媒体倍速播放操作的抽象的回调方法。 ...@@ -186,7 +186,7 @@ AVSession设置多媒体倍速播放操作的抽象的回调方法。
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| speed | 多媒体播放的倍速值。&nbsp; | | speed | 多媒体播放的倍速值。 |
### OnStop() ### OnStop()
...@@ -212,4 +212,4 @@ AVSession设置多媒体切换收藏操作的抽象的回调方法。 ...@@ -212,4 +212,4 @@ AVSession设置多媒体切换收藏操作的抽象的回调方法。
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| mediald | 多媒体ID号标识。&nbsp; | | mediald | 多媒体ID号标识。 |
...@@ -17,25 +17,25 @@ ...@@ -17,25 +17,25 @@
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [CreateSession](#createsession)&nbsp;(const&nbsp;std::string&nbsp;&amp;tag,&nbsp;int32_t&nbsp;type,&nbsp;const&nbsp;AppExecFwk::ElementName&nbsp;&amp;elementName)=0 | 创建AVSession会话的接口方法。&nbsp; | | [CreateSession](#createsession) (const std::string &amp;tag, int32_t type, const AppExecFwk::ElementName &amp;elementName)=0 | 创建AVSession会话的接口方法。 |
| [GetAllSessionDescriptors](#getallsessiondescriptors)&nbsp;(std::vector&lt;&nbsp;[AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md)&nbsp;&gt;&nbsp;&amp;descriptors)=0 | 获取AVSession全部的会话描述的接口方法。&nbsp; | | [GetAllSessionDescriptors](#getallsessiondescriptors) (std::vector&lt; [AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) &gt; &amp;descriptors)=0 | 获取AVSession全部的会话描述的接口方法。 |
| [GetActivatedSessionDescriptors](#getactivatedsessiondescriptors)&nbsp;(std::vector&lt;&nbsp;[AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md)&nbsp;&gt;&nbsp;&amp;activatedSessions)=0 | 获取AVSession全部处于活动状态的会话描述的接口方法。&nbsp; | | [GetActivatedSessionDescriptors](#getactivatedsessiondescriptors) (std::vector&lt; [AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) &gt; &amp;activatedSessions)=0 | 获取AVSession全部处于活动状态的会话描述的接口方法。 |
| [GetSessionDescriptorsBySessionId](#getsessiondescriptorsbysessionid)&nbsp;(const&nbsp;std::string&nbsp;&amp;sessionId,&nbsp;[AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md)&nbsp;&amp;descriptor)=0 | 通过会话ID获得会话描述的方法。&nbsp; | | [GetSessionDescriptorsBySessionId](#getsessiondescriptorsbysessionid) (const std::string &amp;sessionId, [AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) &amp;descriptor)=0 | 通过会话ID获得会话描述的方法。 |
| [CreateController](#createcontroller)&nbsp;(const&nbsp;std::string&nbsp;&amp;sessionId,&nbsp;std::shared_ptr&lt;&nbsp;[AVSessionController](o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md)&nbsp;&gt;&nbsp;&amp;controller)=0 | 创建AVSession会话控制器的接口方法。&nbsp; | | [CreateController](#createcontroller) (const std::string &amp;sessionId, std::shared_ptr&lt; [AVSessionController](o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md) &gt; &amp;controller)=0 | 创建AVSession会话控制器的接口方法。 |
| [RegisterSessionListener](#registersessionlistener)&nbsp;(const&nbsp;std::shared_ptr&lt;&nbsp;[SessionListener](_o_h_o_s_1_1_a_v_session_1_1_session_listener.md)&nbsp;&gt;&nbsp;&amp;listener)=0 | 注册AVSession会话监听器的接口方法。&nbsp; | | [RegisterSessionListener](#registersessionlistener) (const std::shared_ptr&lt; [SessionListener](_o_h_o_s_1_1_a_v_session_1_1_session_listener.md) &gt; &amp;listener)=0 | 注册AVSession会话监听器的接口方法。 |
| [RegisterServiceDeathCallback](#registerservicedeathcallback)&nbsp;(const&nbsp;[DeathCallback](avsession__info_8h.md#deathcallback)&nbsp;&amp;callback)=0 | 注册AVSession服务器的死亡回调的接口方法。&nbsp; | | [RegisterServiceDeathCallback](#registerservicedeathcallback) (const [DeathCallback](avsession__info_8h.md#deathcallback) &amp;callback)=0 | 注册AVSession服务器的死亡回调的接口方法。 |
| [UnregisterServiceDeathCallback](#unregisterservicedeathcallback)&nbsp;()=0 | 注销AVSession服务器的死亡回调的接口方法。&nbsp; | | [UnregisterServiceDeathCallback](#unregisterservicedeathcallback) ()=0 | 注销AVSession服务器的死亡回调的接口方法。 |
| [SendSystemAVKeyEvent](#sendsystemavkeyevent)&nbsp;(const&nbsp;MMI::KeyEvent&nbsp;&amp;keyEvent)=0 | 发送系统按键事件的接口方法。&nbsp; | | [SendSystemAVKeyEvent](#sendsystemavkeyevent) (const MMI::KeyEvent &amp;keyEvent)=0 | 发送系统按键事件的接口方法。 |
| [SendSystemControlCommand](#sendsystemcontrolcommand)&nbsp;(const&nbsp;[AVControlCommand](_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md)&nbsp;&amp;command)=0 | 发送系统控制命令的接口方法。&nbsp; | | [SendSystemControlCommand](#sendsystemcontrolcommand) (const [AVControlCommand](_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md) &amp;command)=0 | 发送系统控制命令的接口方法。 |
| [CastAudio](#castaudio)&nbsp;(const&nbsp;[SessionToken](_o_h_o_s_1_1_a_v_session_1_1_session_token.md)&nbsp;&amp;token,&nbsp;const&nbsp;std::vector&lt;&nbsp;AudioStandard::AudioDeviceDescriptor&nbsp;&gt;&nbsp;&amp;descriptors)=0 | 将媒体会话投射到远程设备或投射回本地设备。&nbsp; | | [CastAudio](#castaudio) (const [SessionToken](_o_h_o_s_1_1_a_v_session_1_1_session_token.md) &amp;token, const std::vector&lt; AudioStandard::AudioDeviceDescriptor &gt; &amp;descriptors)=0 | 将媒体会话投射到远程设备或投射回本地设备。 |
| [CastAudioForAll](#castaudioforall)&nbsp;(const&nbsp;std::vector&lt;&nbsp;AudioStandard::AudioDeviceDescriptor&nbsp;&gt;&nbsp;&amp;descriptors)=0 | 将此设备的所有媒体会话投播到远程设备。&nbsp; | | [CastAudioForAll](#castaudioforall) (const std::vector&lt; AudioStandard::AudioDeviceDescriptor &gt; &amp;descriptors)=0 | 将此设备的所有媒体会话投播到远程设备。 |
### 静态 Public 成员函数 ### 静态 Public 成员函数
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [GetInstance](#getinstance)&nbsp;() | 获取会话管理器实例。&nbsp; | | [GetInstance](#getinstance) () | 获取会话管理器实例。 |
## 成员函数说明 ## 成员函数说明
...@@ -54,8 +54,8 @@ virtual int32_t OHOS::AVSession::AVSessionManager::CastAudio (const SessionToken ...@@ -54,8 +54,8 @@ virtual int32_t OHOS::AVSession::AVSessionManager::CastAudio (const SessionToken
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| token | 需要投播的会话令牌。&nbsp; | | token | 需要投播的会话令牌。 |
| descriptors | 指定要转换的音频设备。&nbsp; | | descriptors | 指定要转换的音频设备。 |
**返回:** **返回:**
...@@ -75,7 +75,7 @@ virtual int32_t OHOS::AVSession::AVSessionManager::CastAudioForAll (const std::v ...@@ -75,7 +75,7 @@ virtual int32_t OHOS::AVSession::AVSessionManager::CastAudioForAll (const std::v
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| descriptors | 指定要转换的音频设备。&nbsp; | | descriptors | 指定要转换的音频设备。 |
**返回:** **返回:**
...@@ -95,8 +95,8 @@ virtual int32_t OHOS::AVSession::AVSessionManager::CreateController (const std:: ...@@ -95,8 +95,8 @@ virtual int32_t OHOS::AVSession::AVSessionManager::CreateController (const std::
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| sessionId | AVSession的会话ID。&nbsp; | | sessionId | AVSession的会话ID。 |
| controller | 会话控制器实例,类型为[AVSessionController](o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md)&nbsp; | | controller | 会话控制器实例,类型为[AVSessionController](o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md) |
**返回:** **返回:**
...@@ -116,9 +116,9 @@ virtual std::shared_ptr<AVSession> OHOS::AVSession::AVSessionManager::CreateSess ...@@ -116,9 +116,9 @@ virtual std::shared_ptr<AVSession> OHOS::AVSession::AVSessionManager::CreateSess
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| tag | AVSession的会话标签,不可为空。&nbsp; | | tag | AVSession的会话标签,不可为空。 |
| type | AVSession的会话类型,&nbsp;入参为[AVSession#SESSION_TYPE_AUDIO](_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#ac1c9f46a84c35e7cca9966a48d4cbd96a10f702f1a7483e621c98c7b8ff4108f6),[AVSession#SESSION_TYPE_VIDEO](_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#ac1c9f46a84c35e7cca9966a48d4cbd96ab28acf8f76ffe654b5820e9db3f0e9bb)。&nbsp; | | type | AVSession的会话类型, 入参为[AVSession](_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md)**SESSION_TYPE_AUDIO****SESSION_TYPE_VIDEO** |
| elementName | AVSession的会话名称**AppExecFwk::ElementName**&nbsp; | | elementName | AVSession的会话名称**AppExecFwk::ElementName** |
**返回:** **返回:**
...@@ -138,7 +138,7 @@ virtual int32_t OHOS::AVSession::AVSessionManager::GetActivatedSessionDescriptor ...@@ -138,7 +138,7 @@ virtual int32_t OHOS::AVSession::AVSessionManager::GetActivatedSessionDescriptor
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| activatedSessions | 处于活动状态的会话描述,类型为[AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md)&nbsp; | | activatedSessions | 处于活动状态的会话描述,类型为[AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) |
**返回:** **返回:**
...@@ -158,7 +158,7 @@ virtual int32_t OHOS::AVSession::AVSessionManager::GetAllSessionDescriptors (std ...@@ -158,7 +158,7 @@ virtual int32_t OHOS::AVSession::AVSessionManager::GetAllSessionDescriptors (std
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| descriptors | AVSession的会话描述,类型为[AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md)&nbsp; | | descriptors | AVSession的会话描述,类型为[AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) |
**返回:** **返回:**
...@@ -192,8 +192,8 @@ virtual int32_t OHOS::AVSession::AVSessionManager::GetSessionDescriptorsBySessio ...@@ -192,8 +192,8 @@ virtual int32_t OHOS::AVSession::AVSessionManager::GetSessionDescriptorsBySessio
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| sessionId | AVSession的会话标签。&nbsp; | | sessionId | AVSession的会话标签。 |
| descriptor | AVSession的会话描述,类型为[AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md)&nbsp; | | descriptor | AVSession的会话描述,类型为[AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) |
**返回:** **返回:**
...@@ -213,7 +213,7 @@ virtual int32_t OHOS::AVSession::AVSessionManager::RegisterServiceDeathCallback ...@@ -213,7 +213,7 @@ virtual int32_t OHOS::AVSession::AVSessionManager::RegisterServiceDeathCallback
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| callback | 死亡回调的方法,类型为**DeathCallback**&nbsp; | | callback | 死亡回调的方法,类型为**DeathCallback** |
**返回:** **返回:**
...@@ -237,7 +237,7 @@ virtual int32_t OHOS::AVSession::AVSessionManager::RegisterSessionListener (cons ...@@ -237,7 +237,7 @@ virtual int32_t OHOS::AVSession::AVSessionManager::RegisterSessionListener (cons
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| listener | 会话监听器的智能指针,类型为[SessionListener](_o_h_o_s_1_1_a_v_session_1_1_session_listener.md)&nbsp; | | listener | 会话监听器的智能指针,类型为[SessionListener](_o_h_o_s_1_1_a_v_session_1_1_session_listener.md) |
**返回:** **返回:**
...@@ -257,7 +257,7 @@ virtual int32_t OHOS::AVSession::AVSessionManager::SendSystemAVKeyEvent (const M ...@@ -257,7 +257,7 @@ virtual int32_t OHOS::AVSession::AVSessionManager::SendSystemAVKeyEvent (const M
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| keyEvent | 按键事件码,类型为**MMI::KeyEvent**&nbsp; | | keyEvent | 按键事件码,类型为**MMI::KeyEvent** |
**返回:** **返回:**
...@@ -277,7 +277,7 @@ virtual int32_t OHOS::AVSession::AVSessionManager::SendSystemControlCommand (con ...@@ -277,7 +277,7 @@ virtual int32_t OHOS::AVSession::AVSessionManager::SendSystemControlCommand (con
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| command | 系统控制命令[AVControlCommand](_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md)&nbsp; | | command | 系统控制命令[AVControlCommand](_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md) |
**返回:** **返回:**
......
...@@ -33,13 +33,13 @@ VideoDecoder模块提供用于视频解码功能的函数。 ...@@ -33,13 +33,13 @@ VideoDecoder模块提供用于视频解码功能的函数。
| [OH_VideoDecoder_SetSurface](#ohvideodecodersetsurface) (OH_AVCodec \*codec, OHNativeWindow \*window) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>指定输出Surface,以提供视频解码输出,该接口被调用必须是在Prepare被调用前。 | | [OH_VideoDecoder_SetSurface](#ohvideodecodersetsurface) (OH_AVCodec \*codec, OHNativeWindow \*window) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>指定输出Surface,以提供视频解码输出,该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoDecoder_Configure](#ohvideodecoderconfigure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置视频解码器,典型地,需要配置被解码视频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 | | [OH_VideoDecoder_Configure](#ohvideodecoderconfigure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置视频解码器,典型地,需要配置被解码视频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoDecoder_Prepare](#ohvideodecoderprepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备解码器内部资源,调用该接口前必须先调用Configure接口。 | | [OH_VideoDecoder_Prepare](#ohvideodecoderprepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备解码器内部资源,调用该接口前必须先调用Configure接口。 |
| [OH_VideoDecoder_Start](#ohvideodecoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。 | | [OH_VideoDecoder_Start](#ohvideodecoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<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](#ohvideodecoderstop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 |
| [OH_VideoDecoder_Flush](#ohvideodecoderflush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | | [OH_VideoDecoder_Flush](#ohvideodecoderflush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
| [OH_VideoDecoder_Reset](#ohvideodecoderreset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 | | [OH_VideoDecoder_Reset](#ohvideodecoderreset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 |
| [OH_VideoDecoder_GetOutputDescription](#ohvideodecodergetoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*<br/>获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 | | [OH_VideoDecoder_GetOutputDescription](#ohvideodecodergetoutputdescription) (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](#ohvideodecodersetparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<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#ohavcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程,例如H264格式的PPS/SPS数据。 | | [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_RenderOutputData](#ohvideodecoderrenderoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器,并通知解码器完成将该Buffer内包含的解码后的数据在输出Surface上渲染。 如果先前未配置输出Surface,调用该接口仅仅将指定索引对应的输出Buffer交还给解码器。 | | [OH_VideoDecoder_RenderOutputData](#ohvideodecoderrenderoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#ohaverrcode)<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](#ohvideodecoderfreeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器。 |
...@@ -87,7 +87,7 @@ OH_AVCodec* OH_VideoDecoder_CreateByMime (const char * mime) ...@@ -87,7 +87,7 @@ OH_AVCodec* OH_VideoDecoder_CreateByMime (const char * mime)
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| mime | mime类型描述字符串,参考[OH_AVCODEC_MIMETYPE_VIDEO_AVC](_codec_base.md#ohavcodecmimetypevideoavc) | | mime | mime类型描述字符串,参考[OH_AVCODEC_MIMETYPE_VIDEO_AVC](_codec_base.md#oh_avcodec_mimetype_video_avc) |
**返回:** **返回:**
...@@ -242,7 +242,7 @@ OH_AVErrCode OH_VideoDecoder_Prepare (OH_AVCodec * codec) ...@@ -242,7 +242,7 @@ OH_AVErrCode OH_VideoDecoder_Prepare (OH_AVCodec * codec)
OH_AVErrCode OH_VideoDecoder_PushInputData (OH_AVCodec * codec, uint32_t index, OH_AVCodecBufferAttr attr ) OH_AVErrCode OH_VideoDecoder_PushInputData (OH_AVCodec * codec, uint32_t index, OH_AVCodecBufferAttr attr )
``` ```
**描述:** **描述:**
将填充好数据的输入Buffer提交给视频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程,例如H264格式的PPS/SPS数据。 将填充好数据的输入Buffer提交给视频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程,例如H264格式的PPS/SPS数据。
@syscap SystemCapability.Multimedia.Media.VideoDecoder @syscap SystemCapability.Multimedia.Media.VideoDecoder
...@@ -393,7 +393,7 @@ OH_AVErrCode OH_VideoDecoder_SetSurface (OH_AVCodec * codec, OHNativeWindow * wi ...@@ -393,7 +393,7 @@ OH_AVErrCode OH_VideoDecoder_SetSurface (OH_AVCodec * codec, OHNativeWindow * wi
OH_AVErrCode OH_VideoDecoder_Start (OH_AVCodec * codec) OH_AVErrCode OH_VideoDecoder_Start (OH_AVCodec * codec)
``` ```
**描述:** **描述:**
启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。 启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。
@syscap SystemCapability.Multimedia.Media.VideoDecoder @syscap SystemCapability.Multimedia.Media.VideoDecoder
......
...@@ -46,14 +46,14 @@ VideoEncoder模块提供用于视频编码功能的函数和枚举。 ...@@ -46,14 +46,14 @@ VideoEncoder模块提供用于视频编码功能的函数和枚举。
| [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](#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_Configure](#ohvideoencoderconfigure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置视频编码器,典型地,需要配置被编码视频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 | | [OH_VideoEncoder_Configure](#ohvideoencoderconfigure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置视频编码器,典型地,需要配置被编码视频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoEncoder_Prepare](#ohvideoencoderprepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备编码器内部资源,调用该接口前必须先调用Configure接口。 | | [OH_VideoEncoder_Prepare](#ohvideoencoderprepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备编码器内部资源,调用该接口前必须先调用Configure接口。 |
| [OH_VideoEncoder_Start](#ohvideoencoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。 | | [OH_VideoEncoder_Start](#ohvideoencoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<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](#ohvideoencoderstop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止编码器。在停止后可通过Start重新进入Started状态。 |
| [OH_VideoEncoder_Flush](#ohvideoencoderflush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 | | [OH_VideoEncoder_Flush](#ohvideoencoderflush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
| [OH_VideoEncoder_Reset](#ohvideoencoderreset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 | | [OH_VideoEncoder_Reset](#ohvideoencoderreset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 |
| [OH_VideoEncoder_GetOutputDescription](#ohvideoencodergetoutputdescription) (OH_AVCodec \*codec) | OH_AVFormat \*<br/>获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 | | [OH_VideoEncoder_GetOutputDescription](#ohvideoencodergetoutputdescription) (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](#ohvideoencodersetparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 |
| [OH_VideoEncoder_GetSurface](#ohvideoencodergetsurface) (OH_AVCodec \*codec, OHNativeWindow \*\*window) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>从视频编码器获取输入Surface, 该接口被调用必须是在Prepare被调用前。 | | [OH_VideoEncoder_GetSurface](#ohvideoencodergetsurface) (OH_AVCodec \*codec, OHNativeWindow \*\*window) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>从视频编码器获取输入Surface, 该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoEncoder_FreeOutputData](#ohvideoencoderfreeoutputdata) (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#ohaverrcode)<br/>将处理结束的输出Buffer交还给编码器。 |
| [OH_VideoEncoder_NotifyEndOfStream](#ohvideoencodernotifyendofstream) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>通知视频编码器输入码流已结束。surface模式推荐使用该接口通知编码器码流结束。 | | [OH_VideoEncoder_NotifyEndOfStream](#ohvideoencodernotifyendofstream) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>通知视频编码器输入码流已结束。surface模式推荐使用该接口通知编码器码流结束。 |
...@@ -136,7 +136,7 @@ OH_AVCodec* OH_VideoEncoder_CreateByMime (const char * mime) ...@@ -136,7 +136,7 @@ OH_AVCodec* OH_VideoEncoder_CreateByMime (const char * mime)
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| mime | mime类型描述字符串,参考[OH_AVCODEC_MIMETYPE_VIDEO_AVC](_codec_base.md#ohavcodecmimetypevideoavc) | | mime | mime类型描述字符串,参考[OH_AVCODEC_MIMETYPE_VIDEO_AVC](_codec_base.md#oh_avcodec_mimetype_video_avc) |
**返回:** **返回:**
...@@ -415,7 +415,7 @@ OH_AVErrCode OH_VideoEncoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for ...@@ -415,7 +415,7 @@ OH_AVErrCode OH_VideoEncoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for
OH_AVErrCode OH_VideoEncoder_Start (OH_AVCodec * codec) OH_AVErrCode OH_VideoEncoder_Start (OH_AVCodec * codec)
``` ```
**描述:** **描述:**
启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。 启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)事件。
@syscap SystemCapability.Multimedia.Media.VideoEncoder @syscap SystemCapability.Multimedia.Media.VideoEncoder
......
...@@ -21,28 +21,28 @@ ...@@ -21,28 +21,28 @@
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OHOS::AVSession::AVSESSION_ERROR](#avsessionerror) = -1 | constexpr int32_t<br/>存在错误 | | [OHOS::AVSession::AVSESSION_ERROR](#avsession_error) = -1 | constexpr int32_t<br/>存在错误 |
| [OHOS::AVSession::AVSESSION_SUCCESS](#avsessionsuccess) = 0 | constexpr int32_t<br/>操作成功 | | [OHOS::AVSession::AVSESSION_SUCCESS](#avsession_success) = 0 | constexpr int32_t<br/>操作成功 |
| [OHOS::AVSession::AVSESSION_ERROR_BASE](#avsessionerrorbase) = 1000 | constexpr int32_t<br/>avsession错误码的基定义 | | [OHOS::AVSession::AVSESSION_ERROR_BASE](#avsession_error_base) = 1000 | constexpr int32_t<br/>avsession错误码的基定义 |
| [OHOS::AVSession::ERR_NO_MEMORY](#errnomemory) = -(AVSESSION_ERROR_BASE + 1) | constexpr int32_t<br/>无可用内存 | | [OHOS::AVSession::ERR_NO_MEMORY](#err_no_memory) = -(AVSESSION_ERROR_BASE + 1) | constexpr int32_t<br/>无可用内存 |
| [OHOS::AVSession::ERR_INVALID_PARAM](#errinvalidparam) = -(AVSESSION_ERROR_BASE + 2) | constexpr int32_t<br/>传递的参数无效 | | [OHOS::AVSession::ERR_INVALID_PARAM](#err_invalid_param) = -(AVSESSION_ERROR_BASE + 2) | constexpr int32_t<br/>传递的参数无效 |
| [OHOS::AVSession::ERR_SERVICE_NOT_EXIST](#errservicenotexist) = -(AVSESSION_ERROR_BASE + 3) | constexpr int32_t<br/>服务不存在 | | [OHOS::AVSession::ERR_SERVICE_NOT_EXIST](#err_service_not_exist) = -(AVSESSION_ERROR_BASE + 3) | constexpr int32_t<br/>服务不存在 |
| [OHOS::AVSession::ERR_SESSION_LISTENER_EXIST](#errsessionlistenerexist) = -(AVSESSION_ERROR_BASE + 4) | constexpr int32_t<br/>Session监听器已存在 | | [OHOS::AVSession::ERR_SESSION_LISTENER_EXIST](#err_session_listener_exist) = -(AVSESSION_ERROR_BASE + 4) | constexpr int32_t<br/>Session监听器已存在 |
| [OHOS::AVSession::ERR_MARSHALLING](#errmarshalling) = -(AVSESSION_ERROR_BASE + 5) | constexpr int32_t<br/>数据序列化操作错误 | | [OHOS::AVSession::ERR_MARSHALLING](#err_marshalling) = -(AVSESSION_ERROR_BASE + 5) | constexpr int32_t<br/>数据序列化操作错误 |
| [OHOS::AVSession::ERR_UNMARSHALLING](#errunmarshalling) = -(AVSESSION_ERROR_BASE + 6) | constexpr int32_t<br/>数据反序列化操作错误 | | [OHOS::AVSession::ERR_UNMARSHALLING](#err_unmarshalling) = -(AVSESSION_ERROR_BASE + 6) | constexpr int32_t<br/>数据反序列化操作错误 |
| [OHOS::AVSession::ERR_IPC_SEND_REQUEST](#erripcsendrequest) = -(AVSESSION_ERROR_BASE + 7) | constexpr int32_t<br/>IPC发送数据失败 | | [OHOS::AVSession::ERR_IPC_SEND_REQUEST](#err_ipc_send_request) = -(AVSESSION_ERROR_BASE + 7) | constexpr int32_t<br/>IPC发送数据失败 |
| [OHOS::AVSession::ERR_SESSION_EXCEED_MAX](#errsessionexceedmax) = -(AVSESSION_ERROR_BASE + 8) | constexpr int32_t<br/>超过允许会话最大数量 | | [OHOS::AVSession::ERR_SESSION_EXCEED_MAX](#err_session_exceed_max) = -(AVSESSION_ERROR_BASE + 8) | constexpr int32_t<br/>超过允许会话最大数量 |
| [OHOS::AVSession::ERR_SESSION_NOT_EXIST](#errsessionnotexist) = -(AVSESSION_ERROR_BASE + 9) | constexpr int32_t<br/>会话不存在 | | [OHOS::AVSession::ERR_SESSION_NOT_EXIST](#err_session_not_exist) = -(AVSESSION_ERROR_BASE + 9) | constexpr int32_t<br/>会话不存在 |
| [OHOS::AVSession::ERR_COMMAND_NOT_SUPPORT](#errcommandnotsupport) = -(AVSESSION_ERROR_BASE + 10) | constexpr int32_t<br/>会话命令不支持 | | [OHOS::AVSession::ERR_COMMAND_NOT_SUPPORT](#err_command_not_support) = -(AVSESSION_ERROR_BASE + 10) | constexpr int32_t<br/>会话命令不支持 |
| [OHOS::AVSession::ERR_CONTROLLER_NOT_EXIST](#errcontrollernotexist) = -(AVSESSION_ERROR_BASE + 11) | constexpr int32_t<br/>控制器不存在 | | [OHOS::AVSession::ERR_CONTROLLER_NOT_EXIST](#err_controller_not_exist) = -(AVSESSION_ERROR_BASE + 11) | constexpr int32_t<br/>控制器不存在 |
| [OHOS::AVSession::ERR_NO_PERMISSION](#errnopermission) = -(AVSESSION_ERROR_BASE + 12) | constexpr int32_t<br/>无权限 | | [OHOS::AVSession::ERR_NO_PERMISSION](#err_no_permission) = -(AVSESSION_ERROR_BASE + 12) | constexpr int32_t<br/>无权限 |
| [OHOS::AVSession::ERR_SESSION_DEACTIVE](#errsessiondeactive) = -(AVSESSION_ERROR_BASE + 13) | constexpr int32_t<br/>会话未激活 | | [OHOS::AVSession::ERR_SESSION_DEACTIVE](#err_session_deactive) = -(AVSESSION_ERROR_BASE + 13) | constexpr int32_t<br/>会话未激活 |
| [OHOS::AVSession::ERR_CONTROLLER_IS_EXIST](#errcontrollerisexist) = -(AVSESSION_ERROR_BASE + 14) | constexpr int32_t<br/>控制器存在 | | [OHOS::AVSession::ERR_CONTROLLER_IS_EXIST](#err_controller_is_exist) = -(AVSESSION_ERROR_BASE + 14) | constexpr int32_t<br/>控制器存在 |
| [OHOS::AVSession::ERR_START_ABILITY_IS_RUNNING](#errstartabilityisrunning) = -(AVSESSION_ERROR_BASE + 15) | constexpr int32_t<br/>元能力正在运行 | | [OHOS::AVSession::ERR_START_ABILITY_IS_RUNNING](#err_start_ability_is_running) = -(AVSESSION_ERROR_BASE + 15) | constexpr int32_t<br/>元能力正在运行 |
| [OHOS::AVSession::ERR_ABILITY_NOT_AVAILABLE](#errabilitynotavailable) = -(AVSESSION_ERROR_BASE + 16) | constexpr int32_t<br/>元能力启动超失败 | | [OHOS::AVSession::ERR_ABILITY_NOT_AVAILABLE](#err_ability_not_available) = -(AVSESSION_ERROR_BASE + 16) | constexpr int32_t<br/>元能力启动超失败 |
| [OHOS::AVSession::ERR_START_ABILITY_TIMEOUT](#errstartabilitytimeout) = -(AVSESSION_ERROR_BASE + 17) | constexpr int32_t<br/>元能力启动超时 | | [OHOS::AVSession::ERR_START_ABILITY_TIMEOUT](#err_start_ability_timeout) = -(AVSESSION_ERROR_BASE + 17) | constexpr int32_t<br/>元能力启动超时 |
| [OHOS::AVSession::ERR_COMMAND_SEND_EXCEED_MAX](#errcommandsendexceedmax) = -(AVSESSION_ERROR_BASE + 18) | constexpr int32_t<br/>指令发送次数超过最大值 | | [OHOS::AVSession::ERR_COMMAND_SEND_EXCEED_MAX](#err_command_send_exceed_max) = -(AVSESSION_ERROR_BASE + 18) | constexpr int32_t<br/>指令发送次数超过最大值 |
| [OHOS::AVSession::ERR_RPC_SEND_REQUEST](#errrpcsendrequest) = -(AVSESSION_ERROR_BASE + 19) | constexpr int32_t<br/>RPC发送数据失败 | | [OHOS::AVSession::ERR_RPC_SEND_REQUEST](#err_rpc_send_request) = -(AVSESSION_ERROR_BASE + 19) | constexpr int32_t<br/>RPC发送数据失败 |
## 变量说明 ## 变量说明
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OHOS::AVSession::DEFAULT_BUFFER_SIZE](#defaultbuffersize) = 160 \* 1024 | constexpr size_t<br/>初始化容器大小为160KB | | [OHOS::AVSession::DEFAULT_BUFFER_SIZE](#default_buffer_size) = 160 \* 1024 | constexpr size_t<br/>初始化容器大小为160KB |
## 变量说明 ## 变量说明
......
...@@ -21,17 +21,17 @@ ...@@ -21,17 +21,17 @@
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AudioDecoder_CreateByMime](_audio_decoder.md#ohaudiodecodercreatebymime) (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#ohaudiodecodercreatebyname) (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#ohaudiodecoderdestroy) (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#ohaverrcode)<br/>清空解码器内部资源,并销毁解码器实例 |
| [OH_AudioDecoder_SetCallback](_audio_decoder.md#ohaudiodecodersetcallback) (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#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应音频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
| [OH_AudioDecoder_Configure](_audio_decoder.md#ohaudiodecoderconfigure) (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#ohaverrcode)<br/>配置音频解码器,典型地,需要配置被解码音频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 |
| [OH_AudioDecoder_Prepare](_audio_decoder.md#ohaudiodecoderprepare) (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#ohaverrcode)<br/>准备解码器内部资源,调用该接口前必须先调用Configure接口。 |
| [OH_AudioDecoder_Start](_audio_decoder.md#ohaudiodecoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。 | | [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_Stop](_audio_decoder.md#ohaudiodecoderstop) (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#ohaverrcode)<br/>停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 |
| [OH_AudioDecoder_Flush](_audio_decoder.md#ohaudiodecoderflush) (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#ohaverrcode)<br/>清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
| [OH_AudioDecoder_Reset](_audio_decoder.md#ohaudiodecoderreset) (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#ohaverrcode)<br/>重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 |
| [OH_AudioDecoder_GetOutputDescription](_audio_decoder.md#ohaudiodecodergetoutputdescription) (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#ohaudiodecodersetparameter) (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#ohaverrcode)<br/>向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 |
| [OH_AudioDecoder_PushInputData](_audio_decoder.md#ohaudiodecoderpushinputdata) (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#ohavcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata) 回调报告相同索引的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#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_FreeOutputData](_audio_decoder.md#ohaudiodecoderfreeoutputdata) (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#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器。 |
...@@ -21,17 +21,17 @@ ...@@ -21,17 +21,17 @@
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AudioEncoder_CreateByMime](_audio_encoder.md#ohaudioencodercreatebymime) (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#ohaudioencodercreatebyname) (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#ohaudioencoderdestroy) (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#ohaverrcode)<br/>清空编码器内部资源,并销毁编码器实例。 |
| [OH_AudioEncoder_SetCallback](_audio_encoder.md#ohaudioencodersetcallback) (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#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应音频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
| [OH_AudioEncoder_Configure](_audio_encoder.md#ohaudioencoderconfigure) (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#ohaverrcode)<br/>配置音频编码器,典型地,需要配置被编码音频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 |
| [OH_AudioEncoder_Prepare](_audio_encoder.md#ohaudioencoderprepare) (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#ohaverrcode)<br/>准备编码器内部资源,调用该接口前必须先调用Configure接口。 |
| [OH_AudioEncoder_Start](_audio_encoder.md#ohaudioencoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。 | | [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_Stop](_audio_encoder.md#ohaudioencoderstop) (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#ohaverrcode)<br/>停止编码器。在停止后可通过Start重新进入Started状态。 |
| [OH_AudioEncoder_Flush](_audio_encoder.md#ohaudioencoderflush) (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#ohaverrcode)<br/>清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
| [OH_AudioEncoder_Reset](_audio_encoder.md#ohaudioencoderreset) (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#ohaverrcode)<br/>重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 |
| [OH_AudioEncoder_GetOutputDescription](_audio_encoder.md#ohaudioencodergetoutputdescription) (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#ohaudioencodersetparameter) (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#ohaverrcode)<br/>向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 |
| [OH_AudioEncoder_PushInputData](_audio_encoder.md#ohaudioencoderpushinputdata) (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#ohavcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给编码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata) 回调报告相同索引的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#ohaverrcode)<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#ohaudioencoderfreeoutputdata) (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#ohaverrcode)<br/>将处理结束的输出Buffer交还给编码器。 |
...@@ -31,49 +31,49 @@ ...@@ -31,49 +31,49 @@
| -------- | -------- | | -------- | -------- |
| **OHNativeWindow** | typedef struct NativeWindow | | **OHNativeWindow** | typedef struct NativeWindow |
| **OH_AVCodec** | typedef struct OH_AVCodec | | **OH_AVCodec** | typedef struct OH_AVCodec |
| [OH_AVCodecBufferFlags](_codec_base.md#ohavcodecbufferflags) | typedef enum [OH_AVCodecBufferFlags](_codec_base.md#ohavcodecbufferflags)<br/>枚举OH_AVCodec的Buffer标记的类别。 | | [OH_AVCodecBufferFlags](_codec_base.md#oh_avcodecbufferflags) | typedef enum [OH_AVCodecBufferFlags](_codec_base.md#oh_avcodecbufferflags)<br/>枚举OH_AVCodec的Buffer标记的类别。 |
| [OH_AVCodecBufferAttr](_codec_base.md#ohavcodecbufferattr) | typedef struct [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)<br/>定义OH_AVCodec的Buffer描述信息。 | | [OH_AVCodecBufferAttr](_codec_base.md#oh_avcodecbufferattr) | typedef struct [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)<br/>定义OH_AVCodec的Buffer描述信息。 |
| [OH_AVCodecOnError](_codec_base.md#ohavcodeconerror)) (OH_AVCodec \*codec, int32_t errorCode, void \*userData) | typedef void(\*<br/>当OH_AVCodec实例运行发生错误时,该函数指针会被调用以报告具体错误信息。 | | [OH_AVCodecOnError](_codec_base.md#oh_avcodeconerror)) (OH_AVCodec \*codec, int32_t errorCode, void \*userData) | typedef void(\*<br/>当OH_AVCodec实例运行发生错误时,该函数指针会被调用以报告具体错误信息。 |
| [OH_AVCodecOnStreamChanged](_codec_base.md#ohavcodeconstreamchanged)) (OH_AVCodec \*codec, OH_AVFormat \*format, void \*userData) | typedef void(\*<br/>当输出流发生变化时,该函数指针会被调用以报告新的流描述信息。 需要注意的时,OH_AVFormat指针的生命周期仅维持在该函数指针被调用时上有效,禁止在调用结束后继续访问。 | | [OH_AVCodecOnStreamChanged](_codec_base.md#oh_avcodeconstreamchanged)) (OH_AVCodec \*codec, OH_AVFormat \*format, void \*userData) | typedef void(\*<br/>当输出流发生变化时,该函数指针会被调用以报告新的流描述信息。 需要注意的时,OH_AVFormat指针的生命周期仅维持在该函数指针被调用时上有效,禁止在调用结束后继续访问。 |
| [OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, void \*userData) | typedef void(\*<br/>当AVCodec运行过程中需要新的输入数据时,该函数指针会被调用,并携带一块可用的Buffer以供填入新的输入数据。 | | [OH_AVCodecOnNeedInputData](_codec_base.md#oh_avcodeconneedinputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, void \*userData) | typedef void(\*<br/>当AVCodec运行过程中需要新的输入数据时,该函数指针会被调用,并携带一块可用的Buffer以供填入新的输入数据。 |
| [OH_AVCodecOnNewOutputData](_codec_base.md#ohavcodeconnewoutputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) \*attr, void \*userData) | typedef void(\*<br/>当AVCodec运行过程中产生了新的输出数据时,该函数指针会被调用,并携带一块包含新输出数据的Buffer, 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅维持在该函数指针被调用时有效,禁止调用结束后继续访问。 | | [OH_AVCodecOnNewOutputData](_codec_base.md#oh_avcodeconnewoutputdata)) (OH_AVCodec \*codec, uint32_t index, OH_AVMemory \*data, [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) \*attr, void \*userData) | typedef void(\*<br/>当AVCodec运行过程中产生了新的输出数据时,该函数指针会被调用,并携带一块包含新输出数据的Buffer, 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅维持在该函数指针被调用时有效,禁止调用结束后继续访问。 |
| [OH_AVCodecAsyncCallback](_codec_base.md#ohavcodecasynccallback) | typedef struct [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)<br/>AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。 | | [OH_AVCodecAsyncCallback](_codec_base.md#oh_avcodecasynccallback) | typedef struct [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)<br/>AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。 |
| [OH_MediaType](_codec_base.md#ohmediatype) | typedef enum [OH_MediaType](_codec_base.md#ohmediatype)<br/>媒体类型。 | | [OH_MediaType](_codec_base.md#oh_mediatype) | typedef enum [OH_MediaType](_codec_base.md#oh_mediatype)<br/>媒体类型。 |
| [OH_AVCProfile](_codec_base.md#ohavcprofile) | typedef enum [OH_AVCProfile](_codec_base.md#ohavcprofile)<br/>AVC Profile枚举。 | | [OH_AVCProfile](_codec_base.md#oh_avcprofile) | typedef enum [OH_AVCProfile](_codec_base.md#oh_avcprofile)<br/>AVC Profile枚举。 |
| [OH_AACProfile](_codec_base.md#ohaacprofile) | typedef enum [OH_AACProfile](_codec_base.md#ohaacprofile)<br/>AAC Profile枚举。 | | [OH_AACProfile](_codec_base.md#oh_aacprofile) | typedef enum [OH_AACProfile](_codec_base.md#oh_aacprofile)<br/>AAC Profile枚举。 |
### 枚举 ### 枚举
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AVCodecBufferFlags](_codec_base.md#ohavcodecbufferflags) {<br/>**AVCODEC_BUFFER_FLAGS_NONE** = 0, [AVCODEC_BUFFER_FLAGS_EOS](_codec_base.md#gga9222f5c24f4bcbfb91a5d552dd777439a7946993493046fb2076a9e4addce0b98) = 1 &lt;&lt; 0, [AVCODEC_BUFFER_FLAGS_SYNC_FRAME](_codec_base.md#gga9222f5c24f4bcbfb91a5d552dd777439a4d85a25f4a9557f23e1144f9a137ddea) = 1 &lt;&lt; 1, [AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME](_codec_base.md#gga9222f5c24f4bcbfb91a5d552dd777439ac4c8a639feb36efde0d799d43fcfb59b) = 1 &lt;&lt; 2,<br/>[AVCODEC_BUFFER_FLAGS_CODEC_DATA](_codec_base.md#gga9222f5c24f4bcbfb91a5d552dd777439aba644475534bc79bfd3d43e1d28ab2f5) = 1 &lt;&lt; 3<br/>} | 枚举OH_AVCodec的Buffer标记的类别。 | | [OH_AVCodecBufferFlags](_codec_base.md#oh_avcodecbufferflags) {<br/>**AVCODEC_BUFFER_FLAGS_NONE** = 0, **AVCODEC_BUFFER_FLAGS_EOS** = 1 &lt;&lt; 0, **AVCODEC_BUFFER_FLAGS_SYNC_FRAME** = 1 &lt;&lt; 1, **AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME** = 1 &lt;&lt; 2,<br/> **AVCODEC_BUFFER_FLAGS_CODEC_DATA** = 1 &lt;&lt; 3<br/>} | 枚举OH_AVCodec的Buffer标记的类别。 |
| [OH_MediaType](_codec_base.md#ohmediatype) { [MEDIA_TYPE_AUD](_codec_base.md#gga28eb13d2f8f932345eeb3417d6e69e19ac0b3147adc27646ac965569adc38692e) = 0, [MEDIA_TYPE_VID](_codec_base.md#gga28eb13d2f8f932345eeb3417d6e69e19a0cbb91e5931fb03294c2d3bdbbc62dbd) = 1 } | 媒体类型。 | | [OH_MediaType](_codec_base.md#oh_mediatype) { **MEDIA_TYPE_AUD** = 0, **MEDIA_TYPE_VID** = 1 } | 媒体类型。 |
| [OH_AVCProfile](_codec_base.md#ohavcprofile) { **AVC_PROFILE_BASELINE** = 0, **AVC_PROFILE_HIGH** = 4, **AVC_PROFILE_MAIN** = 8 } | AVC Profile枚举。 | | [OH_AVCProfile](_codec_base.md#oh_avcprofile) { **AVC_PROFILE_BASELINE** = 0, **AVC_PROFILE_HIGH** = 4, **AVC_PROFILE_MAIN** = 8 } | AVC Profile枚举。 |
| [OH_AACProfile](_codec_base.md#ohaacprofile) { **AAC_PROFILE_LC** = 0 } | AAC Profile枚举。 | | [OH_AACProfile](_codec_base.md#oh_aacprofile) { **AAC_PROFILE_LC** = 0 } | AAC Profile枚举。 |
### 变量 ### 变量
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AVCODEC_MIMETYPE_VIDEO_AVC](_codec_base.md#ohavcodecmimetypevideoavc) | const char \*<br/>AVC视频编解码器的MIME类型。 | | [OH_AVCODEC_MIMETYPE_VIDEO_AVC](_codec_base.md#oh_avcodec_mimetype_video_avc) | const char \*<br/>AVC视频编解码器的MIME类型。 |
| [OH_AVCODEC_MIMETYPE_AUDIO_AAC](_codec_base.md#ohavcodecmimetypeaudioaac) | const char \*<br/>AAC音频编解码器的MIME类型。 | | [OH_AVCODEC_MIMETYPE_AUDIO_AAC](_codec_base.md#oh_avcodec_mimetype_audio_aac) | const char \*<br/>AAC音频编解码器的MIME类型。 |
| [OH_ED_KEY_TIME_STAMP](_codec_base.md#ohedkeytimestamp) | const char \*<br/>提供统一的surface Buffer附属数据的字符描述符。 | | [OH_ED_KEY_TIME_STAMP](_codec_base.md#oh_ed_key_time_stamp) | const char \*<br/>提供统一的surface Buffer附属数据的字符描述符。 |
| [OH_ED_KEY_EOS](_codec_base.md#ohedkeyeos) | const char \* | | [OH_ED_KEY_EOS](_codec_base.md#oh_ed_key_eos) | const char \* |
| [OH_MD_KEY_TRACK_TYPE](_codec_base.md#ohmdkeytracktype) | const char \*<br/>为媒体播放框架提供统一的字符描述符。 | | [OH_MD_KEY_TRACK_TYPE](_codec_base.md#oh_md_key_track_type) | const char \*<br/>为媒体播放框架提供统一的字符描述符。 |
| [OH_MD_KEY_CODEC_MIME](_codec_base.md#ohmdkeycodecmime) | const char \* | | [OH_MD_KEY_CODEC_MIME](_codec_base.md#oh_md_key_codec_mime) | const char \* |
| [OH_MD_KEY_DURATION](_codec_base.md#ohmdkeyduration) | const char \* | | [OH_MD_KEY_DURATION](_codec_base.md#oh_md_key_duration) | const char \* |
| [OH_MD_KEY_BITRATE](_codec_base.md#ohmdkeybitrate) | const char \* | | [OH_MD_KEY_BITRATE](_codec_base.md#oh_md_key_bitrate) | const char \* |
| [OH_MD_KEY_MAX_INPUT_SIZE](_codec_base.md#ohmdkeymaxinputsize) | const char \* | | [OH_MD_KEY_MAX_INPUT_SIZE](_codec_base.md#oh_md_key_max_input_size) | const char \* |
| [OH_MD_KEY_WIDTH](_codec_base.md#ohmdkeywidth) | const char \* | | [OH_MD_KEY_WIDTH](_codec_base.md#oh_md_key_width) | const char \* |
| [OH_MD_KEY_HEIGHT](_codec_base.md#ohmdkeyheight) | const char \* | | [OH_MD_KEY_HEIGHT](_codec_base.md#oh_md_key_height) | const char \* |
| [OH_MD_KEY_PIXEL_FORMAT](_codec_base.md#ohmdkeypixelformat) | const char \* | | [OH_MD_KEY_PIXEL_FORMAT](_codec_base.md#oh_md_key_pixel_format) | const char \* |
| [OH_MD_KEY_AUDIO_SAMPLE_FORMAT](_codec_base.md#ohmdkeyaudiosampleformat) | const char \* | | [OH_MD_KEY_AUDIO_SAMPLE_FORMAT](_codec_base.md#oh_md_key_audio_sample_format) | const char \* |
| [OH_MD_KEY_FRAME_RATE](_codec_base.md#ohmdkeyframerate) | const char \* | | [OH_MD_KEY_FRAME_RATE](_codec_base.md#oh_md_key_frame_rate) | const char \* |
| [OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE](_codec_base.md#ohmdkeyvideoencodebitratemode) | const char \* | | [OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE](_codec_base.md#oh_md_key_video_encode_bitrate_mode) | const char \* |
| [OH_MD_KEY_PROFILE](_codec_base.md#ohmdkeyprofile) | const char \* | | [OH_MD_KEY_PROFILE](_codec_base.md#oh_md_key_profile) | const char \* |
| [OH_MD_KEY_AUD_CHANNEL_COUNT](_codec_base.md#ohmdkeyaudchannelcount) | const char \* | | [OH_MD_KEY_AUD_CHANNEL_COUNT](_codec_base.md#oh_md_key_aud_channel_count) | const char \* |
| [OH_MD_KEY_AUD_SAMPLE_RATE](_codec_base.md#ohmdkeyaudsamplerate) | const char \* | | [OH_MD_KEY_AUD_SAMPLE_RATE](_codec_base.md#oh_md_key_aud_sample_rate) | const char \* |
| [OH_MD_KEY_I_FRAME_INTERVAL](_codec_base.md#ohmdkeyiframeinterval) | const char \* | | [OH_MD_KEY_I_FRAME_INTERVAL](_codec_base.md#oh_md_key_i_frame_interval) | const char \* |
| [OH_MD_KEY_ROTATION](_codec_base.md#ohmdkeyrotation) | const char \* | | [OH_MD_KEY_ROTATION](_codec_base.md#oh_md_key_rotation) | const char \* |
...@@ -28,12 +28,12 @@ ...@@ -28,12 +28,12 @@
| [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#ohvideodecodersetsurface) (OH_AVCodec \*codec, OHNativeWindow \*window) | [OH_AVErrCode](_core.md#ohaverrcode)<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#ohvideodecoderconfigure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<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#ohvideodecoderprepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备解码器内部资源,调用该接口前必须先调用Configure接口。 |
| [OH_VideoDecoder_Start](_video_decoder.md#ohvideodecoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。 | | [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_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#ohvideodecoderstop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<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#ohvideodecoderflush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<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#ohvideodecoderreset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<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#ohvideodecodergetoutputdescription) (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#ohvideodecodersetparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<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#ohavcodeconneedinputdata)回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata) 回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程,例如H264格式的PPS/SPS数据。 | | [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_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#ohvideodecoderrenderoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#ohaverrcode)<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#ohvideodecoderfreeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器。 |
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_VideoEncodeBitrateMode](_video_encoder.md#ohvideoencodebitratemode) { [CBR](_video_encoder.md#ggae5aed6bb1e318f7fc489a7cb859578e1adb1ecf549b5c6f145b2aff320909c70e) = 0, [VBR](_video_encoder.md#ggae5aed6bb1e318f7fc489a7cb859578e1a5cd8a75942875437b0216e7e61693596) = 1, [CQ](_video_encoder.md#ggae5aed6bb1e318f7fc489a7cb859578e1a3714c38a79124f71d2ec3fa8f9c03bc4) = 2 } | 视频编码的比特率模式。 | | [OH_VideoEncodeBitrateMode](_video_encoder.md#ohvideoencodebitratemode) { **CBR** = 0, **VBR** = 1, **CQ** = 2 } | 视频编码的比特率模式。 |
### 函数 ### 函数
...@@ -41,12 +41,12 @@ ...@@ -41,12 +41,12 @@
| [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#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_Configure](_video_encoder.md#ohvideoencoderconfigure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置视频编码器,典型地,需要配置被编码视频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 | | [OH_VideoEncoder_Configure](_video_encoder.md#ohvideoencoderconfigure) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<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#ohvideoencoderprepare) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备编码器内部资源,调用该接口前必须先调用Configure接口。 |
| [OH_VideoEncoder_Start](_video_encoder.md#ohvideoencoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。 | | [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_Stop](_video_encoder.md#ohvideoencoderstop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止编码器。在停止后可通过Start重新进入Started状态。 | | [OH_VideoEncoder_Stop](_video_encoder.md#ohvideoencoderstop) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<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#ohvideoencoderflush) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<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#ohvideoencoderreset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<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#ohvideoencodergetoutputdescription) (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#ohvideoencodersetparameter) (OH_AVCodec \*codec, OH_AVFormat \*format) | [OH_AVErrCode](_core.md#ohaverrcode)<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#ohvideoencodergetsurface) (OH_AVCodec \*codec, OHNativeWindow \*\*window) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>从视频编码器获取输入Surface, 该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoEncoder_FreeOutputData](_video_encoder.md#ohvideoencoderfreeoutputdata) (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#ohaverrcode)<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#ohvideoencodernotifyendofstream) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>通知视频编码器输入码流已结束。surface模式推荐使用该接口通知编码器码流结束。 |
...@@ -28,4 +28,4 @@ ...@@ -28,4 +28,4 @@
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AVErrCode](_core.md#ohaverrcode) {<br/>[AV_ERR_OK](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1aeaf39666b93f2c3263e52b6bad3da8d2) = 0, [AV_ERR_NO_MEMORY](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1ad4ba07b3fe5ca3df1f48345f7f9f631f) = 1, [AV_ERR_OPERATE_NOT_PERMIT](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1a2db9dd1e243f7738320dfa732f041669) = 2, [AV_ERR_INVALID_VAL](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1a96d898ca31466839ae39aede4e5266c2) = 3,<br/>[AV_ERR_IO](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1a70c6b7d0ba398f625e7b9741284e8d35) = 4, [AV_ERR_TIMEOUT](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1ad6ce699f9caf6cbff1b4b50c1b74d8ed) = 5, [AV_ERR_UNKNOWN](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1a7a9dc8845fe08a6f04adcf0997bddd85) = 6, [AV_ERR_SERVICE_DIED](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1a71e0aa7596904781989f43490a4fad88) = 7,<br/>[AV_ERR_INVALID_STATE](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1a369dde180c1423e3d7a4844dcbf94938) = 8, [AV_ERR_UNSUPPORT](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1a393021797634f5e26b1fcd16f701330d) = 9, [AV_ERR_EXTEND_START](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1a2c08394f90d05e0f08c5fe7b5fa243fd) = 100<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/>} | 音视频错误码。 |
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
| 名称 | 描述 | | 名称 | 描述 |
| -------- | -------- | | -------- | -------- |
| [OH_AVPixelFormat](_core.md#ohavpixelformat) {<br/>[AV_PIXEL_FORMAT_YUVI420](_core.md#ggab04647d11a5a280f7427f9478ae2890ea961a1167e79625d6e72193f4fbb1add7) = 1, [AV_PIXEL_FORMAT_NV12](_core.md#ggab04647d11a5a280f7427f9478ae2890eac65005d3e8437c615d4c4e051dfb4533) = 2, [AV_PIXEL_FORMAT_NV21](_core.md#ggab04647d11a5a280f7427f9478ae2890eab324169419f675fc7ab9a786a5588543) = 3, [AV_PIXEL_FORMAT_SURFACE_FORMAT](_core.md#ggab04647d11a5a280f7427f9478ae2890eabc2c11f0feacf52e43b323383f486608) = 4,<br/>[AV_PIXEL_FORMAT_RGBA](_core.md#ggab04647d11a5a280f7427f9478ae2890ea2c15b220da3b7e9043d41f6e789249f0) = 5<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 格式的枚举。 |
### 函数 ### 函数
......
...@@ -1154,7 +1154,6 @@ ...@@ -1154,7 +1154,6 @@
- [@ohos.reminderAgent (后台代理提醒)](reference/apis/js-apis-reminderAgent.md) - [@ohos.reminderAgent (后台代理提醒)](reference/apis/js-apis-reminderAgent.md)
- [@ohos.systemParameter (系统属性)](reference/apis/js-apis-system-parameter.md) - [@ohos.systemParameter (系统属性)](reference/apis/js-apis-system-parameter.md)
- [@ohos.usb (USB管理)](reference/apis/js-apis-usb-deprecated.md) - [@ohos.usb (USB管理)](reference/apis/js-apis-usb-deprecated.md)
- [@ohos.workScheduler (延迟任务调度)](reference/apis/js-apis-workScheduler.md)
- [@system.app (应用上下文)](reference/apis/js-apis-system-app.md) - [@system.app (应用上下文)](reference/apis/js-apis-system-app.md)
- [@system.battery (电量信息)](reference/apis/js-apis-system-battery.md) - [@system.battery (电量信息)](reference/apis/js-apis-system-battery.md)
- [@system.bluetooth (蓝牙)](reference/apis/js-apis-system-bluetooth.md) - [@system.bluetooth (蓝牙)](reference/apis/js-apis-system-bluetooth.md)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册