提交 3b6ece5c 编写于 作者: Z zengyawen

add media and avsession native api

Signed-off-by: Nzengyawen <zengyawen1@huawei.com>
上级 e5f44c6b
......@@ -19,27 +19,27 @@ AudioDecoder模块提供用于音频解码功能的函数。
| 名称 | 描述 |
| -------- | -------- |
| [native_avcodec_audiodecoder.h](native__avcodec__audiodecoder_8h.md) | 声明用于音频解码的Native&nbsp;API。&nbsp; |
| [native_avcodec_audiodecoder.h](native__avcodec__audiodecoder_8h.md) | 声明用于音频解码的Native API。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
| [OH_AudioDecoder_CreateByMime](#ohaudiodecodercreatebymime)&nbsp;(const&nbsp;char&nbsp;\*mime) | OH_AVCodec&nbsp;\*<br/>通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。&nbsp; |
| [OH_AudioDecoder_CreateByName](#ohaudiodecodercreatebyname)&nbsp;(const&nbsp;char&nbsp;\*name) | OH_AVCodec&nbsp;\*<br/>通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。&nbsp; |
| [OH_AudioDecoder_Destroy](#ohaudiodecoderdestroy)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部资源,并销毁解码器实例&nbsp; |
| [OH_AudioDecoder_SetCallback](#ohaudiodecodersetcallback)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)&nbsp;callback,&nbsp;void&nbsp;\*userData) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应音频解码器产生的事件,该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_AudioDecoder_Configure](#ohaudiodecoderconfigure)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OH_AVFormat&nbsp;\*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置音频解码器,典型地,需要配置被解码音频轨道的描述信息,这些信息能够从容器中提取出来,&nbsp;该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_AudioDecoder_Prepare](#ohaudiodecoderprepare)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备解码器内部资源,调用该接口前必须先调用Configure接口。&nbsp; |
| [OH_AudioDecoder_Start](#ohaudiodecoderstart)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动解码器,该接口必须在已经Prepare成功后调用。&nbsp;在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。&nbsp; |
| [OH_AudioDecoder_Stop](#ohaudiodecoderstop)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过&nbsp;Codec-Specific-Data,则需要重新输入。&nbsp; |
| [OH_AudioDecoder_Flush](#ohaudiodecoderflush)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将&nbsp;失效,确保不要再访问这些索引对应的Buffers。&nbsp; |
| [OH_AudioDecoder_Reset](#ohaudiodecoderreset)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。&nbsp; |
| [OH_AudioDecoder_GetOutputDescription](#ohaudiodecodergetoutputdescription)&nbsp;(OH_AVCodec&nbsp;\*codec) | OH_AVFormat&nbsp;\*<br/>获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。&nbsp; |
| [OH_AudioDecoder_SetParameter](#ohaudiodecodersetparameter)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OH_AVFormat&nbsp;\*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。&nbsp; |
| [OH_AudioDecoder_PushInputData](#ohaudiodecoderpushinputdata)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index,&nbsp;[OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)&nbsp;attr) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将填充好数据的输入Buffer提交给音频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)回调会报告可用的输入&nbsp;Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)&nbsp;回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入&nbsp;Codec-Specific-Data,用以初始化解码器的解码过程。&nbsp; |
| [OH_AudioDecoder_FreeOutputData](#ohaudiodecoderfreeoutputdata)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器。&nbsp; |
| [OH_AudioDecoder_CreateByMime](#ohaudiodecodercreatebymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。 |
| [OH_AudioDecoder_CreateByName](#ohaudiodecodercreatebyname) (const char \*name) | OH_AVCodec \*<br/>通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 |
| [OH_AudioDecoder_Destroy](#ohaudiodecoderdestroy) (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_Configure](#ohaudiodecoderconfigure) (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_Start](#ohaudiodecoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。 |
| [OH_AudioDecoder_Stop](#ohaudiodecoderstop) (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_Reset](#ohaudiodecoderreset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 |
| [OH_AudioDecoder_GetOutputDescription](#ohaudiodecodergetoutputdescription) (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_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_FreeOutputData](#ohaudiodecoderfreeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器。 |
## 函数说明
......@@ -60,8 +60,8 @@ OH_AVErrCode OH_AudioDecoder_Configure (OH_AVCodec * codec, OH_AVFormat * format
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| format | 指向OH_AVFormat的指针,用以给出待解码音频轨道的描述信息&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| format | 指向OH_AVFormat的指针,用以给出待解码音频轨道的描述信息 |
**返回:**
......@@ -107,7 +107,7 @@ OH_AVCodec* OH_AudioDecoder_CreateByName (const char * name)
| 名称 | 描述 |
| -------- | -------- |
| name | 音频解码器名称&nbsp; |
| name | 音频解码器名称 |
**返回:**
......@@ -129,7 +129,7 @@ OH_AVErrCode OH_AudioDecoder_Destroy (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -153,7 +153,7 @@ OH_AVErrCode OH_AudioDecoder_Flush (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -177,8 +177,8 @@ OH_AVErrCode OH_AudioDecoder_FreeOutputData (OH_AVCodec * codec, uint32_t index
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| index | 输出Buffer对应的索引值&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| index | 输出Buffer对应的索引值 |
**返回:**
......@@ -202,7 +202,7 @@ OH_AVFormat* OH_AudioDecoder_GetOutputDescription (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -224,7 +224,7 @@ OH_AVErrCode OH_AudioDecoder_Prepare (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -248,9 +248,9 @@ OH_AVErrCode OH_AudioDecoder_PushInputData (OH_AVCodec * codec, uint32_t index,
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| index | 输入Buffer对应的索引值&nbsp; |
| attr | 描述该Buffer内所包含数据的信息&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| index | 输入Buffer对应的索引值 |
| attr | 描述该Buffer内所包含数据的信息 |
**返回:**
......@@ -274,7 +274,7 @@ OH_AVErrCode OH_AudioDecoder_Reset (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -298,9 +298,9 @@ OH_AVErrCode OH_AudioDecoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCal
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| callback | 一个包含所有回调函数的集合体,参考[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) |
| userData | 用户特定数据&nbsp; |
| userData | 用户特定数据 |
**返回:**
......@@ -324,8 +324,8 @@ OH_AVErrCode OH_AudioDecoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| format | OH_AVFormat句柄指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| format | OH_AVFormat句柄指针 |
**返回:**
......@@ -349,7 +349,7 @@ OH_AVErrCode OH_AudioDecoder_Start (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -373,7 +373,7 @@ OH_AVErrCode OH_AudioDecoder_Stop (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......
......@@ -19,27 +19,27 @@ AudioEncoder模块提供用于音频编码功能的函数。
| 名称 | 描述 |
| -------- | -------- |
| [native_avcodec_audioencoder.h](native__avcodec__audioencoder_8h.md) | 声明用于音频编码的Native&nbsp;API。&nbsp; |
| [native_avcodec_audioencoder.h](native__avcodec__audioencoder_8h.md) | 声明用于音频编码的Native API。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
| [OH_AudioEncoder_CreateByMime](#ohaudioencodercreatebymime)&nbsp;(const&nbsp;char&nbsp;\*mime) | OH_AVCodec&nbsp;\*<br/>通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。&nbsp; |
| [OH_AudioEncoder_CreateByName](#ohaudioencodercreatebyname)&nbsp;(const&nbsp;char&nbsp;\*name) | OH_AVCodec&nbsp;\*<br/>通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。&nbsp; |
| [OH_AudioEncoder_Destroy](#ohaudioencoderdestroy)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部资源,并销毁编码器实例。&nbsp; |
| [OH_AudioEncoder_SetCallback](#ohaudioencodersetcallback)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)&nbsp;callback,&nbsp;void&nbsp;\*userData) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应音频编码器产生的事件,该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_AudioEncoder_Configure](#ohaudioencoderconfigure)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OH_AVFormat&nbsp;\*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置音频编码器,典型地,需要配置被编码音频轨道的描述信息,该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_AudioEncoder_Prepare](#ohaudioencoderprepare)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备编码器内部资源,调用该接口前必须先调用Configure接口。&nbsp; |
| [OH_AudioEncoder_Start](#ohaudioencoderstart)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。&nbsp;在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。&nbsp; |
| [OH_AudioEncoder_Stop](#ohaudioencoderstop)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止编码器。在停止后可通过Start重新进入Started状态。&nbsp; |
| [OH_AudioEncoder_Flush](#ohaudioencoderflush)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将&nbsp;失效,确保不要再访问这些索引对应的Buffers。&nbsp; |
| [OH_AudioEncoder_Reset](#ohaudioencoderreset)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。&nbsp; |
| [OH_AudioEncoder_GetOutputDescription](#ohaudioencodergetoutputdescription)&nbsp;(OH_AVCodec&nbsp;\*codec) | OH_AVFormat&nbsp;\*<br/>获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。&nbsp; |
| [OH_AudioEncoder_SetParameter](#ohaudioencodersetparameter)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OH_AVFormat&nbsp;\*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。&nbsp; |
| [OH_AudioEncoder_PushInputData](#ohaudioencoderpushinputdata)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index,&nbsp;[OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)&nbsp;attr) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将填充好数据的输入Buffer提交给音频编码器。[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)回调会报告可用的输入&nbsp;Buffer及对应的索引值。一旦指定索引的Buffer被提交给编码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)&nbsp;回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。&nbsp; |
| [OH_AudioEncoder_FreeOutputData](#ohaudioencoderfreeoutputdata)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给编码器。&nbsp; |
| [OH_AudioEncoder_CreateByMime](#ohaudioencodercreatebymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。 |
| [OH_AudioEncoder_CreateByName](#ohaudioencodercreatebyname) (const char \*name) | OH_AVCodec \*<br/>通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 |
| [OH_AudioEncoder_Destroy](#ohaudioencoderdestroy) (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_Configure](#ohaudioencoderconfigure) (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_Start](#ohaudioencoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。 |
| [OH_AudioEncoder_Stop](#ohaudioencoderstop) (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_Reset](#ohaudioencoderreset) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 |
| [OH_AudioEncoder_GetOutputDescription](#ohaudioencodergetoutputdescription) (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_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_FreeOutputData](#ohaudioencoderfreeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给编码器。 |
## 函数说明
......@@ -60,8 +60,8 @@ OH_AVErrCode OH_AudioEncoder_Configure (OH_AVCodec * codec, OH_AVFormat * format
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| format | OH_AVFormat句柄指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| format | OH_AVFormat句柄指针 |
**返回:**
......@@ -107,7 +107,7 @@ OH_AVCodec* OH_AudioEncoder_CreateByName (const char * name)
| 名称 | 描述 |
| -------- | -------- |
| name | 音频编码器名称&nbsp; |
| name | 音频编码器名称 |
**返回:**
......@@ -129,7 +129,7 @@ OH_AVErrCode OH_AudioEncoder_Destroy (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -153,7 +153,7 @@ OH_AVErrCode OH_AudioEncoder_Flush (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -177,8 +177,8 @@ OH_AVErrCode OH_AudioEncoder_FreeOutputData (OH_AVCodec * codec, uint32_t index
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| index | 输出Buffer对应的索引值&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| index | 输出Buffer对应的索引值 |
**返回:**
......@@ -202,7 +202,7 @@ OH_AVFormat* OH_AudioEncoder_GetOutputDescription (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -224,7 +224,7 @@ OH_AVErrCode OH_AudioEncoder_Prepare (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -248,9 +248,9 @@ OH_AVErrCode OH_AudioEncoder_PushInputData (OH_AVCodec * codec, uint32_t index,
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| index | 输入Buffer对应的索引值&nbsp; |
| attr | 描述该Buffer内所包含数据的信息&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| index | 输入Buffer对应的索引值 |
| attr | 描述该Buffer内所包含数据的信息 |
**返回:**
......@@ -274,7 +274,7 @@ OH_AVErrCode OH_AudioEncoder_Reset (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -298,9 +298,9 @@ OH_AVErrCode OH_AudioEncoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCal
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| callback | 一个包含所有回调函数的集合体,参考[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) |
| userData | 用户特定数据&nbsp; |
| userData | 用户特定数据 |
**返回:**
......@@ -324,8 +324,8 @@ OH_AVErrCode OH_AudioEncoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| format | OH_AVFormat句柄指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| format | OH_AVFormat句柄指针 |
**返回:**
......@@ -349,7 +349,7 @@ OH_AVErrCode OH_AudioEncoder_Start (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -373,7 +373,7 @@ OH_AVErrCode OH_AudioEncoder_Stop (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......
......@@ -19,77 +19,77 @@ CodecBase模块提供运行音视频编解码通用的结构体、字符常量
| 名称 | 描述 |
| -------- | -------- |
| [native_avcodec_base.h](native__avcodec__base_8h.md) | 声明运行音视频编解码通用的结构体、字符常量、枚举。&nbsp; |
| [native_avcodec_base.h](native__avcodec__base_8h.md) | 声明运行音视频编解码通用的结构体、字符常量、枚举。 |
### 结构体
| 名称 | 描述 |
| -------- | -------- |
| [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) | struct<br/>定义OH_AVCodec的Buffer描述信息。&nbsp; |
| [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) | struct<br/>AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告&nbsp;的信息,以确保AVCodec正常运转。&nbsp; |
| [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) | struct<br/>定义OH_AVCodec的Buffer描述信息。 |
| [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) | struct<br/>AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。 |
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
| **OHNativeWindow** | typedef&nbsp;struct&nbsp;NativeWindow |
| **OH_AVCodec** | typedef&nbsp;struct&nbsp;OH_AVCodec |
| [OH_AVCodecBufferFlags](#ohavcodecbufferflags) | typedef&nbsp;enum&nbsp;[OH_AVCodecBufferFlags](#ohavcodecbufferflags)<br/>枚举OH_AVCodec的Buffer标记的类别。&nbsp; |
| [OH_AVCodecBufferAttr](#ohavcodecbufferattr) | typedef&nbsp;struct&nbsp;[OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)<br/>定义OH_AVCodec的Buffer描述信息。&nbsp; |
| [OH_AVCodecOnError](#ohavcodeconerror))&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;int32_t&nbsp;errorCode,&nbsp;void&nbsp;\*userData) | typedef&nbsp;void(\*<br/>当OH_AVCodec实例运行发生错误时,该函数指针会被调用以报告具体错误信息。&nbsp; |
| [OH_AVCodecOnStreamChanged](#ohavcodeconstreamchanged))&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OH_AVFormat&nbsp;\*format,&nbsp;void&nbsp;\*userData) | typedef&nbsp;void(\*<br/>当输出流发生变化时,该函数指针会被调用以报告新的流描述信息。&nbsp;需要注意的时,OH_AVFormat指针的生命周期仅维持在该函数指针被调用时上有效,禁止在调用结束后继续访问。&nbsp; |
| [OH_AVCodecOnNeedInputData](#ohavcodeconneedinputdata))&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index,&nbsp;OH_AVMemory&nbsp;\*data,&nbsp;void&nbsp;\*userData) | typedef&nbsp;void(\*<br/>当AVCodec运行过程中需要新的输入数据时,该函数指针会被调用,并携带一块可用的Buffer以供填入新的输入数据。&nbsp; |
| [OH_AVCodecOnNewOutputData](#ohavcodeconnewoutputdata))&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index,&nbsp;OH_AVMemory&nbsp;\*data,&nbsp;[OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)&nbsp;\*attr,&nbsp;void&nbsp;\*userData) | typedef&nbsp;void(\*<br/>当AVCodec运行过程中产生了新的输出数据时,该函数指针会被调用,并携带一块包含新输出数据的Buffer,&nbsp;需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅维持在该函数指针被调用时有效,禁止调用结束后继续访问。&nbsp; |
| [OH_AVCodecAsyncCallback](#ohavcodecasynccallback) | typedef&nbsp;struct&nbsp;[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)<br/>AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告&nbsp;的信息,以确保AVCodec正常运转。&nbsp; |
| [OH_MediaType](#ohmediatype) | typedef&nbsp;enum&nbsp;[OH_MediaType](#ohmediatype)<br/>媒体类型。&nbsp; |
| [OH_AVCProfile](#ohavcprofile) | typedef&nbsp;enum&nbsp;[OH_AVCProfile](#ohavcprofile)<br/>AVC&nbsp;Profile枚举。&nbsp; |
| [OH_AACProfile](#ohaacprofile) | typedef&nbsp;enum&nbsp;[OH_AACProfile](#ohaacprofile)<br/>AAC&nbsp;Profile枚举。&nbsp; |
| **OHNativeWindow** | typedef struct NativeWindow |
| **OH_AVCodec** | typedef struct OH_AVCodec |
| [OH_AVCodecBufferFlags](#ohavcodecbufferflags) | typedef enum [OH_AVCodecBufferFlags](#ohavcodecbufferflags)<br/>枚举OH_AVCodec的Buffer标记的类别。 |
| [OH_AVCodecBufferAttr](#ohavcodecbufferattr) | 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_AVCodecOnStreamChanged](#ohavcodeconstreamchanged)) (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_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_AVCodecAsyncCallback](#ohavcodecasynccallback) | 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_AVCProfile](#ohavcprofile) | typedef enum [OH_AVCProfile](#ohavcprofile)<br/>AVC Profile枚举。 |
| [OH_AACProfile](#ohaacprofile) | typedef enum [OH_AACProfile](#ohaacprofile)<br/>AAC Profile枚举。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
| [OH_AVCodecBufferFlags](#ohavcodecbufferflags)&nbsp;{<br/>**AVCODEC_BUFFER_FLAGS_NONE**&nbsp;=&nbsp;0,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473612293.xml#xref1210167552182348,link:zh-cn_topic_0000001473612293.xml#gga9222f5c24f4bcbfb91a5d552dd777439a7946993493046fb2076a9e4addce0b98](#gga9222f5c24f4bcbfb91a5d552dd777439a7946993493046fb2076a9e4addce0b98)&nbsp;=&nbsp;1&nbsp;&lt;&lt;&nbsp;0,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473612293.xml#xref147761475182348,link:zh-cn_topic_0000001473612293.xml#gga9222f5c24f4bcbfb91a5d552dd777439a4d85a25f4a9557f23e1144f9a137ddea](#gga9222f5c24f4bcbfb91a5d552dd777439a4d85a25f4a9557f23e1144f9a137ddea)&nbsp;=&nbsp;1&nbsp;&lt;&lt;&nbsp;1,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473612293.xml#xref89189050182348,link:zh-cn_topic_0000001473612293.xml#gga9222f5c24f4bcbfb91a5d552dd777439ac4c8a639feb36efde0d799d43fcfb59b](#gga9222f5c24f4bcbfb91a5d552dd777439ac4c8a639feb36efde0d799d43fcfb59b)&nbsp;=&nbsp;1&nbsp;&lt;&lt;&nbsp;2,<br/>[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473612293.xml#xref1599285555182348,link:zh-cn_topic_0000001473612293.xml#gga9222f5c24f4bcbfb91a5d552dd777439aba644475534bc79bfd3d43e1d28ab2f5](#gga9222f5c24f4bcbfb91a5d552dd777439aba644475534bc79bfd3d43e1d28ab2f5)&nbsp;=&nbsp;1&nbsp;&lt;&lt;&nbsp;3<br/>} | 枚举OH_AVCodec的Buffer标记的类别。&nbsp; |
| [OH_MediaType](#ohmediatype)&nbsp;{&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473612293.xml#xref493726308182348,link:zh-cn_topic_0000001473612293.xml#gga28eb13d2f8f932345eeb3417d6e69e19ac0b3147adc27646ac965569adc38692e](#gga28eb13d2f8f932345eeb3417d6e69e19ac0b3147adc27646ac965569adc38692e)&nbsp;=&nbsp;0,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473612293.xml#xref25548070182348,link:zh-cn_topic_0000001473612293.xml#gga28eb13d2f8f932345eeb3417d6e69e19a0cbb91e5931fb03294c2d3bdbbc62dbd](#gga28eb13d2f8f932345eeb3417d6e69e19a0cbb91e5931fb03294c2d3bdbbc62dbd)&nbsp;=&nbsp;1&nbsp;} | 媒体类型。&nbsp; |
| [OH_AVCProfile](#ohavcprofile)&nbsp;{&nbsp;**AVC_PROFILE_BASELINE**&nbsp;=&nbsp;0,&nbsp;**AVC_PROFILE_HIGH**&nbsp;=&nbsp;4,&nbsp;**AVC_PROFILE_MAIN**&nbsp;=&nbsp;8&nbsp;} | AVC&nbsp;Profile枚举。&nbsp; |
| [OH_AACProfile](#ohaacprofile)&nbsp;{&nbsp;**AAC_PROFILE_LC**&nbsp;=&nbsp;0&nbsp;} | AAC&nbsp;Profile枚举。&nbsp; |
| [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_MediaType](#ohmediatype) { **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_AACProfile](#ohaacprofile) { **AAC_PROFILE_LC** = 0 } | AAC Profile枚举。 |
### 变量
| 名称 | 描述 |
| -------- | -------- |
| [OH_AVCodecBufferAttr::pts](#pts) | int64_t<br/>以微秒为单位表示的该Buffer的Presentation时间戳&nbsp; |
| [OH_AVCodecBufferAttr::size](#size) | int32_t<br/>以字节为单位表示的该Buffer内所包含数据的大小&nbsp; |
| [OH_AVCodecBufferAttr::offset](#offset) | int32_t<br/>有效数据在该Buffer内的起始偏移量&nbsp; |
| [OH_AVCodecBufferAttr::flags](#flags) | uint32_t<br/>该Buffer具有的标记,也是多个[OH_AVCodecBufferFlags](#ohavcodecbufferflags)的组合&nbsp; |
| [OH_AVCodecBufferAttr::pts](#pts) | int64_t<br/>以微秒为单位表示的该Buffer的Presentation时间戳 |
| [OH_AVCodecBufferAttr::size](#size) | int32_t<br/>以字节为单位表示的该Buffer内所包含数据的大小 |
| [OH_AVCodecBufferAttr::offset](#offset) | int32_t<br/>有效数据在该Buffer内的起始偏移量 |
| [OH_AVCodecBufferAttr::flags](#flags) | uint32_t<br/>该Buffer具有的标记,也是多个[OH_AVCodecBufferFlags](#ohavcodecbufferflags)的组合 |
| **OH_AVCodecAsyncCallback::onError** | [OH_AVCodecOnError](#ohavcodeconerror) |
| **OH_AVCodecAsyncCallback::onStreamChanged** | [OH_AVCodecOnStreamChanged](#ohavcodeconstreamchanged) |
| **OH_AVCodecAsyncCallback::onNeedInputData** | [OH_AVCodecOnNeedInputData](#ohavcodeconneedinputdata) |
| **OH_AVCodecAsyncCallback::onNeedOutputData** | [OH_AVCodecOnNewOutputData](#ohavcodeconnewoutputdata) |
| [OH_AVCODEC_MIMETYPE_VIDEO_AVC](#ohavcodecmimetypevideoavc) | const&nbsp;char&nbsp;\*<br/>AVC视频编解码器的MIME类型。&nbsp; |
| [OH_AVCODEC_MIMETYPE_AUDIO_AAC](#ohavcodecmimetypeaudioaac) | const&nbsp;char&nbsp;\*<br/>AAC音频编解码器的MIME类型。&nbsp; |
| [OH_ED_KEY_TIME_STAMP](#ohedkeytimestamp) | const&nbsp;char&nbsp;\*<br/>提供统一的surface&nbsp;Buffer附属数据的字符描述符。&nbsp; |
| [OH_ED_KEY_EOS](#ohedkeyeos) | const&nbsp;char&nbsp;\*<br/>surface附属数据中结束流的字符描述符,值类型为bool&nbsp; |
| [OH_MD_KEY_TRACK_TYPE](#ohmdkeytracktype) | const&nbsp;char&nbsp;\*<br/>为媒体播放框架提供统一的字符描述符。&nbsp; |
| [OH_MD_KEY_CODEC_MIME](#ohmdkeycodecmime) | const&nbsp;char&nbsp;\*<br/>mime类型的字符描述符,值类型为string&nbsp; |
| [OH_MD_KEY_DURATION](#ohmdkeyduration) | const&nbsp;char&nbsp;\*<br/>duration的字符描述符,值类型为int64_t&nbsp; |
| [OH_MD_KEY_BITRATE](#ohmdkeybitrate) | const&nbsp;char&nbsp;\*<br/>比特率的字符描述符,值类型为uint32_t&nbsp; |
| [OH_MD_KEY_MAX_INPUT_SIZE](#ohmdkeymaxinputsize) | const&nbsp;char&nbsp;\*<br/>最大输入尺寸的字符描述符,值类型为uint32_t&nbsp; |
| [OH_MD_KEY_WIDTH](#ohmdkeywidth) | const&nbsp;char&nbsp;\*<br/>视频宽度的字符描述符,值类型为uint32_t&nbsp; |
| [OH_MD_KEY_HEIGHT](#ohmdkeyheight) | const&nbsp;char&nbsp;\*<br/>视频高度的字符描述符,值类型为uint32_t&nbsp; |
| [OH_MD_KEY_PIXEL_FORMAT](#ohmdkeypixelformat) | const&nbsp;char&nbsp;\*<br/>视频像素格式的字符描述符,值类型为int32_t,具体见[OH_AVPixelFormat](_core.md#ohavpixelformat) |
| [OH_MD_KEY_AUDIO_SAMPLE_FORMAT](#ohmdkeyaudiosampleformat) | const&nbsp;char&nbsp;\*<br/>音频采样格式的字符描述符,值类型为uint32_t&nbsp; |
| [OH_MD_KEY_FRAME_RATE](#ohmdkeyframerate) | const&nbsp;char&nbsp;\*<br/>视频帧率的字符描述符,值类型为double&nbsp; |
| [OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE](#ohmdkeyvideoencodebitratemode) | const&nbsp;char&nbsp;\*<br/>视频编码比特率模式的字符描述符,值类型为int32_t,具体见[OH_VideoEncodeBitrateMode](_video_encoder.md#ohvideoencodebitratemode) |
| [OH_MD_KEY_PROFILE](#ohmdkeyprofile) | const&nbsp;char&nbsp;\*<br/>音视频编码能力的字符描述符,值类型为int32_t,具体见[OH_AVCProfile](#ohavcprofile)[OH_AACProfile](#ohaacprofile) |
| [OH_MD_KEY_AUD_CHANNEL_COUNT](#ohmdkeyaudchannelcount) | const&nbsp;char&nbsp;\*<br/>音频声道数的字符描述符,值类型为uint32_t&nbsp; |
| [OH_MD_KEY_AUD_SAMPLE_RATE](#ohmdkeyaudsamplerate) | const&nbsp;char&nbsp;\*<br/>音频采样率的字符描述符,值类型为uint32_t&nbsp; |
| [OH_MD_KEY_I_FRAME_INTERVAL](#ohmdkeyiframeinterval) | const&nbsp;char&nbsp;\*<br/>I帧间隔时长的字符描述符,值类型为int32_t,单位是毫秒&nbsp; |
| [OH_MD_KEY_ROTATION](#ohmdkeyrotation) | const&nbsp;char&nbsp;\*<br/>surface旋转角度的字符描述符,值类型为int32_t,限于{0,&nbsp;90,&nbsp;180,&nbsp;270},默认值为0&nbsp; |
| [OH_AVCODEC_MIMETYPE_VIDEO_AVC](#ohavcodecmimetypevideoavc) | const char \*<br/>AVC视频编解码器的MIME类型。 |
| [OH_AVCODEC_MIMETYPE_AUDIO_AAC](#ohavcodecmimetypeaudioaac) | const char \*<br/>AAC音频编解码器的MIME类型。 |
| [OH_ED_KEY_TIME_STAMP](#ohedkeytimestamp) | const char \*<br/>提供统一的surface Buffer附属数据的字符描述符。 |
| [OH_ED_KEY_EOS](#ohedkeyeos) | const char \*<br/>surface附属数据中结束流的字符描述符,值类型为bool |
| [OH_MD_KEY_TRACK_TYPE](#ohmdkeytracktype) | const char \*<br/>为媒体播放框架提供统一的字符描述符。 |
| [OH_MD_KEY_CODEC_MIME](#ohmdkeycodecmime) | const char \*<br/>mime类型的字符描述符,值类型为string |
| [OH_MD_KEY_DURATION](#ohmdkeyduration) | const char \*<br/>duration的字符描述符,值类型为int64_t |
| [OH_MD_KEY_BITRATE](#ohmdkeybitrate) | const char \*<br/>比特率的字符描述符,值类型为uint32_t |
| [OH_MD_KEY_MAX_INPUT_SIZE](#ohmdkeymaxinputsize) | const char \*<br/>最大输入尺寸的字符描述符,值类型为uint32_t |
| [OH_MD_KEY_WIDTH](#ohmdkeywidth) | const char \*<br/>视频宽度的字符描述符,值类型为uint32_t |
| [OH_MD_KEY_HEIGHT](#ohmdkeyheight) | const char \*<br/>视频高度的字符描述符,值类型为uint32_t |
| [OH_MD_KEY_PIXEL_FORMAT](#ohmdkeypixelformat) | 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_FRAME_RATE](#ohmdkeyframerate) | 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_PROFILE](#ohmdkeyprofile) | const char \*<br/>音视频编码能力的字符描述符,值类型为int32_t,具体见[OH_AVCProfile](#ohavcprofile)[OH_AACProfile](#ohaacprofile) |
| [OH_MD_KEY_AUD_CHANNEL_COUNT](#ohmdkeyaudchannelcount) | const char \*<br/>音频声道数的字符描述符,值类型为uint32_t |
| [OH_MD_KEY_AUD_SAMPLE_RATE](#ohmdkeyaudsamplerate) | const char \*<br/>音频采样率的字符描述符,值类型为uint32_t |
| [OH_MD_KEY_I_FRAME_INTERVAL](#ohmdkeyiframeinterval) | const char \*<br/>I帧间隔时长的字符描述符,值类型为int32_t,单位是毫秒 |
| [OH_MD_KEY_ROTATION](#ohmdkeyrotation) | const char \*<br/>surface旋转角度的字符描述符,值类型为int32_t,限于{0, 90, 180, 270},默认值为0 |
## 类型定义说明
......@@ -167,9 +167,9 @@ typedef void(* OH_AVCodecOnError) (OH_AVCodec *codec, int32_t errorCode, void *u
| 名称 | 描述 |
| -------- | -------- |
| codec | OH_AVCodec实例&nbsp; |
| errorCode | 具体错误码&nbsp; |
| userData | 用户特定数据&nbsp; |
| codec | OH_AVCodec实例 |
| errorCode | 具体错误码 |
| userData | 用户特定数据 |
### OH_AVCodecOnNeedInputData
......@@ -187,10 +187,10 @@ typedef void(* OH_AVCodecOnNeedInputData) (OH_AVCodec *codec, uint32_t index, OH
| 名称 | 描述 |
| -------- | -------- |
| codec | OH_AVCodec实例&nbsp; |
| index | 新的可用的输入Buffer对应的索引&nbsp; |
| data | 新的可用的输入Buffer&nbsp; |
| userData | 用户特定数据&nbsp; |
| codec | OH_AVCodec实例 |
| index | 新的可用的输入Buffer对应的索引 |
| data | 新的可用的输入Buffer |
| userData | 用户特定数据 |
### OH_AVCodecOnNewOutputData
......@@ -208,11 +208,11 @@ typedef void(* OH_AVCodecOnNewOutputData) (OH_AVCodec *codec, uint32_t index, OH
| 名称 | 描述 |
| -------- | -------- |
| codec | OH_AVCodec实例&nbsp; |
| index | 新的输出Buffer对应的索引&nbsp; |
| data | 包含新的输出数据的Buffer&nbsp; |
| codec | OH_AVCodec实例 |
| index | 新的输出Buffer对应的索引 |
| data | 包含新的输出数据的Buffer |
| attr | 新的输出Buffer的描述信息,具体参考[OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) |
| userData | specified&nbsp;data&nbsp; |
| userData | specified data |
### OH_AVCodecOnStreamChanged
......@@ -230,9 +230,9 @@ typedef void(* OH_AVCodecOnStreamChanged) (OH_AVCodec *codec, OH_AVFormat *forma
| 名称 | 描述 |
| -------- | -------- |
| codec | OH_AVCodec实例&nbsp; |
| format | 新的输出流描述信息&nbsp; |
| userData | 用户特定数据&nbsp; |
| codec | OH_AVCodec实例 |
| format | 新的输出流描述信息 |
| userData | 用户特定数据 |
### OH_AVCProfile
......@@ -287,10 +287,10 @@ enum OH_AVCodecBufferFlags
| 枚举值 | 描述 |
| -------- | -------- |
| AVCODEC_BUFFER_FLAGS_EOS&nbsp; | 表明该Buffer是End-of-Stream帧 |
| AVCODEC_BUFFER_FLAGS_SYNC_FRAME&nbsp; | 表明该Buffer内包含关键帧 |
| AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME&nbsp; | 表明该Buffer内包含的数据仅仅为一帧的一部分 |
| AVCODEC_BUFFER_FLAGS_CODEC_DATA&nbsp; | 表明该Buffer包含Codec-Specific-Data |
| AVCODEC_BUFFER_FLAGS_EOS | 表明该Buffer是End-of-Stream帧 |
| AVCODEC_BUFFER_FLAGS_SYNC_FRAME | 表明该Buffer内包含关键帧 |
| AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME | 表明该Buffer内包含的数据仅仅为一帧的一部分 |
| AVCODEC_BUFFER_FLAGS_CODEC_DATA | 表明该Buffer包含Codec-Specific-Data |
### OH_AVCProfile
......@@ -318,8 +318,8 @@ enum OH_MediaType
| 枚举值 | 描述 |
| -------- | -------- |
| MEDIA_TYPE_AUD&nbsp; | 音频轨道 |
| MEDIA_TYPE_VID&nbsp; | 视频轨道 |
| MEDIA_TYPE_AUD | 音频轨道 |
| MEDIA_TYPE_VID | 视频轨道 |
## 变量说明
......
......@@ -13,33 +13,33 @@
| 名称 | 描述 |
| -------- | -------- |
| {<br/>[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423933494.xml#xref1557819891182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594a14f680be4361ff8e2549e333702f52c4](#a70e121e9dba2777559ffceb1fae31594a14f680be4361ff8e2549e333702f52c4)&nbsp;=&nbsp;-1,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423933494.xml#xref957310214182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594ab2f281fa4a18e5c8bd9b831018b057ef](#a70e121e9dba2777559ffceb1fae31594ab2f281fa4a18e5c8bd9b831018b057ef)&nbsp;=&nbsp;0,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423933494.xml#xref948744425182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594adb703270c367b65bf64f46f5b0855888](#a70e121e9dba2777559ffceb1fae31594adb703270c367b65bf64f46f5b0855888)&nbsp;=&nbsp;1,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423933494.xml#xref339339467182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594ae98353b7b0d3aec0bca22aed43e2169f](#a70e121e9dba2777559ffceb1fae31594ae98353b7b0d3aec0bca22aed43e2169f)&nbsp;=&nbsp;2,<br/>[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423933494.xml#xref1609917467182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594a37929ecb5b825db52dcae66b02bdc910](#a70e121e9dba2777559ffceb1fae31594a37929ecb5b825db52dcae66b02bdc910)&nbsp;=&nbsp;3,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423933494.xml#xref632351639182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594a37dc7117f0e98c82fb7eec13fa38a9d1](#a70e121e9dba2777559ffceb1fae31594a37dc7117f0e98c82fb7eec13fa38a9d1)&nbsp;=&nbsp;4,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423933494.xml#xref492540746182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594a4d8e14277e60f21ae57ff8f7ea3c04a5](#a70e121e9dba2777559ffceb1fae31594a4d8e14277e60f21ae57ff8f7ea3c04a5)&nbsp;=&nbsp;5,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423933494.xml#xref1632801306182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594ae4df51a5f95af9e6ef930ae7761703a1](#a70e121e9dba2777559ffceb1fae31594ae4df51a5f95af9e6ef930ae7761703a1)&nbsp;=&nbsp;6,<br/>[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423933494.xml#xref156243149182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594a78e852734c4705b75ccce11578fe8c87](#a70e121e9dba2777559ffceb1fae31594a78e852734c4705b75ccce11578fe8c87)&nbsp;=&nbsp;7,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423933494.xml#xref852749458182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594a162fd0034aa477101e8f6dd79d889767](#a70e121e9dba2777559ffceb1fae31594a162fd0034aa477101e8f6dd79d889767)&nbsp;=&nbsp;8,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423933494.xml#xref993868989182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594a26b5ba56cb80a7860574ef59d1c9f9f9](#a70e121e9dba2777559ffceb1fae31594a26b5ba56cb80a7860574ef59d1c9f9f9)&nbsp;=&nbsp;9,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423933494.xml#xref2078543504182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594ae5dba902041c4be005915c72f9585c01](#a70e121e9dba2777559ffceb1fae31594ae5dba902041c4be005915c72f9585c01)&nbsp;=&nbsp;10,<br/>[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423933494.xml#xref1270995147182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594a8c54e1ceeb536744dd43e4c3a0a2aafa](#a70e121e9dba2777559ffceb1fae31594a8c54e1ceeb536744dd43e4c3a0a2aafa)&nbsp;=&nbsp;11<br/>} | 操作指令。&nbsp; |
| {<br/>**SESSION_CMD_INVALID** = -1, **SESSION_CMD_PLAY** = 0, **SESSION_CMD_PAUSE** = 1, **SESSION_CMD_STOP** = 2, **SESSION_CMD_PLAY_NEXT** = 3, **SESSION_CMD_PLAY_PREVIOUS** = 4, **SESSION_CMD_FAST_FORWARD** = 5, **SESSION_CMD_REWIND** = 6, **SESSION_CMD_SEEK** = 7, **SESSION_CMD_SET_SPEED** = 8, **SESSION_CMD_SET_LOOP_MODE** = 9, **SESSION_CMD_TOGGLE_FAVORITE** = 10, **SESSION_CMD_MAX** = 11<br/>} | 操作指令。 |
### Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
| [Marshalling](#marshalling)&nbsp;(Parcel&nbsp;&amp;parcel)&nbsp;const&nbsp;override | IPC通信数据序列化。&nbsp; |
| [Marshalling](#marshalling) (Parcel &amp;parcel) const override | IPC通信数据序列化。 |
### 静态 Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
| [Unmarshalling](#unmarshalling)&nbsp;(Parcel&nbsp;&amp;data) | IPC通信数据反序列化。&nbsp; |
| [localCapability](#localcapability) | 命令数组,用于分布式业务,判断是否支持某个命令。&nbsp; |
| [IsValid](#isvalid)&nbsp;()&nbsp;const | 判断当前指令是否在有效范围内。&nbsp; |
| [SetCommand](#setcommand)&nbsp;(int32_t&nbsp;cmd) | 设置操作指令。&nbsp; |
| [GetCommand](#getcommand)&nbsp;()&nbsp;const | 获取操作指令。&nbsp; |
| [SetSpeed](#setspeed)&nbsp;(double&nbsp;speed) | 设置媒体播放倍数。&nbsp; |
| [GetSpeed](#getspeed)&nbsp;(double&nbsp;&amp;speed)&nbsp;const | 获取媒体播放倍数&nbsp; |
| [SetSeekTime](#setseektime)&nbsp;(int64_t&nbsp;time) | 设置媒体跳播时间。&nbsp; |
| [GetSeekTime](#getseektime)&nbsp;(int64_t&nbsp;&amp;time)&nbsp;const | 获取媒体跳播时间。&nbsp; |
| [SetLoopMode](#setloopmode)&nbsp;(int32_t&nbsp;mode) | 设置媒体循环模式。&nbsp; |
| [GetLoopMode](#getloopmode)&nbsp;(int32_t&nbsp;&amp;mode)&nbsp;const | 获取媒体循环模式。&nbsp; |
| [SetAssetId](#setassetid)&nbsp;(const&nbsp;std::string&nbsp;&amp;assetId) | 设置媒体id。&nbsp; |
| [GetAssetId](#getassetid)&nbsp;(std::string&nbsp;&amp;assetId)&nbsp;const | 获取媒体id。&nbsp; |
| [Unmarshalling](#unmarshalling) (Parcel &amp;data) | IPC通信数据反序列化。 |
| [localCapability](#localcapability) | 命令数组,用于分布式业务,判断是否支持某个命令。 |
| [IsValid](#isvalid) () const | 判断当前指令是否在有效范围内。 |
| [SetCommand](#setcommand) (int32_t cmd) | 设置操作指令。 |
| [GetCommand](#getcommand) () const | 获取操作指令。 |
| [SetSpeed](#setspeed) (double speed) | 设置媒体播放倍数。 |
| [GetSpeed](#getspeed) (double &amp;speed) const | 获取媒体播放倍数 |
| [SetSeekTime](#setseektime) (int64_t time) | 设置媒体跳播时间。 |
| [GetSeekTime](#getseektime) (int64_t &amp;time) const | 获取媒体跳播时间。 |
| [SetLoopMode](#setloopmode) (int32_t mode) | 设置媒体循环模式。 |
| [GetLoopMode](#getloopmode) (int32_t &amp;mode) const | 获取媒体循环模式。 |
| [SetAssetId](#setassetid) (const std::string &amp;assetId) | 设置媒体id。 |
| [GetAssetId](#getassetid) (std::string &amp;assetId) const | 获取媒体id。 |
## 成员枚举类型说明
......@@ -56,19 +56,19 @@ anonymous enum
| 枚举值 | 描述 |
| -------- | -------- |
| SESSION_CMD_INVALID&nbsp; | 无效指令,内部用于判断指令是否有效 |
| SESSION_CMD_PLAY&nbsp; | 播放 |
| SESSION_CMD_PAUSE&nbsp; | 暂停 |
| SESSION_CMD_STOP&nbsp; | 停止 |
| SESSION_CMD_PLAY_NEXT&nbsp; | 播放下一首 |
| SESSION_CMD_PLAY_PREVIOUS&nbsp; | 播放上一首 |
| SESSION_CMD_FAST_FORWARD&nbsp; | 快进 |
| SESSION_CMD_REWIND&nbsp; | 快退 |
| SESSION_CMD_SEEK&nbsp; | 跳播 |
| SESSION_CMD_SET_SPEED&nbsp; | 设置播放倍数 |
| SESSION_CMD_SET_LOOP_MODE&nbsp; | 设置循环模式 |
| SESSION_CMD_TOGGLE_FAVORITE&nbsp; | 收藏 |
| SESSION_CMD_MAX&nbsp; | 无效指令,内部用于判断指令是否有效 |
| SESSION_CMD_INVALID | 无效指令,内部用于判断指令是否有效 |
| SESSION_CMD_PLAY | 播放 |
| SESSION_CMD_PAUSE | 暂停 |
| SESSION_CMD_STOP | 停止 |
| SESSION_CMD_PLAY_NEXT | 播放下一首 |
| SESSION_CMD_PLAY_PREVIOUS | 播放上一首 |
| SESSION_CMD_FAST_FORWARD | 快进 |
| SESSION_CMD_REWIND | 快退 |
| SESSION_CMD_SEEK | 跳播 |
| SESSION_CMD_SET_SPEED | 设置播放倍数 |
| SESSION_CMD_SET_LOOP_MODE | 设置循环模式 |
| SESSION_CMD_TOGGLE_FAVORITE | 收藏 |
| SESSION_CMD_MAX | 无效指令,内部用于判断指令是否有效 |
## 成员函数说明
......@@ -87,7 +87,7 @@ int32_t OHOS::AVSession::AVControlCommand::GetAssetId (std::string & assetId) co
| 名称 | 描述 |
| -------- | -------- |
| assetId | 保存媒体id。&nbsp; |
| assetId | 保存媒体id。 |
**参见:**
......@@ -109,7 +109,7 @@ int32_t OHOS::AVSession::AVControlCommand::GetCommand () const
**返回:**
返回操作指令,范围在[ERROR:Invalid link:zh-cn_topic_0000001423933494.xml#xref867896173182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594a14f680be4361ff8e2549e333702f52c4](#a70e121e9dba2777559ffceb1fae31594a14f680be4361ff8e2549e333702f52c4)[ERROR:Invalid link:zh-cn_topic_0000001423933494.xml#xref1402234096182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594a8c54e1ceeb536744dd43e4c3a0a2aafa](#a70e121e9dba2777559ffceb1fae31594a8c54e1ceeb536744dd43e4c3a0a2aafa)之间。
返回操作指令,范围在**SESSION_CMD_INVALID****SESSION_CMD_MAX**之间。
**参见:**
......@@ -129,7 +129,7 @@ int32_t OHOS::AVSession::AVControlCommand::GetLoopMode (int32_t & mode) const
| 名称 | 描述 |
| -------- | -------- |
| mode | 保存媒体循环模式。&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; |
| mode | 保存媒体循环模式。 取值在[AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)**LOOP_MODE_SEQUENCE****LOOP_MODE_SHUFFLE**之间。 |
**参见:**
......@@ -153,7 +153,7 @@ int32_t OHOS::AVSession::AVControlCommand::GetSeekTime (int64_t & time) const
| 名称 | 描述 |
| -------- | -------- |
| time | 媒体资源的位置,从媒体资源开头开始计算,单位为ms。取值需大于等于0。&nbsp; |
| time | 媒体资源的位置,从媒体资源开头开始计算,单位为ms。取值需大于等于0。 |
**返回:**
......@@ -177,7 +177,7 @@ int32_t OHOS::AVSession::AVControlCommand::GetSpeed (double & speed) const
| 名称 | 描述 |
| -------- | -------- |
| speed | 媒体播放倍数,返回值。&nbsp; |
| speed | 媒体播放倍数,返回值。 |
**返回:**
......@@ -199,7 +199,7 @@ bool OHOS::AVSession::AVControlCommand::IsValid () const
**返回:**
如果cmd_在有效范围内,范围在[ERROR:Invalid link:zh-cn_topic_0000001423933494.xml#xref1266392772182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594a14f680be4361ff8e2549e333702f52c4](#a70e121e9dba2777559ffceb1fae31594a14f680be4361ff8e2549e333702f52c4)到link [ERROR:Invalid link:zh-cn_topic_0000001423933494.xml#xref1099549702182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594a8c54e1ceeb536744dd43e4c3a0a2aafa](#a70e121e9dba2777559ffceb1fae31594a8c54e1ceeb536744dd43e4c3a0a2aafa)}之间, 返回true;否则,返回false。
如果cmd_在有效范围内,范围在**SESSION_CMD_INVALID****SESSION_CMD_MAX**之间, 返回true;否则,返回false。
### Marshalling()
......@@ -215,7 +215,7 @@ IPC通信数据序列化。
| 名称 | 描述 |
| -------- | -------- |
| parcel | 保存序列化值的对象**Parcel**&nbsp; |
| parcel | 保存序列化值的对象**Parcel** |
**返回:**
......@@ -239,7 +239,7 @@ int32_t OHOS::AVSession::AVControlCommand::SetAssetId (const std::string & asset
| 名称 | 描述 |
| -------- | -------- |
| assetId | 媒体id,不可为空。&nbsp; |
| assetId | 媒体id,不可为空。 |
**参见:**
......@@ -263,7 +263,7 @@ int32_t OHOS::AVSession::AVControlCommand::SetCommand (int32_t cmd)
| 名称 | 描述 |
| -------- | -------- |
| cmd | 操作指令,范围在[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423933494.xml#xref1872259712182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594a14f680be4361ff8e2549e333702f52c4](#a70e121e9dba2777559ffceb1fae31594a14f680be4361ff8e2549e333702f52c4)[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423933494.xml#xref1870164484182348,link:zh-cn_topic_0000001423933494.xml#a70e121e9dba2777559ffceb1fae31594a8c54e1ceeb536744dd43e4c3a0a2aafa](#a70e121e9dba2777559ffceb1fae31594a8c54e1ceeb536744dd43e4c3a0a2aafa)之间。&nbsp; |
| cmd | 操作指令,范围在**SESSION_CMD_INVALID****SESSION_CMD_MAX**之间。 |
**返回:**
......@@ -287,7 +287,7 @@ int32_t OHOS::AVSession::AVControlCommand::SetLoopMode (int32_t mode)
| 名称 | 描述 |
| -------- | -------- |
| mode | 媒体循环模式,&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; |
| mode | 媒体循环模式, 取值在[AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)**LOOP_MODE_SEQUENCE****LOOP_MODE_SHUFFLE**之间。 |
**参见:**
......@@ -311,7 +311,7 @@ int32_t OHOS::AVSession::AVControlCommand::SetSeekTime (int64_t time)
| 名称 | 描述 |
| -------- | -------- |
| time | 媒体资源的位置,从媒体资源开头开始计算,单位为ms。取值需大于等于0。&nbsp; |
| time | 媒体资源的位置,从媒体资源开头开始计算,单位为ms。取值需大于等于0。 |
**返回:**
......@@ -335,7 +335,7 @@ int32_t OHOS::AVSession::AVControlCommand::SetSpeed (double speed)
| 名称 | 描述 |
| -------- | -------- |
| speed | 媒体播放倍数,需大于0。&nbsp; |
| speed | 媒体播放倍数,需大于0。 |
**返回:**
......@@ -359,7 +359,7 @@ IPC通信数据反序列化。
| 名称 | 描述 |
| -------- | -------- |
| data | 序列化对象**Parcel**&nbsp; |
| data | 序列化对象**Parcel** |
**返回:**
......
......@@ -13,48 +13,48 @@
| 名称 | 描述 |
| -------- | -------- |
| [Position](_1_a_v_session_1_1_a_v_playback_state_1_1_position.md) | struct<br/>播放位置的相关信息。&nbsp; |
| [Position](_1_a_v_session_1_1_a_v_playback_state_1_1_position.md) | struct<br/>播放位置的相关信息。 |
### Public 类型
| 名称 | 描述 |
| -------- | -------- |
| {<br/>[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref1394480285182348,link:zh-cn_topic_0000001473452837.xml#aba0cbca8d49abcbe1c7241a4481fc830ab9c4c24797f9262f0a91539f2dadfdf2](#aba0cbca8d49abcbe1c7241a4481fc830ab9c4c24797f9262f0a91539f2dadfdf2)&nbsp;=&nbsp;0,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref1298081396182348,link:zh-cn_topic_0000001473452837.xml#aba0cbca8d49abcbe1c7241a4481fc830a4503771522078e8c3c95a943ff0fe2ab](#aba0cbca8d49abcbe1c7241a4481fc830a4503771522078e8c3c95a943ff0fe2ab)&nbsp;=&nbsp;1,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref959014603182348,link:zh-cn_topic_0000001473452837.xml#aba0cbca8d49abcbe1c7241a4481fc830af9ec8c33050720bd76fef60fc733676d](#aba0cbca8d49abcbe1c7241a4481fc830af9ec8c33050720bd76fef60fc733676d)&nbsp;=&nbsp;2,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref1164783128182348,link:zh-cn_topic_0000001473452837.xml#aba0cbca8d49abcbe1c7241a4481fc830a836db54e2e688fcd1eabdf46541d796f](#aba0cbca8d49abcbe1c7241a4481fc830a836db54e2e688fcd1eabdf46541d796f)&nbsp;=&nbsp;3,<br/>[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref1092341008182348,link:zh-cn_topic_0000001473452837.xml#aba0cbca8d49abcbe1c7241a4481fc830afbca87b2469ca4c50f6adea49de02acd](#aba0cbca8d49abcbe1c7241a4481fc830afbca87b2469ca4c50f6adea49de02acd)&nbsp;=&nbsp;4,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref302647307182348,link:zh-cn_topic_0000001473452837.xml#aba0cbca8d49abcbe1c7241a4481fc830ae40be2ba02168d8269caa2db7076c766](#aba0cbca8d49abcbe1c7241a4481fc830ae40be2ba02168d8269caa2db7076c766)&nbsp;=&nbsp;5,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref1310725171182348,link:zh-cn_topic_0000001473452837.xml#aba0cbca8d49abcbe1c7241a4481fc830ae1617f8453b35465016b1d0d389b20d5](#aba0cbca8d49abcbe1c7241a4481fc830ae1617f8453b35465016b1d0d389b20d5)&nbsp;=&nbsp;6,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref1391519360182348,link:zh-cn_topic_0000001473452837.xml#aba0cbca8d49abcbe1c7241a4481fc830a6468b80d467d840b9ec7e15f96c5255d](#aba0cbca8d49abcbe1c7241a4481fc830a6468b80d467d840b9ec7e15f96c5255d)&nbsp;=&nbsp;7<br/>} | 描述播放状态的枚举。&nbsp; |
| {<br/>[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref2054614775182348,link:zh-cn_topic_0000001473452837.xml#ad2c10eba2de414d6db99846dc1a9a007aa0bcce0e5ffae403acd4213d574b87f0](#ad2c10eba2de414d6db99846dc1a9a007aa0bcce0e5ffae403acd4213d574b87f0)&nbsp;=&nbsp;0,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref379580179182348,link:zh-cn_topic_0000001473452837.xml#ad2c10eba2de414d6db99846dc1a9a007a48c44da738d2607503b4d6753e314a1d](#ad2c10eba2de414d6db99846dc1a9a007a48c44da738d2607503b4d6753e314a1d)&nbsp;=&nbsp;1,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref61575692182348,link:zh-cn_topic_0000001473452837.xml#ad2c10eba2de414d6db99846dc1a9a007add70379200133c2e14f3ad8d0526c679](#ad2c10eba2de414d6db99846dc1a9a007add70379200133c2e14f3ad8d0526c679)&nbsp;=&nbsp;2,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref532965400182348,link:zh-cn_topic_0000001473452837.xml#ad2c10eba2de414d6db99846dc1a9a007a6890f839e6b02e26016fa0e03abd122d](#ad2c10eba2de414d6db99846dc1a9a007a6890f839e6b02e26016fa0e03abd122d)&nbsp;=&nbsp;3,<br/>[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref1319132859182348,link:zh-cn_topic_0000001473452837.xml#ad2c10eba2de414d6db99846dc1a9a007a110148dbe99273acc6d71113a8e0e3e2](#ad2c10eba2de414d6db99846dc1a9a007a110148dbe99273acc6d71113a8e0e3e2)&nbsp;=&nbsp;4,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref242352481182348,link:zh-cn_topic_0000001473452837.xml#ad2c10eba2de414d6db99846dc1a9a007ad58284b6fc7a55e006bc9c3c66f0da03](#ad2c10eba2de414d6db99846dc1a9a007ad58284b6fc7a55e006bc9c3c66f0da03)&nbsp;=&nbsp;5,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref1605044078182348,link:zh-cn_topic_0000001473452837.xml#ad2c10eba2de414d6db99846dc1a9a007aae4e5886f5200e5ef2b38648824e3e05](#ad2c10eba2de414d6db99846dc1a9a007aae4e5886f5200e5ef2b38648824e3e05)&nbsp;=&nbsp;6<br/>} | 播放界面信息的枚举。&nbsp; |
| {&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref1581946942182348,link:zh-cn_topic_0000001473452837.xml#a12c2de6b9e2d86a6d2fe5bec88f90abfa85feb6afb637e762bc97d938f74c5f08](#a12c2de6b9e2d86a6d2fe5bec88f90abfa85feb6afb637e762bc97d938f74c5f08)&nbsp;=&nbsp;0,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref1465740081182348,link:zh-cn_topic_0000001473452837.xml#a12c2de6b9e2d86a6d2fe5bec88f90abfa2451f0f8093db7636425a55c54276707](#a12c2de6b9e2d86a6d2fe5bec88f90abfa2451f0f8093db7636425a55c54276707)&nbsp;=&nbsp;1,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref1956228198182348,link:zh-cn_topic_0000001473452837.xml#a12c2de6b9e2d86a6d2fe5bec88f90abfa076f44f44f9f45a0e34328d532c68356](#a12c2de6b9e2d86a6d2fe5bec88f90abfa076f44f44f9f45a0e34328d532c68356)&nbsp;=&nbsp;2,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref73690955182348,link:zh-cn_topic_0000001473452837.xml#a12c2de6b9e2d86a6d2fe5bec88f90abfaeaa9c517ca402e56c594c6b17d566203](#a12c2de6b9e2d86a6d2fe5bec88f90abfaeaa9c517ca402e56c594c6b17d566203)&nbsp;=&nbsp;3&nbsp;} | 循环模式的枚举。&nbsp; |
| **PlaybackStateMaskType**&nbsp;=&nbsp;std::bitset&lt;&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref710369017182348,link:zh-cn_topic_0000001473452837.xml#ad2c10eba2de414d6db99846dc1a9a007aae4e5886f5200e5ef2b38648824e3e05](#ad2c10eba2de414d6db99846dc1a9a007aae4e5886f5200e5ef2b38648824e3e05)&nbsp;&gt; | |
| {<br/>**PLAYBACK_STATE_INITIAL** = 0, **PLAYBACK_STATE_PREPARING** = 1, **PLAYBACK_STATE_PLAYING** = 2, **PLAYBACK_STATE_PAUSED** = 3, **PLAYBACK_STATE_FAST_FORWARD** = 4, **PLAYBACK_STATE_REWIND** = 5, **PLAYBACK_STATE_STOP** = 6, **PLAYBACK_STATE_MAX** = 7<br/>} | 描述播放状态的枚举。 |
| {<br/>**PLAYBACK_KEY_STATE** = 0, **PLAYBACK_KEY_SPEED** = 1, **PLAYBACK_KEY_POSITION** = 2, **PLAYBACK_KEY_BUFFERED_TIME** = 3, **PLAYBACK_KEY_LOOP_MODE** = 4, **PLAYBACK_KEY_IS_FAVORITE** = 5, **PLAYBACK_KEY_MAX** = 6<br/>} | 播放界面信息的枚举。 |
| { **LOOP_MODE_SEQUENCE** = 0, **LOOP_MODE_SINGLE** = 1, **LOOP_MODE_LIST** = 2, **LOOP_MODE_SHUFFLE** = 3 } | 循环模式的枚举。 |
| **PlaybackStateMaskType** = std::bitset&lt; PLAYBACK_KEY_MAX &gt; | |
### Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
| [Marshalling](#marshalling)&nbsp;(Parcel&nbsp;&amp;parcel)&nbsp;const&nbsp;override | IPC通信数据序列化。&nbsp; |
| [IsValid](#isvalid)&nbsp;()&nbsp;const | 验证当前信息的有效性。&nbsp; |
| [SetState](#setstate)&nbsp;(int32_t&nbsp;state) | 设置音视频的播放状态。&nbsp; |
| [GetState](#getstate)&nbsp;()&nbsp;const | 获取当前音视频的播放状态。&nbsp; |
| [SetSpeed](#setspeed)&nbsp;(double&nbsp;speed) | 设置播放倍速。&nbsp; |
| [GetSpeed](#getspeed)&nbsp;()&nbsp;const | 获取当前播放倍速。&nbsp; |
| [SetPosition](#setposition)&nbsp;(const&nbsp;[Position](_1_a_v_session_1_1_a_v_playback_state_1_1_position.md)&nbsp;&amp;position) | 设置播放位置,通过更新时间与经过时间来计算,单位ms。&nbsp; |
| [GetPosition](#getposition)&nbsp;()&nbsp;const | 获取播放位置。&nbsp; |
| [SetBufferedTime](#setbufferedtime)&nbsp;(int64_t&nbsp;time) | 设置缓冲时间,单位为ms。&nbsp; |
| [GetBufferedTime](#getbufferedtime)&nbsp;()&nbsp;const | 获取当前缓冲时间,单位为ms。&nbsp; |
| [SetLoopMode](#setloopmode)&nbsp;(int32_t&nbsp;mode) | 设置循环模式。&nbsp; |
| [GetLoopMode](#getloopmode)&nbsp;()&nbsp;const | 获取当前循环模式。&nbsp; |
| [SetFavorite](#setfavorite)&nbsp;(bool&nbsp;isFavorite) | 设置是否收藏。&nbsp; |
| [GetFavorite](#getfavorite)&nbsp;()&nbsp;const | 获取是否收藏。&nbsp; |
| [GetMask](#getmask)&nbsp;()&nbsp;const | 获取掩码。&nbsp; |
| [Marshalling](#marshalling) (Parcel &amp;parcel) const override | IPC通信数据序列化。 |
| [IsValid](#isvalid) () const | 验证当前信息的有效性。 |
| [SetState](#setstate) (int32_t state) | 设置音视频的播放状态。 |
| [GetState](#getstate) () const | 获取当前音视频的播放状态。 |
| [SetSpeed](#setspeed) (double speed) | 设置播放倍速。 |
| [GetSpeed](#getspeed) () const | 获取当前播放倍速。 |
| [SetPosition](#setposition) (const [Position](_1_a_v_session_1_1_a_v_playback_state_1_1_position.md) &amp;position) | 设置播放位置,通过更新时间与经过时间来计算,单位ms。 |
| [GetPosition](#getposition) () const | 获取播放位置。 |
| [SetBufferedTime](#setbufferedtime) (int64_t time) | 设置缓冲时间,单位为ms。 |
| [GetBufferedTime](#getbufferedtime) () const | 获取当前缓冲时间,单位为ms。 |
| [SetLoopMode](#setloopmode) (int32_t mode) | 设置循环模式。 |
| [GetLoopMode](#getloopmode) () const | 获取当前循环模式。 |
| [SetFavorite](#setfavorite) (bool isFavorite) | 设置是否收藏。 |
| [GetFavorite](#getfavorite) () const | 获取是否收藏。 |
| [GetMask](#getmask) () const | 获取掩码。 |
### 静态 Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
| [Unmarshalling](#unmarshalling)&nbsp;(Parcel&nbsp;&amp;parcel) | IPC通信数据反序列化。&nbsp; |
| [localCapability](#localcapability) | 内联函数指针数组[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref1233517696182348,link:zh-cn_topic_0000001473452837.xml](zh-cn_topic_0000001473452837.xml),用于分布式业务,设置播放界面信息。&nbsp; |
| [CopyToByMask](#copytobymask)&nbsp;(PlaybackStateMaskType&nbsp;&amp;mask,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref152266043182348,link:zh-cn_topic_0000001473452837.xml](zh-cn_topic_0000001473452837.xml)&nbsp;&amp;out)&nbsp;const | 通过掩码拷贝信息到新的AVPlaybackState对象。&nbsp; |
| [CopyFrom](#copyfrom)&nbsp;(const&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref970172040182348,link:zh-cn_topic_0000001473452837.xml](zh-cn_topic_0000001473452837.xml)&nbsp;&amp;in) | 根据当前对象的mask_掩码,将输入的AVPlaybackState类型的信息复制到当前对象。&nbsp; |
| [Unmarshalling](#unmarshalling) (Parcel &amp;parcel) | IPC通信数据反序列化。 |
| [localCapability](#localcapability) | 内联函数指针数组AVPlaybackState,用于分布式业务,设置播放界面信息。 |
| [CopyToByMask](#copytobymask) (PlaybackStateMaskType &amp;mask, AVPlaybackState &amp;out) const | 通过掩码拷贝信息到新的AVPlaybackState对象。 |
| [CopyFrom](#copyfrom) (const AVPlaybackState &amp;in) | 根据当前对象的mask_掩码,将输入的AVPlaybackState类型的信息复制到当前对象。 |
## 成员枚举类型说明
......@@ -71,14 +71,14 @@ anonymous enum
| 枚举值 | 描述 |
| -------- | -------- |
| PLAYBACK_STATE_INITIAL&nbsp; | 初始状态 |
| PLAYBACK_STATE_PREPARING&nbsp; | 缓冲状态 |
| PLAYBACK_STATE_PLAYING&nbsp; | 播放状态 |
| PLAYBACK_STATE_PAUSED&nbsp; | 暂停状态 |
| PLAYBACK_STATE_FAST_FORWARD&nbsp; | 快进状态 |
| PLAYBACK_STATE_REWIND&nbsp; | 快退状态 |
| PLAYBACK_STATE_STOP&nbsp; | 停止状态 |
| PLAYBACK_STATE_MAX&nbsp; | 无效类型,内部用于判断状态是否有效 |
| PLAYBACK_STATE_INITIAL | 初始状态 |
| PLAYBACK_STATE_PREPARING | 缓冲状态 |
| PLAYBACK_STATE_PLAYING | 播放状态 |
| PLAYBACK_STATE_PAUSED | 暂停状态 |
| PLAYBACK_STATE_FAST_FORWARD | 快进状态 |
| PLAYBACK_STATE_REWIND | 快退状态 |
| PLAYBACK_STATE_STOP | 停止状态 |
| PLAYBACK_STATE_MAX | 无效类型,内部用于判断状态是否有效 |
### anonymous enum
......@@ -92,13 +92,13 @@ anonymous enum
| 枚举值 | 描述 |
| -------- | -------- |
| PLAYBACK_KEY_STATE&nbsp; | 播放状态,包括正在播放、暂停、快进等 |
| PLAYBACK_KEY_SPEED&nbsp; | 播放倍数 |
| PLAYBACK_KEY_POSITION&nbsp; | 播放位置 |
| PLAYBACK_KEY_BUFFERED_TIME&nbsp; | 缓冲时间 |
| PLAYBACK_KEY_LOOP_MODE&nbsp; | 循环模式 |
| PLAYBACK_KEY_IS_FAVORITE&nbsp; | 设置喜欢(收藏) |
| PLAYBACK_KEY_MAX&nbsp; | 无效类型,内部用于判断key是否有效 |
| PLAYBACK_KEY_STATE | 播放状态,包括正在播放、暂停、快进等 |
| PLAYBACK_KEY_SPEED | 播放倍数 |
| PLAYBACK_KEY_POSITION | 播放位置 |
| PLAYBACK_KEY_BUFFERED_TIME | 缓冲时间 |
| PLAYBACK_KEY_LOOP_MODE | 循环模式 |
| PLAYBACK_KEY_IS_FAVORITE | 设置喜欢(收藏) |
| PLAYBACK_KEY_MAX | 无效类型,内部用于判断key是否有效 |
### anonymous enum
......@@ -112,10 +112,10 @@ anonymous enum
| 枚举值 | 描述 |
| -------- | -------- |
| LOOP_MODE_SEQUENCE&nbsp; | 顺序播放 |
| LOOP_MODE_SINGLE&nbsp; | 单曲循环 |
| LOOP_MODE_LIST&nbsp; | 列表循环 |
| LOOP_MODE_SHUFFLE&nbsp; | 随机播放 |
| LOOP_MODE_SEQUENCE | 顺序播放 |
| LOOP_MODE_SINGLE | 单曲循环 |
| LOOP_MODE_LIST | 列表循环 |
| LOOP_MODE_SHUFFLE | 随机播放 |
## 成员函数说明
......@@ -134,7 +134,7 @@ bool OHOS::AVSession::AVPlaybackState::CopyFrom (const AVPlaybackState & in)
| 名称 | 描述 |
| -------- | -------- |
| in | AVPlaybackState类型的引用[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref1282648301182348,link:zh-cn_topic_0000001473452837.xml](zh-cn_topic_0000001473452837.xml)&nbsp; |
| in | AVPlaybackState类型 |
**返回:**
......@@ -162,7 +162,7 @@ mask对应位上有值的对象拷贝给out。
| 名称 | 描述 |
| -------- | -------- |
| mask | 输入的掩码**}。&nbsp;out&nbsp;输出的音视频的播放状态&nbsp;AVPlaybackState}。&nbsp;如果有至少一个播放界面信息被拷贝,返回true;如果一个播放界面信息都没有被拷贝,返回false。&nbsp;CopyFrom&nbsp;9&nbsp;1.0&nbsp;** |
| mask | 输入的掩码**}。 out 输出的音视频的播放状态 AVPlaybackState}。 如果有至少一个播放界面信息被拷贝,返回true;如果一个播放界面信息都没有被拷贝,返回false。 CopyFrom 9 1.0 ** |
### GetBufferedTime()
......@@ -212,7 +212,7 @@ int32_t OHOS::AVSession::AVPlaybackState::GetLoopMode () const
**返回:**
返回循环模式,范围[ERROR:Invalid link:zh-cn_topic_0000001473452837.xml#xref1640948815182348,link:zh-cn_topic_0000001473452837.xml#a12c2de6b9e2d86a6d2fe5bec88f90abfa85feb6afb637e762bc97d938f74c5f08](#a12c2de6b9e2d86a6d2fe5bec88f90abfa85feb6afb637e762bc97d938f74c5f08)[ERROR:Invalid link:zh-cn_topic_0000001473452837.xml#xref142921531182348,link:zh-cn_topic_0000001473452837.xml#a12c2de6b9e2d86a6d2fe5bec88f90abfaeaa9c517ca402e56c594c6b17d566203](#a12c2de6b9e2d86a6d2fe5bec88f90abfaeaa9c517ca402e56c594c6b17d566203)之间。
返回循环模式,范围**LOOP_MODE_SEQUENCE****LOOP_MODE_SHUFFLE**之间。
**参见:**
......@@ -284,7 +284,7 @@ int32_t OHOS::AVSession::AVPlaybackState::GetState () const
**返回:**
返回当前音视频的播放状态,范围[ERROR:Invalid link:zh-cn_topic_0000001473452837.xml#xref1660471541182348,link:zh-cn_topic_0000001473452837.xml#aba0cbca8d49abcbe1c7241a4481fc830ab9c4c24797f9262f0a91539f2dadfdf2](#aba0cbca8d49abcbe1c7241a4481fc830ab9c4c24797f9262f0a91539f2dadfdf2)[ERROR:Invalid link:zh-cn_topic_0000001473452837.xml#xref1951857961182348,link:zh-cn_topic_0000001473452837.xml#aba0cbca8d49abcbe1c7241a4481fc830a6468b80d467d840b9ec7e15f96c5255d](#aba0cbca8d49abcbe1c7241a4481fc830a6468b80d467d840b9ec7e15f96c5255d)之间。
返回当前音视频的播放状态,范围**PLAYBACK_STATE_INITIAL****PLAYBACK_STATE_MAX**之间。
**参见:**
......@@ -320,7 +320,7 @@ IPC通信数据序列化。
| 名称 | 描述 |
| -------- | -------- |
| parcel | 保存序列化值的对象**Parcel**&nbsp; |
| parcel | 保存序列化值的对象**Parcel** |
**返回:**
......@@ -344,7 +344,7 @@ void OHOS::AVSession::AVPlaybackState::SetBufferedTime (int64_t time)
| 名称 | 描述 |
| -------- | -------- |
| time | 缓冲时间。&nbsp; |
| time | 缓冲时间。 |
**参见:**
......@@ -364,7 +364,7 @@ void OHOS::AVSession::AVPlaybackState::SetFavorite (bool isFavorite)
| 名称 | 描述 |
| -------- | -------- |
| isFavorite | 是否收藏,是则为true,否则false。&nbsp; |
| isFavorite | 是否收藏,是则为true,否则false。 |
**参见:**
......@@ -384,7 +384,7 @@ void OHOS::AVSession::AVPlaybackState::SetLoopMode (int32_t mode)
| 名称 | 描述 |
| -------- | -------- |
| mode | 循环模式,范围[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref5703182182348,link:zh-cn_topic_0000001473452837.xml#a12c2de6b9e2d86a6d2fe5bec88f90abfa85feb6afb637e762bc97d938f74c5f08](#a12c2de6b9e2d86a6d2fe5bec88f90abfa85feb6afb637e762bc97d938f74c5f08)[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref1637950715182348,link:zh-cn_topic_0000001473452837.xml#a12c2de6b9e2d86a6d2fe5bec88f90abfaeaa9c517ca402e56c594c6b17d566203](#a12c2de6b9e2d86a6d2fe5bec88f90abfaeaa9c517ca402e56c594c6b17d566203)之间。&nbsp; |
| mode | 循环模式,范围**LOOP_MODE_SEQUENCE****LOOP_MODE_SHUFFLE**之间。 |
**参见:**
......@@ -404,7 +404,7 @@ void OHOS::AVSession::AVPlaybackState::SetPosition (const Position & position)
| 名称 | 描述 |
| -------- | -------- |
| position | 播放位置[Position](_1_a_v_session_1_1_a_v_playback_state_1_1_position.md)&nbsp; |
| position | 播放位置[Position](_1_a_v_session_1_1_a_v_playback_state_1_1_position.md) |
**参见:**
......@@ -424,7 +424,7 @@ void OHOS::AVSession::AVPlaybackState::SetSpeed (double speed)
| 名称 | 描述 |
| -------- | -------- |
| speed | 播放倍速。&nbsp; |
| speed | 播放倍速。 |
**参见:**
......@@ -444,7 +444,7 @@ void OHOS::AVSession::AVPlaybackState::SetState (int32_t state)
| 名称 | 描述 |
| -------- | -------- |
| state | 音视频的播放状态,范围[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref1230379009182348,link:zh-cn_topic_0000001473452837.xml#aba0cbca8d49abcbe1c7241a4481fc830ab9c4c24797f9262f0a91539f2dadfdf2](#aba0cbca8d49abcbe1c7241a4481fc830ab9c4c24797f9262f0a91539f2dadfdf2)[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473452837.xml#xref1982579367182348,link:zh-cn_topic_0000001473452837.xml#aba0cbca8d49abcbe1c7241a4481fc830a6468b80d467d840b9ec7e15f96c5255d](#aba0cbca8d49abcbe1c7241a4481fc830a6468b80d467d840b9ec7e15f96c5255d)之间。&nbsp; |
| state | 音视频的播放状态,范围**PLAYBACK_STATE_INITIAL****PLAYBACK_STATE_MAX**之间。 |
**参见:**
......@@ -466,7 +466,7 @@ IPC通信数据反序列化。
| 名称 | 描述 |
| -------- | -------- |
| parcel | 序列化对象**Parcel**&nbsp; |
| parcel | 序列化对象**Parcel** |
**返回:**
......@@ -499,4 +499,4 @@ const std::vector<int32_t> OHOS::AVSession::AVPlaybackState::localCapability
}
```
**描述:**
内联函数指针数组[ERROR:Invalid link:zh-cn_topic_0000001473452837.xml#xref1751277363182348,link:zh-cn_topic_0000001473452837.xml](zh-cn_topic_0000001473452837.xml),用于分布式业务,设置播放界面信息。
内联函数指针数组AVPlaybackState,用于分布式业务,设置播放界面信息。
......@@ -13,27 +13,27 @@
| 名称 | 描述 |
| -------- | -------- |
| {&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473692273.xml#xref1866899108182348,link:zh-cn_topic_0000001473692273.xml#ac1c9f46a84c35e7cca9966a48d4cbd96a283e24b9b0054e34c8035bd11b61addf](#ac1c9f46a84c35e7cca9966a48d4cbd96a283e24b9b0054e34c8035bd11b61addf)&nbsp;=&nbsp;-1,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473692273.xml#xref324891332182348,link:zh-cn_topic_0000001473692273.xml#ac1c9f46a84c35e7cca9966a48d4cbd96a10f702f1a7483e621c98c7b8ff4108f6](#ac1c9f46a84c35e7cca9966a48d4cbd96a10f702f1a7483e621c98c7b8ff4108f6)&nbsp;=&nbsp;0,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473692273.xml#xref521456086182348,link:zh-cn_topic_0000001473692273.xml#ac1c9f46a84c35e7cca9966a48d4cbd96ab28acf8f76ffe654b5820e9db3f0e9bb](#ac1c9f46a84c35e7cca9966a48d4cbd96ab28acf8f76ffe654b5820e9db3f0e9bb)&nbsp;=&nbsp;1&nbsp;} | 会话类型的枚举。&nbsp; |
| { **SESSION_TYPE_INVALID** = -1, **SESSION_TYPE_AUDIO** = 0, **SESSION_TYPE_VIDEO** = 1 } | 会话类型的枚举。 |
### Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
| [GetSessionId](#getsessionid)&nbsp;()=0 | 获取会话的标识。&nbsp; |
| [GetAVMetaData](#getavmetadata)&nbsp;([AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md)&nbsp;&amp;meta)=0 | 获取会话元数据。&nbsp; |
| [SetAVMetaData](#setavmetadata)&nbsp;(const&nbsp;[AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md)&nbsp;&amp;meta)=0 | 设置会话元数据。&nbsp; |
| [GetAVPlaybackState](#getavplaybackstate)&nbsp;([AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)&nbsp;&amp;state)=0 | 获取音视频的播放状态。&nbsp; |
| [SetAVPlaybackState](#setavplaybackstate)&nbsp;(const&nbsp;[AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)&nbsp;&amp;state)=0 | 设置音视频的播放状态。&nbsp; |
| [SetLaunchAbility](#setlaunchability)&nbsp;(const&nbsp;AbilityRuntime::WantAgent::WantAgent&nbsp;&amp;ability)=0 | 设置一个WantAgent用于启动会话的Ability。&nbsp; |
| [GetController](#getcontroller)&nbsp;()=0 | 获取会话控制器。&nbsp; |
| [RegisterCallback](#registercallback)&nbsp;(const&nbsp;std::shared_ptr&lt;&nbsp;[AVSessionCallback](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md)&nbsp;&gt;&nbsp;&amp;callback)=0 | 注册会话回调。&nbsp; |
| [Activate](#activate)&nbsp;()=0 | 激活会话。&nbsp; |
| [Deactivate](#deactivate)&nbsp;()=0 | 去激活会话。&nbsp; |
| [IsActive](#isactive)&nbsp;()=0 | 获取会话是否被激活。&nbsp; |
| [Destroy](#destroy)&nbsp;()=0 | 销毁会话。&nbsp; |
| [AddSupportCommand](#addsupportcommand)&nbsp;(const&nbsp;int32_t&nbsp;cmd)=0 | 添加支持的控制命令。&nbsp; |
| [DeleteSupportCommand](#deletesupportcommand)&nbsp;(const&nbsp;int32_t&nbsp;cmd)=0 | 删除支持的控制命令。&nbsp; |
| [GetSessionId](#getsessionid) ()=0 | 获取会话的标识。 |
| [GetAVMetaData](#getavmetadata) ([AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md) &amp;meta)=0 | 获取会话元数据。 |
| [SetAVMetaData](#setavmetadata) (const [AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md) &amp;meta)=0 | 设置会话元数据。 |
| [GetAVPlaybackState](#getavplaybackstate) ([AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md) &amp;state)=0 | 获取音视频的播放状态。 |
| [SetAVPlaybackState](#setavplaybackstate) (const [AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md) &amp;state)=0 | 设置音视频的播放状态。 |
| [SetLaunchAbility](#setlaunchability) (const AbilityRuntime::WantAgent::WantAgent &amp;ability)=0 | 设置一个WantAgent用于启动会话的Ability。 |
| [GetController](#getcontroller) ()=0 | 获取会话控制器。 |
| [RegisterCallback](#registercallback) (const std::shared_ptr&lt; [AVSessionCallback](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md) &gt; &amp;callback)=0 | 注册会话回调。 |
| [Activate](#activate) ()=0 | 激活会话。 |
| [Deactivate](#deactivate) ()=0 | 去激活会话。 |
| [IsActive](#isactive) ()=0 | 获取会话是否被激活。 |
| [Destroy](#destroy) ()=0 | 销毁会话。 |
| [AddSupportCommand](#addsupportcommand) (const int32_t cmd)=0 | 添加支持的控制命令。 |
| [DeleteSupportCommand](#deletesupportcommand) (const int32_t cmd)=0 | 删除支持的控制命令。 |
## 成员枚举类型说明
......@@ -50,9 +50,9 @@ anonymous enum
| 枚举值 | 描述 |
| -------- | -------- |
| SESSION_TYPE_INVALID&nbsp; | 无效会话 |
| SESSION_TYPE_AUDIO&nbsp; | 音频会话 |
| SESSION_TYPE_VIDEO&nbsp; | 视频会话 |
| SESSION_TYPE_INVALID | 无效会话 |
| SESSION_TYPE_AUDIO | 音频会话 |
| SESSION_TYPE_VIDEO | 视频会话 |
## 成员函数说明
......@@ -93,7 +93,7 @@ virtual int32_t OHOS::AVSession::AVSession::AddSupportCommand (const int32_t cmd
| 名称 | 描述 |
| -------- | -------- |
| cmd | 待添加的控制命令,范围为**SESSION_CMD_INVALID****SESSION_CMD_MAX**&nbsp; |
| cmd | 待添加的控制命令,范围为**SESSION_CMD_INVALID****SESSION_CMD_MAX** |
**返回:**
......@@ -135,7 +135,7 @@ virtual int32_t OHOS::AVSession::AVSession::DeleteSupportCommand (const int32_t
| 名称 | 描述 |
| -------- | -------- |
| cmd | 待删除的控制命令,范围为**SESSION_CMD_INVALID****SESSION_CMD_MAX**&nbsp; |
| cmd | 待删除的控制命令,范围为**SESSION_CMD_INVALID****SESSION_CMD_MAX** |
**返回:**
......@@ -171,7 +171,7 @@ virtual int32_t OHOS::AVSession::AVSession::GetAVMetaData (AVMetaData & meta)
| 名称 | 描述 |
| -------- | -------- |
| meta | 用于保存会话的元数据[AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md)对象。&nbsp; |
| meta | 用于保存会话的元数据[AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md)对象。 |
**返回:**
......@@ -195,7 +195,7 @@ virtual int32_t OHOS::AVSession::AVSession::GetAVPlaybackState (AVPlaybackState
| 名称 | 描述 |
| -------- | -------- |
| state | 用于保存播放状态的[AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)对象。&nbsp; |
| state | 用于保存播放状态的[AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)对象。 |
**返回:**
......@@ -267,7 +267,7 @@ virtual int32_t OHOS::AVSession::AVSession::RegisterCallback (const std::shared_
| 名称 | 描述 |
| -------- | -------- |
| callback | 用于注册会话回调的[AVSessionCallback](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md)对象。&nbsp; |
| callback | 用于注册会话回调的[AVSessionCallback](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md)对象。 |
**返回:**
......@@ -287,7 +287,7 @@ virtual int32_t OHOS::AVSession::AVSession::SetAVMetaData (const AVMetaData & me
| 名称 | 描述 |
| -------- | -------- |
| meta | 用于修改会话的元数据[AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md)对象。&nbsp; |
| meta | 用于修改会话的元数据[AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md)对象。 |
**返回:**
......@@ -311,7 +311,7 @@ virtual int32_t OHOS::AVSession::AVSession::SetAVPlaybackState (const AVPlayback
| 名称 | 描述 |
| -------- | -------- |
| state | 用于修改播放状态的[AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)对象。&nbsp; |
| state | 用于修改播放状态的[AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)对象。 |
**返回:**
......@@ -335,7 +335,7 @@ virtual int32_t OHOS::AVSession::AVSession::SetLaunchAbility (const AbilityRunti
| 名称 | 描述 |
| -------- | -------- |
| ability | 具体的应用对应的能力,类型为**AbilityRuntime::WantAgent::WantAgent**&nbsp; |
| ability | 具体的应用对应的能力,类型为**AbilityRuntime::WantAgent::WantAgent** |
**返回:**
......
......@@ -19,29 +19,29 @@ VideoDecoder模块提供用于视频解码功能的函数。
| 名称 | 描述 |
| -------- | -------- |
| [native_avcodec_videodecoder.h](native__avcodec__videodecoder_8h.md) | 声明用于视频解码的Native&nbsp;API。&nbsp; |
| [native_avcodec_videodecoder.h](native__avcodec__videodecoder_8h.md) | 声明用于视频解码的Native API。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
| [OH_VideoDecoder_CreateByMime](#ohvideodecodercreatebymime)&nbsp;(const&nbsp;char&nbsp;\*mime) | OH_AVCodec&nbsp;\*<br/>通过mime类型创建一个视频解码器实例,大多数情况下推荐使用该接口。&nbsp; |
| [OH_VideoDecoder_CreateByName](#ohvideodecodercreatebyname)&nbsp;(const&nbsp;char&nbsp;\*name) | OH_AVCodec&nbsp;\*<br/>通过视频解码器名称创建一个视频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。&nbsp; |
| [OH_VideoDecoder_Destroy](#ohvideodecoderdestroy)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部资源,并销毁解码器实例。&nbsp; |
| [OH_VideoDecoder_SetCallback](#ohvideodecodersetcallback)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)&nbsp;callback,&nbsp;void&nbsp;\*userData) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应视频解码器产生的事件,该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_VideoDecoder_SetSurface](#ohvideodecodersetsurface)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OHNativeWindow&nbsp;\*window) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>指定输出Surface,以提供视频解码输出,该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_VideoDecoder_Configure](#ohvideodecoderconfigure)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OH_AVFormat&nbsp;\*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置视频解码器,典型地,需要配置被解码视频轨道的描述信息,这些信息能够从容器中提取出来,&nbsp;该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_VideoDecoder_Prepare](#ohvideodecoderprepare)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备解码器内部资源,调用该接口前必须先调用Configure接口。&nbsp; |
| [OH_VideoDecoder_Start](#ohvideodecoderstart)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动解码器,该接口必须在已经Prepare成功后调用。&nbsp;在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。&nbsp; |
| [OH_VideoDecoder_Stop](#ohvideodecoderstop)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过&nbsp;Codec-Specific-Data,则需要重新输入。&nbsp; |
| [OH_VideoDecoder_Flush](#ohvideodecoderflush)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将&nbsp;失效,确保不要再访问这些索引对应的Buffers。&nbsp; |
| [OH_VideoDecoder_Reset](#ohvideodecoderreset)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。&nbsp; |
| [OH_VideoDecoder_GetOutputDescription](#ohvideodecodergetoutputdescription)&nbsp;(OH_AVCodec&nbsp;\*codec) | OH_AVFormat&nbsp;\*<br/>获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期&nbsp;将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。&nbsp; |
| [OH_VideoDecoder_SetParameter](#ohvideodecodersetparameter)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OH_AVFormat&nbsp;\*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。&nbsp; |
| [OH_VideoDecoder_PushInputData](#ohvideodecoderpushinputdata)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index,&nbsp;[OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)&nbsp;attr) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将填充好数据的输入Buffer提交给视频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)回调会报告可用的输入&nbsp;Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)&nbsp;回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入&nbsp;Codec-Specific-Data,用以初始化解码器的解码过程,例如H264格式的PPS/SPS数据。&nbsp; |
| [OH_VideoDecoder_RenderOutputData](#ohvideodecoderrenderoutputdata)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器,并通知解码器完成将该Buffer内包含的解码后的数据在输出Surface上渲染。&nbsp;如果先前未配置输出Surface,调用该接口仅仅将指定索引对应的输出Buffer交还给解码器。&nbsp; |
| [OH_VideoDecoder_FreeOutputData](#ohvideodecoderfreeoutputdata)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器。&nbsp; |
| [OH_VideoDecoder_CreateByMime](#ohvideodecodercreatebymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个视频解码器实例,大多数情况下推荐使用该接口。 |
| [OH_VideoDecoder_CreateByName](#ohvideodecodercreatebyname) (const char \*name) | OH_AVCodec \*<br/>通过视频解码器名称创建一个视频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 |
| [OH_VideoDecoder_Destroy](#ohvideodecoderdestroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部资源,并销毁解码器实例。 |
| [OH_VideoDecoder_SetCallback](#ohvideodecodersetcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应视频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoDecoder_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_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_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_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_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_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交还给解码器。 |
## 函数说明
......@@ -62,8 +62,8 @@ OH_AVErrCode OH_VideoDecoder_Configure (OH_AVCodec * codec, OH_AVFormat * format
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| format | 指向OH_AVFormat的指针,用以给出待解码视频轨道的描述信息&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| format | 指向OH_AVFormat的指针,用以给出待解码视频轨道的描述信息 |
**返回:**
......@@ -109,7 +109,7 @@ OH_AVCodec* OH_VideoDecoder_CreateByName (const char * name)
| 名称 | 描述 |
| -------- | -------- |
| name | 视频解码器名称&nbsp; |
| name | 视频解码器名称 |
**返回:**
......@@ -131,7 +131,7 @@ OH_AVErrCode OH_VideoDecoder_Destroy (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -155,7 +155,7 @@ OH_AVErrCode OH_VideoDecoder_Flush (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -179,8 +179,8 @@ OH_AVErrCode OH_VideoDecoder_FreeOutputData (OH_AVCodec * codec, uint32_t index
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| index | 输出Buffer对应的索引值&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| index | 输出Buffer对应的索引值 |
**返回:**
......@@ -204,7 +204,7 @@ OH_AVFormat* OH_VideoDecoder_GetOutputDescription (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -226,7 +226,7 @@ OH_AVErrCode OH_VideoDecoder_Prepare (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -250,9 +250,9 @@ OH_AVErrCode OH_VideoDecoder_PushInputData (OH_AVCodec * codec, uint32_t index,
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| index | 输入Buffer对应的索引值&nbsp; |
| attr | 描述该Buffer内所包含数据的信息&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| index | 输入Buffer对应的索引值 |
| attr | 描述该Buffer内所包含数据的信息 |
**返回:**
......@@ -276,8 +276,8 @@ OH_AVErrCode OH_VideoDecoder_RenderOutputData (OH_AVCodec * codec, uint32_t inde
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| index | 输出Buffer对应的索引值&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| index | 输出Buffer对应的索引值 |
**返回:**
......@@ -301,7 +301,7 @@ OH_AVErrCode OH_VideoDecoder_Reset (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -325,9 +325,9 @@ OH_AVErrCode OH_VideoDecoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCal
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| callback | 一个包含所有回调函数的集合体,参考[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) |
| userData | 用户特定数据&nbsp; |
| userData | 用户特定数据 |
**返回:**
......@@ -351,8 +351,8 @@ OH_AVErrCode OH_VideoDecoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| format | 指向OH_AVFormat实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| format | 指向OH_AVFormat实例的指针 |
**返回:**
......@@ -376,8 +376,8 @@ OH_AVErrCode OH_VideoDecoder_SetSurface (OH_AVCodec * codec, OHNativeWindow * wi
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| window | 指向一个OHNativeWindow实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| window | 指向一个OHNativeWindow实例的指针 |
**返回:**
......@@ -401,7 +401,7 @@ OH_AVErrCode OH_VideoDecoder_Start (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -425,7 +425,7 @@ OH_AVErrCode OH_VideoDecoder_Stop (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......
......@@ -19,42 +19,42 @@ VideoEncoder模块提供用于视频编码功能的函数和枚举。
| 名称 | 描述 |
| -------- | -------- |
| [native_avcodec_videoencoder.h](native__avcodec__videoencoder_8h.md) | 声明用于视频编码的Native&nbsp;API。&nbsp; |
| [native_avcodec_videoencoder.h](native__avcodec__videoencoder_8h.md) | 声明用于视频编码的Native API。 |
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
| [OH_VideoEncodeBitrateMode](#ohvideoencodebitratemode) | typedef&nbsp;enum&nbsp;[OH_VideoEncodeBitrateMode](#ohvideoencodebitratemode)<br/>视频编码的比特率模式。&nbsp; |
| [OH_VideoEncodeBitrateMode](#ohvideoencodebitratemode) | typedef enum [OH_VideoEncodeBitrateMode](#ohvideoencodebitratemode)<br/>视频编码的比特率模式。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
| [OH_VideoEncodeBitrateMode](#ohvideoencodebitratemode)&nbsp;{&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473332525.xml#xref742950777182348,link:zh-cn_topic_0000001473332525.xml#ggae5aed6bb1e318f7fc489a7cb859578e1adb1ecf549b5c6f145b2aff320909c70e](#ggae5aed6bb1e318f7fc489a7cb859578e1adb1ecf549b5c6f145b2aff320909c70e)&nbsp;=&nbsp;0,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473332525.xml#xref925239518182348,link:zh-cn_topic_0000001473332525.xml#ggae5aed6bb1e318f7fc489a7cb859578e1a5cd8a75942875437b0216e7e61693596](#ggae5aed6bb1e318f7fc489a7cb859578e1a5cd8a75942875437b0216e7e61693596)&nbsp;=&nbsp;1,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001473332525.xml#xref1027861602182348,link:zh-cn_topic_0000001473332525.xml#ggae5aed6bb1e318f7fc489a7cb859578e1a3714c38a79124f71d2ec3fa8f9c03bc4](#ggae5aed6bb1e318f7fc489a7cb859578e1a3714c38a79124f71d2ec3fa8f9c03bc4)&nbsp;=&nbsp;2&nbsp;} | 视频编码的比特率模式。&nbsp; |
| [OH_VideoEncodeBitrateMode](#ohvideoencodebitratemode) { **CBR** = 0, **VBR** = 1, **CQ** = 2 } | 视频编码的比特率模式。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
| [OH_VideoEncoder_CreateByMime](#ohvideoencodercreatebymime)&nbsp;(const&nbsp;char&nbsp;\*mime) | OH_AVCodec&nbsp;\*<br/>通过mime类型创建一个视频编码器实例,大多数情况下推荐使用该接口。&nbsp; |
| [OH_VideoEncoder_CreateByName](#ohvideoencodercreatebyname)&nbsp;(const&nbsp;char&nbsp;\*name) | OH_AVCodec&nbsp;\*<br/>通过视频编码器名称创建一个视频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。&nbsp; |
| [OH_VideoEncoder_Destroy](#ohvideoencoderdestroy)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部资源,并销毁编码器实例。&nbsp; |
| [OH_VideoEncoder_SetCallback](#ohvideoencodersetcallback)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)&nbsp;callback,&nbsp;void&nbsp;\*userData) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应视频编码器产生的事件,该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_VideoEncoder_Configure](#ohvideoencoderconfigure)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OH_AVFormat&nbsp;\*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置视频编码器,典型地,需要配置被编码视频轨道的描述信息,该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_VideoEncoder_Prepare](#ohvideoencoderprepare)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备编码器内部资源,调用该接口前必须先调用Configure接口。&nbsp; |
| [OH_VideoEncoder_Start](#ohvideoencoderstart)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。&nbsp;在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。&nbsp; |
| [OH_VideoEncoder_Stop](#ohvideoencoderstop)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止编码器。在停止后可通过Start重新进入Started状态。&nbsp; |
| [OH_VideoEncoder_Flush](#ohvideoencoderflush)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将&nbsp;失效,确保不要再访问这些索引对应的Buffers。&nbsp; |
| [OH_VideoEncoder_Reset](#ohvideoencoderreset)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。&nbsp; |
| [OH_VideoEncoder_GetOutputDescription](#ohvideoencodergetoutputdescription)&nbsp;(OH_AVCodec&nbsp;\*codec) | OH_AVFormat&nbsp;\*<br/>获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期&nbsp;将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。&nbsp; |
| [OH_VideoEncoder_SetParameter](#ohvideoencodersetparameter)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OH_AVFormat&nbsp;\*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。&nbsp; |
| [OH_VideoEncoder_GetSurface](#ohvideoencodergetsurface)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OHNativeWindow&nbsp;\*\*window) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>从视频编码器获取输入Surface,&nbsp;该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_VideoEncoder_FreeOutputData](#ohvideoencoderfreeoutputdata)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给编码器。&nbsp; |
| [OH_VideoEncoder_NotifyEndOfStream](#ohvideoencodernotifyendofstream)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>通知视频编码器输入码流已结束。surface模式推荐使用该接口通知编码器码流结束。&nbsp; |
| [OH_VideoEncoder_CreateByMime](#ohvideoencodercreatebymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个视频编码器实例,大多数情况下推荐使用该接口。 |
| [OH_VideoEncoder_CreateByName](#ohvideoencodercreatebyname) (const char \*name) | OH_AVCodec \*<br/>通过视频编码器名称创建一个视频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 |
| [OH_VideoEncoder_Destroy](#ohvideoencoderdestroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部资源,并销毁编码器实例。 |
| [OH_VideoEncoder_SetCallback](#ohvideoencodersetcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应视频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoEncoder_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_Start](#ohvideoencoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。 |
| [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_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_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_FreeOutputData](#ohvideoencoderfreeoutputdata) (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模式推荐使用该接口通知编码器码流结束。 |
## 类型定义说明
......@@ -88,9 +88,9 @@ enum OH_VideoEncodeBitrateMode
| 枚举值 | 描述 |
| -------- | -------- |
| CBR&nbsp; | 恒定比特率模式 |
| VBR&nbsp; | 可变比特率模式 |
| CQ&nbsp; | 恒定质量模式 |
| CBR | 恒定比特率模式 |
| VBR | 可变比特率模式 |
| CQ | 恒定质量模式 |
## 函数说明
......@@ -111,8 +111,8 @@ OH_AVErrCode OH_VideoEncoder_Configure (OH_AVCodec * codec, OH_AVFormat * format
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| format | 指向OH_AVFormat的指针,用以给出待编码视频轨道的描述信息&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| format | 指向OH_AVFormat的指针,用以给出待编码视频轨道的描述信息 |
**返回:**
......@@ -158,7 +158,7 @@ OH_AVCodec* OH_VideoEncoder_CreateByName (const char * name)
| 名称 | 描述 |
| -------- | -------- |
| name | 视频编码器名称&nbsp; |
| name | 视频编码器名称 |
**返回:**
......@@ -180,7 +180,7 @@ OH_AVErrCode OH_VideoEncoder_Destroy (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -204,7 +204,7 @@ OH_AVErrCode OH_VideoEncoder_Flush (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -228,8 +228,8 @@ OH_AVErrCode OH_VideoEncoder_FreeOutputData (OH_AVCodec * codec, uint32_t index
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| index | 输出Buffer对应的索引值&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| index | 输出Buffer对应的索引值 |
**返回:**
......@@ -253,7 +253,7 @@ OH_AVFormat* OH_VideoEncoder_GetOutputDescription (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -275,8 +275,8 @@ OH_AVErrCode OH_VideoEncoder_GetSurface (OH_AVCodec * codec, OHNativeWindow ** w
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| window | 指向一个OHNativeWindow实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| window | 指向一个OHNativeWindow实例的指针 |
**返回:**
......@@ -300,7 +300,7 @@ OH_AVErrCode OH_VideoEncoder_NotifyEndOfStream (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -324,7 +324,7 @@ OH_AVErrCode OH_VideoEncoder_Prepare (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -348,7 +348,7 @@ OH_AVErrCode OH_VideoEncoder_Reset (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -372,9 +372,9 @@ OH_AVErrCode OH_VideoEncoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCal
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| callback | 一个包含所有回调函数的集合体,参考[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) |
| userData | 用户特定数据&nbsp; |
| userData | 用户特定数据 |
**返回:**
......@@ -398,8 +398,8 @@ OH_AVErrCode OH_VideoEncoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * for
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| format | OH_AVFormat句柄指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
| format | OH_AVFormat句柄指针 |
**返回:**
......@@ -423,7 +423,7 @@ OH_AVErrCode OH_VideoEncoder_Start (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......@@ -447,7 +447,7 @@ OH_AVErrCode OH_VideoEncoder_Stop (OH_AVCodec * codec)
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针&nbsp; |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
......
......@@ -21,4 +21,4 @@
| 名称 | 描述 |
| -------- | -------- |
| [OHOS::AVSession::AVSession](_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md) | class<br/>会话对象,支持配置会话属性,并可主动更新播放状态和会话元数据。&nbsp; |
| [OHOS::AVSession::AVSession](_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md) | class<br/>会话对象,支持配置会话属性,并可主动更新播放状态和会话元数据。 |
......@@ -21,4 +21,4 @@
| 名称 | 描述 |
| -------- | -------- |
| [OHOS::AVSession::AVControlCommand](_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md) | class<br/>用于描述音视频播控命令工具类,播控命令的封装对象,支持设置和获取控制命令。&nbsp; |
| [OHOS::AVSession::AVControlCommand](_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md) | class<br/>用于描述音视频播控命令工具类,播控命令的封装对象,支持设置和获取控制命令。 |
......@@ -21,4 +21,4 @@
| 名称 | 描述 |
| -------- | -------- |
| [OHOS::AVSession::AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md) | class<br/>会话元数据类,提供获取metadata进程间传递的序列化和反序列话及数据拷贝的接口方法。&nbsp; |
| [OHOS::AVSession::AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md) | class<br/>会话元数据类,提供获取metadata进程间传递的序列化和反序列话及数据拷贝的接口方法。 |
......@@ -21,5 +21,5 @@
| 名称 | 描述 |
| -------- | -------- |
| [OHOS::AVSession::AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md) | class<br/>音视频播放状态类,提供获取和设置播放界面的信息。&nbsp; |
| [OHOS::AVSession::AVPlaybackState::Position](_1_a_v_session_1_1_a_v_playback_state_1_1_position.md) | struct<br/>播放位置的相关信息。&nbsp; |
| [OHOS::AVSession::AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md) | class<br/>音视频播放状态类,提供获取和设置播放界面的信息。 |
| [OHOS::AVSession::AVPlaybackState::Position](_1_a_v_session_1_1_a_v_playback_state_1_1_position.md) | struct<br/>播放位置的相关信息。 |
......@@ -50,41 +50,41 @@
| 名称 | 描述 |
| -------- | -------- |
| [OHOS::AVSession::AVSessionDescriptor::WriteToParcel](#writetoparcel)&nbsp;(Parcel&nbsp;&amp;out)&nbsp;const | bool<br/>将会话相关描述信息写进包里。 |
| [OHOS::AVSession::AVSessionDescriptor::ReadFromParcel](#readfromparcel)&nbsp;(Parcel&nbsp;&amp;in) | bool<br/>对会话相关描述信息进行解包。 |
| [OHOS::AVSession::AVSessionDescriptor::WriteToParcel](#writetoparcel) (Parcel &amp;out) const | bool<br/>将会话相关描述信息写进包里。 |
| [OHOS::AVSession::AVSessionDescriptor::ReadFromParcel](#readfromparcel) (Parcel &amp;in) | bool<br/>对会话相关描述信息进行解包。 |
### 变量
| 名称 | 描述 |
| -------- | -------- |
| [OHOS::AVSession::OutputDeviceInfo::isRemote_](#isremote)&nbsp;{} | bool<br/>是否连接 |
| [OHOS::AVSession::OutputDeviceInfo::deviceIds_](#deviceids) | std::vector&lt;&nbsp;std::string&nbsp;&gt;<br/>分布式设备的id集合 |
| [OHOS::AVSession::OutputDeviceInfo::deviceNames_](#devicenames) | std::vector&lt;&nbsp;std::string&nbsp;&gt;<br/>分布式设备的名称集合 |
| [OHOS::AVSession::OutputDeviceInfo::isRemote_](#isremote) {} | bool<br/>是否连接 |
| [OHOS::AVSession::OutputDeviceInfo::deviceIds_](#deviceids) | std::vector&lt; std::string &gt;<br/>分布式设备的id集合 |
| [OHOS::AVSession::OutputDeviceInfo::deviceNames_](#devicenames) | std::vector&lt; std::string &gt;<br/>分布式设备的名称集合 |
| [OHOS::AVSession::AVSessionDescriptor::sessionId_](#sessionid) | std::string<br/>会话的id |
| [OHOS::AVSession::AVSessionDescriptor::sessionType_](#sessiontype)&nbsp;{} | int32_t<br/>会话的类型 |
| [OHOS::AVSession::AVSessionDescriptor::sessionType_](#sessiontype) {} | int32_t<br/>会话的类型 |
| [OHOS::AVSession::AVSessionDescriptor::sessionTag_](#sessiontag) | std::string<br/>会话的自定义名称 |
| [OHOS::AVSession::AVSessionDescriptor::elementName_](#elementname) | AppExecFwk::ElementName<br/>会话所属应用的信息包含bundleName,abilityName等 |
| [OHOS::AVSession::AVSessionDescriptor::pid_](#pid)&nbsp;{} | pid_t<br/>进程id |
| [OHOS::AVSession::AVSessionDescriptor::uid_](#uid)&nbsp;{} | pid_t<br/>用户id |
| [OHOS::AVSession::AVSessionDescriptor::isActive_](#isactive)&nbsp;{} | bool<br/>会话是否为激活状态 |
| [OHOS::AVSession::AVSessionDescriptor::isTopSession_](#istopsession)&nbsp;{} | bool<br/>会话是否是最新的会话 |
| [OHOS::AVSession::AVSessionDescriptor::isThirdPartyApp_](#isthirdpartyapp)&nbsp;{} | bool<br/>是否是第三方应用 |
| [OHOS::AVSession::AVSessionDescriptor::pid_](#pid) {} | pid_t<br/>进程id |
| [OHOS::AVSession::AVSessionDescriptor::uid_](#uid) {} | pid_t<br/>用户id |
| [OHOS::AVSession::AVSessionDescriptor::isActive_](#isactive) {} | bool<br/>会话是否为激活状态 |
| [OHOS::AVSession::AVSessionDescriptor::isTopSession_](#istopsession) {} | bool<br/>会话是否是最新的会话 |
| [OHOS::AVSession::AVSessionDescriptor::isThirdPartyApp_](#isthirdpartyapp) {} | bool<br/>是否是第三方应用 |
| [OHOS::AVSession::AVSessionDescriptor::outputDeviceInfo_](#outputdeviceinfo) | [OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md)<br/>分布式设备相关信息 |
| [OHOS::AVSession::AVSessionBasicInfo::deviceName_](#devicename)&nbsp;{} | std::string<br/>设备名称 |
| [OHOS::AVSession::AVSessionBasicInfo::networkId_](#networkid)&nbsp;{} | std::string<br/>设备id |
| [OHOS::AVSession::AVSessionBasicInfo::vendorId_](#vendorid)&nbsp;{} | std::string<br/>供应商id |
| [OHOS::AVSession::AVSessionBasicInfo::deviceType_](#devicetype)&nbsp;{} | std::string<br/>设备类型 |
| [OHOS::AVSession::AVSessionBasicInfo::systemVersion_](#systemversion)&nbsp;{} | std::string<br/>系统版本 |
| [OHOS::AVSession::AVSessionBasicInfo::sessionVersion_](#sessionversion)&nbsp;{} | int32_t<br/>会话版本 |
| [OHOS::AVSession::AVSessionBasicInfo::reserve_](#reserve)&nbsp;{} | std::vector&lt;&nbsp;int32_t&nbsp;&gt;<br/>备注信息 |
| [OHOS::AVSession::AVSessionBasicInfo::feature_](#feature)&nbsp;{} | std::vector&lt;&nbsp;int32_t&nbsp;&gt;<br/>特征信息 |
| [OHOS::AVSession::AVSessionBasicInfo::metaDataCap_](#metadatacap)&nbsp;{} | std::vector&lt;&nbsp;int32_t&nbsp;&gt;<br/>会话元数据 |
| [OHOS::AVSession::AVSessionBasicInfo::playBackStateCap_](#playbackstatecap)&nbsp;{} | std::vector&lt;&nbsp;int32_t&nbsp;&gt;<br/>支持播放状态数组 |
| [OHOS::AVSession::AVSessionBasicInfo::controlCommandCap_](#controlcommandcap)&nbsp;{} | std::vector&lt;&nbsp;int32_t&nbsp;&gt;<br/>系统控制命令 |
| [OHOS::AVSession::AVSessionBasicInfo::extendCapability_](#extendcapability)&nbsp;{} | std::vector&lt;&nbsp;int32_t&nbsp;&gt;<br/>扩展能力 |
| [OHOS::AVSession::AVSessionBasicInfo::systemTime_](#systemtime)&nbsp;{} | int32_t<br/>系统时间 |
| [OHOS::AVSession::AVSessionBasicInfo::extend_](#extend)&nbsp;{} | std::vector&lt;&nbsp;int32_t&nbsp;&gt;<br/>扩展信息 |
| [OHOS::AVSession::AVSessionBasicInfo::deviceName_](#devicename) {} | std::string<br/>设备名称 |
| [OHOS::AVSession::AVSessionBasicInfo::networkId_](#networkid) {} | std::string<br/>设备id |
| [OHOS::AVSession::AVSessionBasicInfo::vendorId_](#vendorid) {} | std::string<br/>供应商id |
| [OHOS::AVSession::AVSessionBasicInfo::deviceType_](#devicetype) {} | std::string<br/>设备类型 |
| [OHOS::AVSession::AVSessionBasicInfo::systemVersion_](#systemversion) {} | std::string<br/>系统版本 |
| [OHOS::AVSession::AVSessionBasicInfo::sessionVersion_](#sessionversion) {} | int32_t<br/>会话版本 |
| [OHOS::AVSession::AVSessionBasicInfo::reserve_](#reserve) {} | std::vector&lt; int32_t &gt;<br/>备注信息 |
| [OHOS::AVSession::AVSessionBasicInfo::feature_](#feature) {} | std::vector&lt; int32_t &gt;<br/>特征信息 |
| [OHOS::AVSession::AVSessionBasicInfo::metaDataCap_](#metadatacap) {} | std::vector&lt; int32_t &gt;<br/>会话元数据 |
| [OHOS::AVSession::AVSessionBasicInfo::playBackStateCap_](#playbackstatecap) {} | std::vector&lt; int32_t &gt;<br/>支持播放状态数组 |
| [OHOS::AVSession::AVSessionBasicInfo::controlCommandCap_](#controlcommandcap) {} | std::vector&lt; int32_t &gt;<br/>系统控制命令 |
| [OHOS::AVSession::AVSessionBasicInfo::extendCapability_](#extendcapability) {} | std::vector&lt; int32_t &gt;<br/>扩展能力 |
| [OHOS::AVSession::AVSessionBasicInfo::systemTime_](#systemtime) {} | int32_t<br/>系统时间 |
| [OHOS::AVSession::AVSessionBasicInfo::extend_](#extend) {} | std::vector&lt; int32_t &gt;<br/>扩展信息 |
## 函数说明
......
......@@ -21,4 +21,4 @@
| 名称 | 描述 |
| -------- | -------- |
| [OHOS::AVSession::AVSessionController](o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md) | class<br/>控制器对象,可获取会话的播放状态和会话元数据,远程发送控制命令到会话端也可以通过订阅监听会话段的更新事件。&nbsp; |
| [OHOS::AVSession::AVSessionController](o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md) | class<br/>控制器对象,可获取会话的播放状态和会话元数据,远程发送控制命令到会话端也可以通过订阅监听会话段的更新事件。 |
......@@ -21,6 +21,6 @@
| 名称 | 描述 |
| -------- | -------- |
| [OHOS::AVSession::OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md) | struct<br/>描述分布式设备的相关信息。&nbsp; |
| [OHOS::AVSession::AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) | struct<br/>会话的相关描述信息。&nbsp; |
| [OHOS::AVSession::AVSessionBasicInfo](o_h_o_s_1_1_a_v_session_1_1_a_v_session_basic_info.md) | struct<br/>会话基础信息描述。&nbsp; |
| [OHOS::AVSession::OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md) | struct<br/>描述分布式设备的相关信息。 |
| [OHOS::AVSession::AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) | struct<br/>会话的相关描述信息。 |
| [OHOS::AVSession::AVSessionBasicInfo](o_h_o_s_1_1_a_v_session_1_1_a_v_session_basic_info.md) | struct<br/>会话基础信息描述。 |
......@@ -21,28 +21,28 @@
| 名称 | 描述 |
| -------- | -------- |
| [OHOS::AVSession::AVSESSION_ERROR](#avsessionerror)&nbsp;=&nbsp;-1 | constexpr&nbsp;int32_t<br/>存在错误&nbsp; |
| [OHOS::AVSession::AVSESSION_SUCCESS](#avsessionsuccess)&nbsp;=&nbsp;0 | constexpr&nbsp;int32_t<br/>操作成功&nbsp; |
| [OHOS::AVSession::AVSESSION_ERROR_BASE](#avsessionerrorbase)&nbsp;=&nbsp;1000 | constexpr&nbsp;int32_t<br/>avsession错误码的基定义&nbsp; |
| [OHOS::AVSession::ERR_NO_MEMORY](#errnomemory)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;1) | constexpr&nbsp;int32_t<br/>无可用内存&nbsp; |
| [OHOS::AVSession::ERR_INVALID_PARAM](#errinvalidparam)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;2) | constexpr&nbsp;int32_t<br/>传递的参数无效&nbsp; |
| [OHOS::AVSession::ERR_SERVICE_NOT_EXIST](#errservicenotexist)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;3) | constexpr&nbsp;int32_t<br/>服务不存在&nbsp; |
| [OHOS::AVSession::ERR_SESSION_LISTENER_EXIST](#errsessionlistenerexist)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;4) | constexpr&nbsp;int32_t<br/>Session监听器已存在&nbsp; |
| [OHOS::AVSession::ERR_MARSHALLING](#errmarshalling)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;5) | constexpr&nbsp;int32_t<br/>数据序列化操作错误&nbsp; |
| [OHOS::AVSession::ERR_UNMARSHALLING](#errunmarshalling)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;6) | constexpr&nbsp;int32_t<br/>数据反序列化操作错误&nbsp; |
| [OHOS::AVSession::ERR_IPC_SEND_REQUEST](#erripcsendrequest)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;7) | constexpr&nbsp;int32_t<br/>IPC发送数据失败&nbsp; |
| [OHOS::AVSession::ERR_SESSION_EXCEED_MAX](#errsessionexceedmax)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;8) | constexpr&nbsp;int32_t<br/>超过允许会话最大数量&nbsp; |
| [OHOS::AVSession::ERR_SESSION_NOT_EXIST](#errsessionnotexist)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;9) | constexpr&nbsp;int32_t<br/>会话不存在&nbsp; |
| [OHOS::AVSession::ERR_COMMAND_NOT_SUPPORT](#errcommandnotsupport)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;10) | constexpr&nbsp;int32_t<br/>会话命令不支持&nbsp; |
| [OHOS::AVSession::ERR_CONTROLLER_NOT_EXIST](#errcontrollernotexist)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;11) | constexpr&nbsp;int32_t<br/>控制器不存在&nbsp; |
| [OHOS::AVSession::ERR_NO_PERMISSION](#errnopermission)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;12) | constexpr&nbsp;int32_t<br/>无权限&nbsp; |
| [OHOS::AVSession::ERR_SESSION_DEACTIVE](#errsessiondeactive)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;13) | constexpr&nbsp;int32_t<br/>会话未激活&nbsp; |
| [OHOS::AVSession::ERR_CONTROLLER_IS_EXIST](#errcontrollerisexist)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;14) | constexpr&nbsp;int32_t<br/>控制器存在&nbsp; |
| [OHOS::AVSession::ERR_START_ABILITY_IS_RUNNING](#errstartabilityisrunning)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;15) | constexpr&nbsp;int32_t<br/>元能力正在运行&nbsp; |
| [OHOS::AVSession::ERR_ABILITY_NOT_AVAILABLE](#errabilitynotavailable)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;16) | constexpr&nbsp;int32_t<br/>元能力启动超失败&nbsp; |
| [OHOS::AVSession::ERR_START_ABILITY_TIMEOUT](#errstartabilitytimeout)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;17) | constexpr&nbsp;int32_t<br/>元能力启动超时&nbsp; |
| [OHOS::AVSession::ERR_COMMAND_SEND_EXCEED_MAX](#errcommandsendexceedmax)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;18) | constexpr&nbsp;int32_t<br/>指令发送次数超过最大值&nbsp; |
| [OHOS::AVSession::ERR_RPC_SEND_REQUEST](#errrpcsendrequest)&nbsp;=&nbsp;-(AVSESSION_ERROR_BASE&nbsp;+&nbsp;19) | constexpr&nbsp;int32_t<br/>RPC发送数据失败&nbsp; |
| [OHOS::AVSession::AVSESSION_ERROR](#avsessionerror) = -1 | constexpr int32_t<br/>存在错误 |
| [OHOS::AVSession::AVSESSION_SUCCESS](#avsessionsuccess) = 0 | constexpr int32_t<br/>操作成功 |
| [OHOS::AVSession::AVSESSION_ERROR_BASE](#avsessionerrorbase) = 1000 | constexpr int32_t<br/>avsession错误码的基定义 |
| [OHOS::AVSession::ERR_NO_MEMORY](#errnomemory) = -(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_SERVICE_NOT_EXIST](#errservicenotexist) = -(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_MARSHALLING](#errmarshalling) = -(AVSESSION_ERROR_BASE + 5) | constexpr int32_t<br/>数据序列化操作错误 |
| [OHOS::AVSession::ERR_UNMARSHALLING](#errunmarshalling) = -(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_SESSION_EXCEED_MAX](#errsessionexceedmax) = -(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_COMMAND_NOT_SUPPORT](#errcommandnotsupport) = -(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_NO_PERMISSION](#errnopermission) = -(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_CONTROLLER_IS_EXIST](#errcontrollerisexist) = -(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_ABILITY_NOT_AVAILABLE](#errabilitynotavailable) = -(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_COMMAND_SEND_EXCEED_MAX](#errcommandsendexceedmax) = -(AVSESSION_ERROR_BASE + 18) | constexpr int32_t<br/>指令发送次数超过最大值 |
| [OHOS::AVSession::ERR_RPC_SEND_REQUEST](#errrpcsendrequest) = -(AVSESSION_ERROR_BASE + 19) | constexpr int32_t<br/>RPC发送数据失败 |
## 变量说明
......
......@@ -21,24 +21,24 @@
| 名称 | 描述 |
| -------- | -------- |
| [OHOS::AVSession::SessionListener](_o_h_o_s_1_1_a_v_session_1_1_session_listener.md) | class<br/>定义与AVSession相关监听器的类的实现。&nbsp; |
| [OHOS::AVSession::AVSessionCallback](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md) | class<br/>定义AVSession回调类的实现&nbsp; |
| [OHOS::AVSession::AVControllerCallback](_h_o_s_1_1_a_v_session_1_1_a_v_controller_callback.md) | class<br/>定义控制器相关回调操作的类的实现。&nbsp; |
| [OHOS::AVSession::SessionToken](_o_h_o_s_1_1_a_v_session_1_1_session_token.md) | struct<br/>会话令牌的信息。&nbsp; |
| [OHOS::AVSession::SessionListener](_o_h_o_s_1_1_a_v_session_1_1_session_listener.md) | class<br/>定义与AVSession相关监听器的类的实现。 |
| [OHOS::AVSession::AVSessionCallback](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md) | class<br/>定义AVSession回调类的实现 |
| [OHOS::AVSession::AVControllerCallback](_h_o_s_1_1_a_v_session_1_1_a_v_controller_callback.md) | class<br/>定义控制器相关回调操作的类的实现。 |
| [OHOS::AVSession::SessionToken](_o_h_o_s_1_1_a_v_session_1_1_session_token.md) | struct<br/>会话令牌的信息。 |
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
| [OHOS::AVSession::DeathCallback](#deathcallback)&nbsp;=&nbsp;std::function&lt;&nbsp;void()&gt; | using |
| [OHOS::AVSession::DeathCallback](#deathcallback) = std::function&lt; void()&gt; | using |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
| [OHOS::AVSession::SessionDataCategory](#sessiondatacategory)&nbsp;{<br/>[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423775882.xml#xref1378898340182348,link:zh-cn_topic_0000001423775882.xml#af4f7fda77f9a1e4036911a6471f66a94a21750f709a53526691ca2eb109fa9a38](#af4f7fda77f9a1e4036911a6471f66a94a21750f709a53526691ca2eb109fa9a38)&nbsp;=&nbsp;-1,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423775882.xml#xref1175489743182348,link:zh-cn_topic_0000001423775882.xml#af4f7fda77f9a1e4036911a6471f66a94ad7439aa6d8972182670a565f8761b118](#af4f7fda77f9a1e4036911a6471f66a94ad7439aa6d8972182670a565f8761b118)&nbsp;=&nbsp;0,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423775882.xml#xref27428182182348,link:zh-cn_topic_0000001423775882.xml#af4f7fda77f9a1e4036911a6471f66a94aed15c5d580452ab6a93d770d09973a7f](#af4f7fda77f9a1e4036911a6471f66a94aed15c5d580452ab6a93d770d09973a7f)&nbsp;=&nbsp;1,&nbsp;[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423775882.xml#xref1899079755182348,link:zh-cn_topic_0000001423775882.xml#af4f7fda77f9a1e4036911a6471f66a94a91326fb49a2fed524dc25cf1e3fa47be](#af4f7fda77f9a1e4036911a6471f66a94a91326fb49a2fed524dc25cf1e3fa47be)&nbsp;=&nbsp;2,<br/>[ERROR:Invalid&nbsp;link:zh-cn_topic_0000001423775882.xml#xref1569465139182348,link:zh-cn_topic_0000001423775882.xml#af4f7fda77f9a1e4036911a6471f66a94ac8da34449a638e3051da12298a9946e2](#af4f7fda77f9a1e4036911a6471f66a94ac8da34449a638e3051da12298a9946e2)&nbsp;=&nbsp;3<br/>} | 会话元数据处理标识&nbsp; |
| [OHOS::AVSession::SessionDataCategory](#sessiondatacategory) {<br/> **OHOS::AVSession::SESSION_DATA_CATEGORY_INVALID** = -1, **OHOS::AVSession::SESSION_DATA_META** = 0, **OHOS::AVSession::SESSION_DATA_PLAYBACK_STATE** = 1, **OHOS::AVSession::SESSION_DATA_CONTROL_COMMAND** = 2, **OHOS::AVSession::SESSION_DATA_CATEGORY_MAX** = 3<br/>} | 会话元数据处理标识 |
## 类型定义说明
......@@ -68,8 +68,8 @@ enum OHOS::AVSession::SessionDataCategory
| 枚举值 | 描述 |
| -------- | -------- |
| SESSION_DATA_CATEGORY_INVALID&nbsp; | 无效类型,内部用于类型是否有效 |
| SESSION_DATA_META&nbsp; | 会话元数据 |
| SESSION_DATA_PLAYBACK_STATE&nbsp; | 会话播放状态 |
| SESSION_DATA_CONTROL_COMMAND&nbsp; | 会话控制命令 |
| SESSION_DATA_CATEGORY_MAX&nbsp; | 会话数据类型的数量 |
| SESSION_DATA_CATEGORY_INVALID | 无效类型,内部用于类型是否有效 |
| SESSION_DATA_META | 会话元数据 |
| SESSION_DATA_PLAYBACK_STATE | 会话播放状态 |
| SESSION_DATA_CONTROL_COMMAND | 会话控制命令 |
| SESSION_DATA_CATEGORY_MAX | 会话数据类型的数量 |
......@@ -21,4 +21,4 @@
| 名称 | 描述 |
| -------- | -------- |
| [OHOS::AVSession::AVSessionManager](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_manager.md) | class<br/>实现会话管理器对外接口功能的类的实现。&nbsp; |
| [OHOS::AVSession::AVSessionManager](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_manager.md) | class<br/>实现会话管理器对外接口功能的类的实现。 |
......@@ -21,14 +21,14 @@
| 名称 | 描述 |
| -------- | -------- |
| [OHOS::AVSession::AVSessionPixelMap](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md) | class<br/>读取、设置图片及图片信息。&nbsp; |
| [OHOS::AVSession::AVSessionPixelMap](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md) | class<br/>读取、设置图片及图片信息。 |
### 变量
| 名称 | 描述 |
| -------- | -------- |
| [OHOS::AVSession::DEFAULT_BUFFER_SIZE](#defaultbuffersize)&nbsp;=&nbsp;160&nbsp;\*&nbsp;1024 | constexpr&nbsp;size_t<br/>初始化容器大小为160KB&nbsp; |
| [OHOS::AVSession::DEFAULT_BUFFER_SIZE](#defaultbuffersize) = 160 \* 1024 | constexpr size_t<br/>初始化容器大小为160KB |
## 变量说明
......
......@@ -21,17 +21,17 @@
| 名称 | 描述 |
| -------- | -------- |
| [OH_AudioDecoder_CreateByMime](_audio_decoder.md#ohaudiodecodercreatebymime)&nbsp;(const&nbsp;char&nbsp;\*mime) | OH_AVCodec&nbsp;\*<br/>通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。&nbsp; |
| [OH_AudioDecoder_CreateByName](_audio_decoder.md#ohaudiodecodercreatebyname)&nbsp;(const&nbsp;char&nbsp;\*name) | OH_AVCodec&nbsp;\*<br/>通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。&nbsp; |
| [OH_AudioDecoder_Destroy](_audio_decoder.md#ohaudiodecoderdestroy)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部资源,并销毁解码器实例&nbsp; |
| [OH_AudioDecoder_SetCallback](_audio_decoder.md#ohaudiodecodersetcallback)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)&nbsp;callback,&nbsp;void&nbsp;\*userData) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应音频解码器产生的事件,该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_AudioDecoder_Configure](_audio_decoder.md#ohaudiodecoderconfigure)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OH_AVFormat&nbsp;\*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置音频解码器,典型地,需要配置被解码音频轨道的描述信息,这些信息能够从容器中提取出来,&nbsp;该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_AudioDecoder_Prepare](_audio_decoder.md#ohaudiodecoderprepare)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备解码器内部资源,调用该接口前必须先调用Configure接口。&nbsp; |
| [OH_AudioDecoder_Start](_audio_decoder.md#ohaudiodecoderstart)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动解码器,该接口必须在已经Prepare成功后调用。&nbsp;在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。&nbsp; |
| [OH_AudioDecoder_Stop](_audio_decoder.md#ohaudiodecoderstop)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过&nbsp;Codec-Specific-Data,则需要重新输入。&nbsp; |
| [OH_AudioDecoder_Flush](_audio_decoder.md#ohaudiodecoderflush)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将&nbsp;失效,确保不要再访问这些索引对应的Buffers。&nbsp; |
| [OH_AudioDecoder_Reset](_audio_decoder.md#ohaudiodecoderreset)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。&nbsp; |
| [OH_AudioDecoder_GetOutputDescription](_audio_decoder.md#ohaudiodecodergetoutputdescription)&nbsp;(OH_AVCodec&nbsp;\*codec) | OH_AVFormat&nbsp;\*<br/>获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。&nbsp; |
| [OH_AudioDecoder_SetParameter](_audio_decoder.md#ohaudiodecodersetparameter)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OH_AVFormat&nbsp;\*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。&nbsp; |
| [OH_AudioDecoder_PushInputData](_audio_decoder.md#ohaudiodecoderpushinputdata)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index,&nbsp;[OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)&nbsp;attr) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将填充好数据的输入Buffer提交给音频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)回调会报告可用的输入&nbsp;Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)&nbsp;回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入&nbsp;Codec-Specific-Data,用以初始化解码器的解码过程。&nbsp; |
| [OH_AudioDecoder_FreeOutputData](_audio_decoder.md#ohaudiodecoderfreeoutputdata)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器。&nbsp; |
| [OH_AudioDecoder_CreateByMime](_audio_decoder.md#ohaudiodecodercreatebymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。 |
| [OH_AudioDecoder_CreateByName](_audio_decoder.md#ohaudiodecodercreatebyname) (const char \*name) | OH_AVCodec \*<br/>通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 |
| [OH_AudioDecoder_Destroy](_audio_decoder.md#ohaudiodecoderdestroy) (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_Configure](_audio_decoder.md#ohaudiodecoderconfigure) (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_Start](_audio_decoder.md#ohaudiodecoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。 |
| [OH_AudioDecoder_Stop](_audio_decoder.md#ohaudiodecoderstop) (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_Reset](_audio_decoder.md#ohaudiodecoderreset) (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_SetParameter](_audio_decoder.md#ohaudiodecodersetparameter) (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_FreeOutputData](_audio_decoder.md#ohaudiodecoderfreeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器。 |
......@@ -21,17 +21,17 @@
| 名称 | 描述 |
| -------- | -------- |
| [OH_AudioEncoder_CreateByMime](_audio_encoder.md#ohaudioencodercreatebymime)&nbsp;(const&nbsp;char&nbsp;\*mime) | OH_AVCodec&nbsp;\*<br/>通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。&nbsp; |
| [OH_AudioEncoder_CreateByName](_audio_encoder.md#ohaudioencodercreatebyname)&nbsp;(const&nbsp;char&nbsp;\*name) | OH_AVCodec&nbsp;\*<br/>通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。&nbsp; |
| [OH_AudioEncoder_Destroy](_audio_encoder.md#ohaudioencoderdestroy)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部资源,并销毁编码器实例。&nbsp; |
| [OH_AudioEncoder_SetCallback](_audio_encoder.md#ohaudioencodersetcallback)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)&nbsp;callback,&nbsp;void&nbsp;\*userData) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应音频编码器产生的事件,该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_AudioEncoder_Configure](_audio_encoder.md#ohaudioencoderconfigure)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OH_AVFormat&nbsp;\*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置音频编码器,典型地,需要配置被编码音频轨道的描述信息,该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_AudioEncoder_Prepare](_audio_encoder.md#ohaudioencoderprepare)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备编码器内部资源,调用该接口前必须先调用Configure接口。&nbsp; |
| [OH_AudioEncoder_Start](_audio_encoder.md#ohaudioencoderstart)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。&nbsp;在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。&nbsp; |
| [OH_AudioEncoder_Stop](_audio_encoder.md#ohaudioencoderstop)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止编码器。在停止后可通过Start重新进入Started状态。&nbsp; |
| [OH_AudioEncoder_Flush](_audio_encoder.md#ohaudioencoderflush)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将&nbsp;失效,确保不要再访问这些索引对应的Buffers。&nbsp; |
| [OH_AudioEncoder_Reset](_audio_encoder.md#ohaudioencoderreset)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。&nbsp; |
| [OH_AudioEncoder_GetOutputDescription](_audio_encoder.md#ohaudioencodergetoutputdescription)&nbsp;(OH_AVCodec&nbsp;\*codec) | OH_AVFormat&nbsp;\*<br/>获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。&nbsp; |
| [OH_AudioEncoder_SetParameter](_audio_encoder.md#ohaudioencodersetparameter)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OH_AVFormat&nbsp;\*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。&nbsp; |
| [OH_AudioEncoder_PushInputData](_audio_encoder.md#ohaudioencoderpushinputdata)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index,&nbsp;[OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)&nbsp;attr) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将填充好数据的输入Buffer提交给音频编码器。[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)回调会报告可用的输入&nbsp;Buffer及对应的索引值。一旦指定索引的Buffer被提交给编码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)&nbsp;回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。&nbsp; |
| [OH_AudioEncoder_FreeOutputData](_audio_encoder.md#ohaudioencoderfreeoutputdata)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给编码器。&nbsp; |
| [OH_AudioEncoder_CreateByMime](_audio_encoder.md#ohaudioencodercreatebymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。 |
| [OH_AudioEncoder_CreateByName](_audio_encoder.md#ohaudioencodercreatebyname) (const char \*name) | OH_AVCodec \*<br/>通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 |
| [OH_AudioEncoder_Destroy](_audio_encoder.md#ohaudioencoderdestroy) (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_Configure](_audio_encoder.md#ohaudioencoderconfigure) (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_Start](_audio_encoder.md#ohaudioencoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。 |
| [OH_AudioEncoder_Stop](_audio_encoder.md#ohaudioencoderstop) (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_Reset](_audio_encoder.md#ohaudioencoderreset) (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_SetParameter](_audio_encoder.md#ohaudioencodersetparameter) (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_FreeOutputData](_audio_encoder.md#ohaudioencoderfreeoutputdata) (OH_AVCodec \*codec, uint32_t index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给编码器。 |
......@@ -21,59 +21,59 @@
| 名称 | 描述 |
| -------- | -------- |
| [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) | struct<br/>定义OH_AVCodec的Buffer描述信息。&nbsp; |
| [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) | struct<br/>AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告&nbsp;的信息,以确保AVCodec正常运转。&nbsp; |
| [OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md) | struct<br/>定义OH_AVCodec的Buffer描述信息。 |
| [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) | struct<br/>AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。 |
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
| **OHNativeWindow** | typedef&nbsp;struct&nbsp;NativeWindow |
| **OH_AVCodec** | typedef&nbsp;struct&nbsp;OH_AVCodec |
| [OH_AVCodecBufferFlags](_codec_base.md#ohavcodecbufferflags) | typedef&nbsp;enum&nbsp;[OH_AVCodecBufferFlags](_codec_base.md#ohavcodecbufferflags)<br/>枚举OH_AVCodec的Buffer标记的类别。&nbsp; |
| [OH_AVCodecBufferAttr](_codec_base.md#ohavcodecbufferattr) | typedef&nbsp;struct&nbsp;[OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)<br/>定义OH_AVCodec的Buffer描述信息。&nbsp; |
| [OH_AVCodecOnError](_codec_base.md#ohavcodeconerror))&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;int32_t&nbsp;errorCode,&nbsp;void&nbsp;\*userData) | typedef&nbsp;void(\*<br/>当OH_AVCodec实例运行发生错误时,该函数指针会被调用以报告具体错误信息。&nbsp; |
| [OH_AVCodecOnStreamChanged](_codec_base.md#ohavcodeconstreamchanged))&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OH_AVFormat&nbsp;\*format,&nbsp;void&nbsp;\*userData) | typedef&nbsp;void(\*<br/>当输出流发生变化时,该函数指针会被调用以报告新的流描述信息。&nbsp;需要注意的时,OH_AVFormat指针的生命周期仅维持在该函数指针被调用时上有效,禁止在调用结束后继续访问。&nbsp; |
| [OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata))&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index,&nbsp;OH_AVMemory&nbsp;\*data,&nbsp;void&nbsp;\*userData) | typedef&nbsp;void(\*<br/>当AVCodec运行过程中需要新的输入数据时,该函数指针会被调用,并携带一块可用的Buffer以供填入新的输入数据。&nbsp; |
| [OH_AVCodecOnNewOutputData](_codec_base.md#ohavcodeconnewoutputdata))&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index,&nbsp;OH_AVMemory&nbsp;\*data,&nbsp;[OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)&nbsp;\*attr,&nbsp;void&nbsp;\*userData) | typedef&nbsp;void(\*<br/>当AVCodec运行过程中产生了新的输出数据时,该函数指针会被调用,并携带一块包含新输出数据的Buffer,&nbsp;需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅维持在该函数指针被调用时有效,禁止调用结束后继续访问。&nbsp; |
| [OH_AVCodecAsyncCallback](_codec_base.md#ohavcodecasynccallback) | typedef&nbsp;struct&nbsp;[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)<br/>AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告&nbsp;的信息,以确保AVCodec正常运转。&nbsp; |
| [OH_MediaType](_codec_base.md#ohmediatype) | typedef&nbsp;enum&nbsp;[OH_MediaType](_codec_base.md#ohmediatype)<br/>媒体类型。&nbsp; |
| [OH_AVCProfile](_codec_base.md#ohavcprofile) | typedef&nbsp;enum&nbsp;[OH_AVCProfile](_codec_base.md#ohavcprofile)<br/>AVC&nbsp;Profile枚举。&nbsp; |
| [OH_AACProfile](_codec_base.md#ohaacprofile) | typedef&nbsp;enum&nbsp;[OH_AACProfile](_codec_base.md#ohaacprofile)<br/>AAC&nbsp;Profile枚举。&nbsp; |
| **OHNativeWindow** | typedef struct NativeWindow |
| **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_AVCodecBufferAttr](_codec_base.md#ohavcodecbufferattr) | 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_AVCodecOnStreamChanged](_codec_base.md#ohavcodeconstreamchanged)) (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_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_AVCodecAsyncCallback](_codec_base.md#ohavcodecasynccallback) | 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_AVCProfile](_codec_base.md#ohavcprofile) | typedef enum [OH_AVCProfile](_codec_base.md#ohavcprofile)<br/>AVC Profile枚举。 |
| [OH_AACProfile](_codec_base.md#ohaacprofile) | typedef enum [OH_AACProfile](_codec_base.md#ohaacprofile)<br/>AAC Profile枚举。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
| [OH_AVCodecBufferFlags](_codec_base.md#ohavcodecbufferflags)&nbsp;{<br/>**AVCODEC_BUFFER_FLAGS_NONE**&nbsp;=&nbsp;0,&nbsp;[AVCODEC_BUFFER_FLAGS_EOS](_codec_base.md#gga9222f5c24f4bcbfb91a5d552dd777439a7946993493046fb2076a9e4addce0b98)&nbsp;=&nbsp;1&nbsp;&lt;&lt;&nbsp;0,&nbsp;[AVCODEC_BUFFER_FLAGS_SYNC_FRAME](_codec_base.md#gga9222f5c24f4bcbfb91a5d552dd777439a4d85a25f4a9557f23e1144f9a137ddea)&nbsp;=&nbsp;1&nbsp;&lt;&lt;&nbsp;1,&nbsp;[AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME](_codec_base.md#gga9222f5c24f4bcbfb91a5d552dd777439ac4c8a639feb36efde0d799d43fcfb59b)&nbsp;=&nbsp;1&nbsp;&lt;&lt;&nbsp;2,<br/>[AVCODEC_BUFFER_FLAGS_CODEC_DATA](_codec_base.md#gga9222f5c24f4bcbfb91a5d552dd777439aba644475534bc79bfd3d43e1d28ab2f5)&nbsp;=&nbsp;1&nbsp;&lt;&lt;&nbsp;3<br/>} | 枚举OH_AVCodec的Buffer标记的类别。&nbsp; |
| [OH_MediaType](_codec_base.md#ohmediatype)&nbsp;{&nbsp;[MEDIA_TYPE_AUD](_codec_base.md#gga28eb13d2f8f932345eeb3417d6e69e19ac0b3147adc27646ac965569adc38692e)&nbsp;=&nbsp;0,&nbsp;[MEDIA_TYPE_VID](_codec_base.md#gga28eb13d2f8f932345eeb3417d6e69e19a0cbb91e5931fb03294c2d3bdbbc62dbd)&nbsp;=&nbsp;1&nbsp;} | 媒体类型。&nbsp; |
| [OH_AVCProfile](_codec_base.md#ohavcprofile)&nbsp;{&nbsp;**AVC_PROFILE_BASELINE**&nbsp;=&nbsp;0,&nbsp;**AVC_PROFILE_HIGH**&nbsp;=&nbsp;4,&nbsp;**AVC_PROFILE_MAIN**&nbsp;=&nbsp;8&nbsp;} | AVC&nbsp;Profile枚举。&nbsp; |
| [OH_AACProfile](_codec_base.md#ohaacprofile)&nbsp;{&nbsp;**AAC_PROFILE_LC**&nbsp;=&nbsp;0&nbsp;} | AAC&nbsp;Profile枚举。&nbsp; |
| [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_MediaType](_codec_base.md#ohmediatype) { [MEDIA_TYPE_AUD](_codec_base.md#gga28eb13d2f8f932345eeb3417d6e69e19ac0b3147adc27646ac965569adc38692e) = 0, [MEDIA_TYPE_VID](_codec_base.md#gga28eb13d2f8f932345eeb3417d6e69e19a0cbb91e5931fb03294c2d3bdbbc62dbd) = 1 } | 媒体类型。 |
| [OH_AVCProfile](_codec_base.md#ohavcprofile) { **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_AVCODEC_MIMETYPE_VIDEO_AVC](_codec_base.md#ohavcodecmimetypevideoavc) | const&nbsp;char&nbsp;\*<br/>AVC视频编解码器的MIME类型。&nbsp; |
| [OH_AVCODEC_MIMETYPE_AUDIO_AAC](_codec_base.md#ohavcodecmimetypeaudioaac) | const&nbsp;char&nbsp;\*<br/>AAC音频编解码器的MIME类型。&nbsp; |
| [OH_ED_KEY_TIME_STAMP](_codec_base.md#ohedkeytimestamp) | const&nbsp;char&nbsp;\*<br/>提供统一的surface&nbsp;Buffer附属数据的字符描述符。&nbsp; |
| [OH_ED_KEY_EOS](_codec_base.md#ohedkeyeos) | const&nbsp;char&nbsp;\* |
| [OH_MD_KEY_TRACK_TYPE](_codec_base.md#ohmdkeytracktype) | const&nbsp;char&nbsp;\*<br/>为媒体播放框架提供统一的字符描述符。&nbsp; |
| [OH_MD_KEY_CODEC_MIME](_codec_base.md#ohmdkeycodecmime) | const&nbsp;char&nbsp;\* |
| [OH_MD_KEY_DURATION](_codec_base.md#ohmdkeyduration) | const&nbsp;char&nbsp;\* |
| [OH_MD_KEY_BITRATE](_codec_base.md#ohmdkeybitrate) | const&nbsp;char&nbsp;\* |
| [OH_MD_KEY_MAX_INPUT_SIZE](_codec_base.md#ohmdkeymaxinputsize) | const&nbsp;char&nbsp;\* |
| [OH_MD_KEY_WIDTH](_codec_base.md#ohmdkeywidth) | const&nbsp;char&nbsp;\* |
| [OH_MD_KEY_HEIGHT](_codec_base.md#ohmdkeyheight) | const&nbsp;char&nbsp;\* |
| [OH_MD_KEY_PIXEL_FORMAT](_codec_base.md#ohmdkeypixelformat) | const&nbsp;char&nbsp;\* |
| [OH_MD_KEY_AUDIO_SAMPLE_FORMAT](_codec_base.md#ohmdkeyaudiosampleformat) | const&nbsp;char&nbsp;\* |
| [OH_MD_KEY_FRAME_RATE](_codec_base.md#ohmdkeyframerate) | const&nbsp;char&nbsp;\* |
| [OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE](_codec_base.md#ohmdkeyvideoencodebitratemode) | const&nbsp;char&nbsp;\* |
| [OH_MD_KEY_PROFILE](_codec_base.md#ohmdkeyprofile) | const&nbsp;char&nbsp;\* |
| [OH_MD_KEY_AUD_CHANNEL_COUNT](_codec_base.md#ohmdkeyaudchannelcount) | const&nbsp;char&nbsp;\* |
| [OH_MD_KEY_AUD_SAMPLE_RATE](_codec_base.md#ohmdkeyaudsamplerate) | const&nbsp;char&nbsp;\* |
| [OH_MD_KEY_I_FRAME_INTERVAL](_codec_base.md#ohmdkeyiframeinterval) | const&nbsp;char&nbsp;\* |
| [OH_MD_KEY_ROTATION](_codec_base.md#ohmdkeyrotation) | const&nbsp;char&nbsp;\* |
| [OH_AVCODEC_MIMETYPE_VIDEO_AVC](_codec_base.md#ohavcodecmimetypevideoavc) | const char \*<br/>AVC视频编解码器的MIME类型。 |
| [OH_AVCODEC_MIMETYPE_AUDIO_AAC](_codec_base.md#ohavcodecmimetypeaudioaac) | const char \*<br/>AAC音频编解码器的MIME类型。 |
| [OH_ED_KEY_TIME_STAMP](_codec_base.md#ohedkeytimestamp) | const char \*<br/>提供统一的surface Buffer附属数据的字符描述符。 |
| [OH_ED_KEY_EOS](_codec_base.md#ohedkeyeos) | const char \* |
| [OH_MD_KEY_TRACK_TYPE](_codec_base.md#ohmdkeytracktype) | const char \*<br/>为媒体播放框架提供统一的字符描述符。 |
| [OH_MD_KEY_CODEC_MIME](_codec_base.md#ohmdkeycodecmime) | const char \* |
| [OH_MD_KEY_DURATION](_codec_base.md#ohmdkeyduration) | const char \* |
| [OH_MD_KEY_BITRATE](_codec_base.md#ohmdkeybitrate) | const char \* |
| [OH_MD_KEY_MAX_INPUT_SIZE](_codec_base.md#ohmdkeymaxinputsize) | const char \* |
| [OH_MD_KEY_WIDTH](_codec_base.md#ohmdkeywidth) | const char \* |
| [OH_MD_KEY_HEIGHT](_codec_base.md#ohmdkeyheight) | const char \* |
| [OH_MD_KEY_PIXEL_FORMAT](_codec_base.md#ohmdkeypixelformat) | const char \* |
| [OH_MD_KEY_AUDIO_SAMPLE_FORMAT](_codec_base.md#ohmdkeyaudiosampleformat) | const char \* |
| [OH_MD_KEY_FRAME_RATE](_codec_base.md#ohmdkeyframerate) | const char \* |
| [OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE](_codec_base.md#ohmdkeyvideoencodebitratemode) | const char \* |
| [OH_MD_KEY_PROFILE](_codec_base.md#ohmdkeyprofile) | const char \* |
| [OH_MD_KEY_AUD_CHANNEL_COUNT](_codec_base.md#ohmdkeyaudchannelcount) | const char \* |
| [OH_MD_KEY_AUD_SAMPLE_RATE](_codec_base.md#ohmdkeyaudsamplerate) | const char \* |
| [OH_MD_KEY_I_FRAME_INTERVAL](_codec_base.md#ohmdkeyiframeinterval) | const char \* |
| [OH_MD_KEY_ROTATION](_codec_base.md#ohmdkeyrotation) | const char \* |
......@@ -21,19 +21,19 @@
| 名称 | 描述 |
| -------- | -------- |
| [OH_VideoDecoder_CreateByMime](_video_decoder.md#ohvideodecodercreatebymime)&nbsp;(const&nbsp;char&nbsp;\*mime) | OH_AVCodec&nbsp;\*<br/>通过mime类型创建一个视频解码器实例,大多数情况下推荐使用该接口。&nbsp; |
| [OH_VideoDecoder_CreateByName](_video_decoder.md#ohvideodecodercreatebyname)&nbsp;(const&nbsp;char&nbsp;\*name) | OH_AVCodec&nbsp;\*<br/>通过视频解码器名称创建一个视频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。&nbsp; |
| [OH_VideoDecoder_Destroy](_video_decoder.md#ohvideodecoderdestroy)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部资源,并销毁解码器实例。&nbsp; |
| [OH_VideoDecoder_SetCallback](_video_decoder.md#ohvideodecodersetcallback)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)&nbsp;callback,&nbsp;void&nbsp;\*userData) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应视频解码器产生的事件,该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_VideoDecoder_SetSurface](_video_decoder.md#ohvideodecodersetsurface)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OHNativeWindow&nbsp;\*window) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>指定输出Surface,以提供视频解码输出,该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_VideoDecoder_Configure](_video_decoder.md#ohvideodecoderconfigure)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OH_AVFormat&nbsp;\*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置视频解码器,典型地,需要配置被解码视频轨道的描述信息,这些信息能够从容器中提取出来,&nbsp;该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_VideoDecoder_Prepare](_video_decoder.md#ohvideodecoderprepare)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备解码器内部资源,调用该接口前必须先调用Configure接口。&nbsp; |
| [OH_VideoDecoder_Start](_video_decoder.md#ohvideodecoderstart)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动解码器,该接口必须在已经Prepare成功后调用。&nbsp;在启动成功后,解码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。&nbsp; |
| [OH_VideoDecoder_Stop](_video_decoder.md#ohvideodecoderstop)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过&nbsp;Codec-Specific-Data,则需要重新输入。&nbsp; |
| [OH_VideoDecoder_Flush](_video_decoder.md#ohvideodecoderflush)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将&nbsp;失效,确保不要再访问这些索引对应的Buffers。&nbsp; |
| [OH_VideoDecoder_Reset](_video_decoder.md#ohvideodecoderreset)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。&nbsp; |
| [OH_VideoDecoder_GetOutputDescription](_video_decoder.md#ohvideodecodergetoutputdescription)&nbsp;(OH_AVCodec&nbsp;\*codec) | OH_AVFormat&nbsp;\*<br/>获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期&nbsp;将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。&nbsp; |
| [OH_VideoDecoder_SetParameter](_video_decoder.md#ohvideodecodersetparameter)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OH_AVFormat&nbsp;\*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。&nbsp; |
| [OH_VideoDecoder_PushInputData](_video_decoder.md#ohvideodecoderpushinputdata)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index,&nbsp;[OH_AVCodecBufferAttr](_o_h___a_v_codec_buffer_attr.md)&nbsp;attr) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将填充好数据的输入Buffer提交给视频解码器。[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)回调会报告可用的输入&nbsp;Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)&nbsp;回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入&nbsp;Codec-Specific-Data,用以初始化解码器的解码过程,例如H264格式的PPS/SPS数据。&nbsp; |
| [OH_VideoDecoder_RenderOutputData](_video_decoder.md#ohvideodecoderrenderoutputdata)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器,并通知解码器完成将该Buffer内包含的解码后的数据在输出Surface上渲染。&nbsp;如果先前未配置输出Surface,调用该接口仅仅将指定索引对应的输出Buffer交还给解码器。&nbsp; |
| [OH_VideoDecoder_FreeOutputData](_video_decoder.md#ohvideodecoderfreeoutputdata)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给解码器。&nbsp; |
| [OH_VideoDecoder_CreateByMime](_video_decoder.md#ohvideodecodercreatebymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个视频解码器实例,大多数情况下推荐使用该接口。 |
| [OH_VideoDecoder_CreateByName](_video_decoder.md#ohvideodecodercreatebyname) (const char \*name) | OH_AVCodec \*<br/>通过视频解码器名称创建一个视频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 |
| [OH_VideoDecoder_Destroy](_video_decoder.md#ohvideodecoderdestroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空解码器内部资源,并销毁解码器实例。 |
| [OH_VideoDecoder_SetCallback](_video_decoder.md#ohvideodecodersetcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应视频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoDecoder_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_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_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_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_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_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交还给解码器。 |
......@@ -21,32 +21,32 @@
| 名称 | 描述 |
| -------- | -------- |
| [OH_VideoEncodeBitrateMode](_video_encoder.md#ohvideoencodebitratemode) | typedef&nbsp;enum&nbsp;[OH_VideoEncodeBitrateMode](_video_encoder.md#ohvideoencodebitratemode)<br/>视频编码的比特率模式。&nbsp; |
| [OH_VideoEncodeBitrateMode](_video_encoder.md#ohvideoencodebitratemode) | typedef enum [OH_VideoEncodeBitrateMode](_video_encoder.md#ohvideoencodebitratemode)<br/>视频编码的比特率模式。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
| [OH_VideoEncodeBitrateMode](_video_encoder.md#ohvideoencodebitratemode)&nbsp;{&nbsp;[CBR](_video_encoder.md#ggae5aed6bb1e318f7fc489a7cb859578e1adb1ecf549b5c6f145b2aff320909c70e)&nbsp;=&nbsp;0,&nbsp;[VBR](_video_encoder.md#ggae5aed6bb1e318f7fc489a7cb859578e1a5cd8a75942875437b0216e7e61693596)&nbsp;=&nbsp;1,&nbsp;[CQ](_video_encoder.md#ggae5aed6bb1e318f7fc489a7cb859578e1a3714c38a79124f71d2ec3fa8f9c03bc4)&nbsp;=&nbsp;2&nbsp;} | 视频编码的比特率模式。&nbsp; |
| [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_VideoEncoder_CreateByMime](_video_encoder.md#ohvideoencodercreatebymime)&nbsp;(const&nbsp;char&nbsp;\*mime) | OH_AVCodec&nbsp;\*<br/>通过mime类型创建一个视频编码器实例,大多数情况下推荐使用该接口。&nbsp; |
| [OH_VideoEncoder_CreateByName](_video_encoder.md#ohvideoencodercreatebyname)&nbsp;(const&nbsp;char&nbsp;\*name) | OH_AVCodec&nbsp;\*<br/>通过视频编码器名称创建一个视频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。&nbsp; |
| [OH_VideoEncoder_Destroy](_video_encoder.md#ohvideoencoderdestroy)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部资源,并销毁编码器实例。&nbsp; |
| [OH_VideoEncoder_SetCallback](_video_encoder.md#ohvideoencodersetcallback)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;[OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md)&nbsp;callback,&nbsp;void&nbsp;\*userData) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应视频编码器产生的事件,该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_VideoEncoder_Configure](_video_encoder.md#ohvideoencoderconfigure)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OH_AVFormat&nbsp;\*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>配置视频编码器,典型地,需要配置被编码视频轨道的描述信息,该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_VideoEncoder_Prepare](_video_encoder.md#ohvideoencoderprepare)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>准备编码器内部资源,调用该接口前必须先调用Configure接口。&nbsp; |
| [OH_VideoEncoder_Start](_video_encoder.md#ohvideoencoderstart)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。&nbsp;在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。&nbsp; |
| [OH_VideoEncoder_Stop](_video_encoder.md#ohvideoencoderstop)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>停止编码器。在停止后可通过Start重新进入Started状态。&nbsp; |
| [OH_VideoEncoder_Flush](_video_encoder.md#ohvideoencoderflush)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将&nbsp;失效,确保不要再访问这些索引对应的Buffers。&nbsp; |
| [OH_VideoEncoder_Reset](_video_encoder.md#ohvideoencoderreset)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。&nbsp; |
| [OH_VideoEncoder_GetOutputDescription](_video_encoder.md#ohvideoencodergetoutputdescription)&nbsp;(OH_AVCodec&nbsp;\*codec) | OH_AVFormat&nbsp;\*<br/>获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期&nbsp;将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。&nbsp; |
| [OH_VideoEncoder_SetParameter](_video_encoder.md#ohvideoencodersetparameter)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OH_AVFormat&nbsp;\*format) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。&nbsp; |
| [OH_VideoEncoder_GetSurface](_video_encoder.md#ohvideoencodergetsurface)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;OHNativeWindow&nbsp;\*\*window) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>从视频编码器获取输入Surface,&nbsp;该接口被调用必须是在Prepare被调用前。&nbsp; |
| [OH_VideoEncoder_FreeOutputData](_video_encoder.md#ohvideoencoderfreeoutputdata)&nbsp;(OH_AVCodec&nbsp;\*codec,&nbsp;uint32_t&nbsp;index) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>将处理结束的输出Buffer交还给编码器。&nbsp; |
| [OH_VideoEncoder_NotifyEndOfStream](_video_encoder.md#ohvideoencodernotifyendofstream)&nbsp;(OH_AVCodec&nbsp;\*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>通知视频编码器输入码流已结束。surface模式推荐使用该接口通知编码器码流结束。&nbsp; |
| [OH_VideoEncoder_CreateByMime](_video_encoder.md#ohvideoencodercreatebymime) (const char \*mime) | OH_AVCodec \*<br/>通过mime类型创建一个视频编码器实例,大多数情况下推荐使用该接口。 |
| [OH_VideoEncoder_CreateByName](_video_encoder.md#ohvideoencodercreatebyname) (const char \*name) | OH_AVCodec \*<br/>通过视频编码器名称创建一个视频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 |
| [OH_VideoEncoder_Destroy](_video_encoder.md#ohvideoencoderdestroy) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>清空编码器内部资源,并销毁编码器实例。 |
| [OH_VideoEncoder_SetCallback](_video_encoder.md#ohvideoencodersetcallback) (OH_AVCodec \*codec, [OH_AVCodecAsyncCallback](_o_h___a_v_codec_async_callback.md) callback, void \*userData) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>设置异步回调函数,使得你的应用能够响应视频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
| [OH_VideoEncoder_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_Start](_video_encoder.md#ohvideoencoderstart) (OH_AVCodec \*codec) | [OH_AVErrCode](_core.md#ohaverrcode)<br/>启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告[OH_AVCodecOnNeedInputData](_codec_base.md#ohavcodeconneedinputdata)事件。 |
| [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_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_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_FreeOutputData](_video_encoder.md#ohvideoencoderfreeoutputdata) (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模式推荐使用该接口通知编码器码流结束。 |
......@@ -21,11 +21,11 @@
| 名称 | 描述 |
| -------- | -------- |
| [OH_AVErrCode](_core.md#ohaverrcode) | typedef&nbsp;enum&nbsp;[OH_AVErrCode](_core.md#ohaverrcode)<br/>音视频错误码。&nbsp; |
| [OH_AVErrCode](_core.md#ohaverrcode) | typedef enum [OH_AVErrCode](_core.md#ohaverrcode)<br/>音视频错误码。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
| [OH_AVErrCode](_core.md#ohaverrcode)&nbsp;{<br/>[AV_ERR_OK](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1aeaf39666b93f2c3263e52b6bad3da8d2)&nbsp;=&nbsp;0,&nbsp;[AV_ERR_NO_MEMORY](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1ad4ba07b3fe5ca3df1f48345f7f9f631f)&nbsp;=&nbsp;1,&nbsp;[AV_ERR_OPERATE_NOT_PERMIT](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1a2db9dd1e243f7738320dfa732f041669)&nbsp;=&nbsp;2,&nbsp;[AV_ERR_INVALID_VAL](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1a96d898ca31466839ae39aede4e5266c2)&nbsp;=&nbsp;3,<br/>[AV_ERR_IO](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1a70c6b7d0ba398f625e7b9741284e8d35)&nbsp;=&nbsp;4,&nbsp;[AV_ERR_TIMEOUT](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1ad6ce699f9caf6cbff1b4b50c1b74d8ed)&nbsp;=&nbsp;5,&nbsp;[AV_ERR_UNKNOWN](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1a7a9dc8845fe08a6f04adcf0997bddd85)&nbsp;=&nbsp;6,&nbsp;[AV_ERR_SERVICE_DIED](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1a71e0aa7596904781989f43490a4fad88)&nbsp;=&nbsp;7,<br/>[AV_ERR_INVALID_STATE](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1a369dde180c1423e3d7a4844dcbf94938)&nbsp;=&nbsp;8,&nbsp;[AV_ERR_UNSUPPORT](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1a393021797634f5e26b1fcd16f701330d)&nbsp;=&nbsp;9,&nbsp;[AV_ERR_EXTEND_START](_core.md#gga19325a2ffdf3a9a214794be3960bb3b1a2c08394f90d05e0f08c5fe7b5fa243fd)&nbsp;=&nbsp;100<br/>} | 音视频错误码。&nbsp; |
| [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/>} | 音视频错误码。 |
......@@ -21,34 +21,34 @@
| 名称 | 描述 |
| -------- | -------- |
| **OH_AVFormat** | typedef&nbsp;struct&nbsp;OH_AVFormat |
| [OH_AVPixelFormat](_core.md#ohavpixelformat) | typedef&nbsp;enum&nbsp;[OH_AVPixelFormat](_core.md#ohavpixelformat)<br/>AVPixel&nbsp;格式的枚举。&nbsp; |
| **OH_AVFormat** | typedef struct OH_AVFormat |
| [OH_AVPixelFormat](_core.md#ohavpixelformat) | typedef enum [OH_AVPixelFormat](_core.md#ohavpixelformat)<br/>AVPixel 格式的枚举。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
| [OH_AVPixelFormat](_core.md#ohavpixelformat)&nbsp;{<br/>[AV_PIXEL_FORMAT_YUVI420](_core.md#ggab04647d11a5a280f7427f9478ae2890ea961a1167e79625d6e72193f4fbb1add7)&nbsp;=&nbsp;1,&nbsp;[AV_PIXEL_FORMAT_NV12](_core.md#ggab04647d11a5a280f7427f9478ae2890eac65005d3e8437c615d4c4e051dfb4533)&nbsp;=&nbsp;2,&nbsp;[AV_PIXEL_FORMAT_NV21](_core.md#ggab04647d11a5a280f7427f9478ae2890eab324169419f675fc7ab9a786a5588543)&nbsp;=&nbsp;3,&nbsp;[AV_PIXEL_FORMAT_SURFACE_FORMAT](_core.md#ggab04647d11a5a280f7427f9478ae2890eabc2c11f0feacf52e43b323383f486608)&nbsp;=&nbsp;4,<br/>[AV_PIXEL_FORMAT_RGBA](_core.md#ggab04647d11a5a280f7427f9478ae2890ea2c15b220da3b7e9043d41f6e789249f0)&nbsp;=&nbsp;5<br/>} | AVPixel&nbsp;格式的枚举。&nbsp; |
| [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_AVFormat_Create](_core.md#ohavformatcreate)&nbsp;(void) | struct&nbsp;OH_AVFormat&nbsp;\*<br/>创建一个OH_AVFormat句柄指针,用以读写数据。&nbsp; |
| [OH_AVFormat_Destroy](_core.md#ohavformatdestroy)&nbsp;(struct&nbsp;OH_AVFormat&nbsp;\*format) | void<br/>销毁指定OH_AVFormat句柄资源。&nbsp; |
| [OH_AVFormat_Copy](_core.md#ohavformatcopy)&nbsp;(struct&nbsp;OH_AVFormat&nbsp;\*to,&nbsp;struct&nbsp;OH_AVFormat&nbsp;\*from) | bool<br/>拷贝OH_AVFormat句柄资源.&nbsp; |
| [OH_AVFormat_SetIntValue](_core.md#ohavformatsetintvalue)&nbsp;(struct&nbsp;OH_AVFormat&nbsp;\*format,&nbsp;const&nbsp;char&nbsp;\*key,&nbsp;int32_t&nbsp;value) | bool<br/>向OH_AVFormat写入Int数据.&nbsp; |
| [OH_AVFormat_SetLongValue](_core.md#ohavformatsetlongvalue)&nbsp;(struct&nbsp;OH_AVFormat&nbsp;\*format,&nbsp;const&nbsp;char&nbsp;\*key,&nbsp;int64_t&nbsp;value) | bool<br/>向OH_AVFormat写入Long数据。&nbsp; |
| [OH_AVFormat_SetFloatValue](_core.md#ohavformatsetfloatvalue)&nbsp;(struct&nbsp;OH_AVFormat&nbsp;\*format,&nbsp;const&nbsp;char&nbsp;\*key,&nbsp;float&nbsp;value) | bool<br/>向OH_AVFormat写入Float数据。&nbsp; |
| [OH_AVFormat_SetDoubleValue](_core.md#ohavformatsetdoublevalue)&nbsp;(struct&nbsp;OH_AVFormat&nbsp;\*format,&nbsp;const&nbsp;char&nbsp;\*key,&nbsp;double&nbsp;value) | bool<br/>向OH_AVFormat写入Double数据。&nbsp; |
| [OH_AVFormat_SetStringValue](_core.md#ohavformatsetstringvalue)&nbsp;(struct&nbsp;OH_AVFormat&nbsp;\*format,&nbsp;const&nbsp;char&nbsp;\*key,&nbsp;const&nbsp;char&nbsp;\*value) | bool<br/>向OH_AVFormat写入String数据。&nbsp; |
| [OH_AVFormat_SetBuffer](_core.md#ohavformatsetbuffer)&nbsp;(struct&nbsp;OH_AVFormat&nbsp;\*format,&nbsp;const&nbsp;char&nbsp;\*key,&nbsp;const&nbsp;uint8_t&nbsp;\*addr,&nbsp;size_t&nbsp;size) | bool<br/>向OH_AVFormat写入一块指定长度的数据。&nbsp; |
| [OH_AVFormat_GetIntValue](_core.md#ohavformatgetintvalue)&nbsp;(struct&nbsp;OH_AVFormat&nbsp;\*format,&nbsp;const&nbsp;char&nbsp;\*key,&nbsp;int32_t&nbsp;\*out) | bool<br/>从OH_AVFormat读取Int数据。&nbsp; |
| [OH_AVFormat_GetLongValue](_core.md#ohavformatgetlongvalue)&nbsp;(struct&nbsp;OH_AVFormat&nbsp;\*format,&nbsp;const&nbsp;char&nbsp;\*key,&nbsp;int64_t&nbsp;\*out) | bool<br/>从OH_AVFormat读取Long数据。&nbsp; |
| [OH_AVFormat_GetFloatValue](_core.md#ohavformatgetfloatvalue)&nbsp;(struct&nbsp;OH_AVFormat&nbsp;\*format,&nbsp;const&nbsp;char&nbsp;\*key,&nbsp;float&nbsp;\*out) | bool<br/>从OH_AVFormat读取Float数据。&nbsp; |
| [OH_AVFormat_GetDoubleValue](_core.md#ohavformatgetdoublevalue)&nbsp;(struct&nbsp;OH_AVFormat&nbsp;\*format,&nbsp;const&nbsp;char&nbsp;\*key,&nbsp;double&nbsp;\*out) | bool<br/>从OH_AVFormat读取Double数据。&nbsp; |
| [OH_AVFormat_GetStringValue](_core.md#ohavformatgetstringvalue)&nbsp;(struct&nbsp;OH_AVFormat&nbsp;\*format,&nbsp;const&nbsp;char&nbsp;\*key,&nbsp;const&nbsp;char&nbsp;\*\*out) | bool<br/>从OH_AVFormat读取Double数据。&nbsp; |
| [OH_AVFormat_GetBuffer](_core.md#ohavformatgetbuffer)&nbsp;(struct&nbsp;OH_AVFormat&nbsp;\*format,&nbsp;const&nbsp;char&nbsp;\*key,&nbsp;uint8_t&nbsp;\*\*addr,&nbsp;size_t&nbsp;\*size) | bool<br/>从OH_AVFormat读取一块指定长度的数据。&nbsp; |
| [OH_AVFormat_DumpInfo](_core.md#ohavformatdumpinfo)&nbsp;(struct&nbsp;OH_AVFormat&nbsp;\*format) | const&nbsp;char&nbsp;\*<br/>以字符串的形式输出OH_AVFormat所包含的信息。&nbsp; |
| [OH_AVFormat_Create](_core.md#ohavformatcreate) (void) | struct OH_AVFormat \*<br/>创建一个OH_AVFormat句柄指针,用以读写数据。 |
| [OH_AVFormat_Destroy](_core.md#ohavformatdestroy) (struct OH_AVFormat \*format) | void<br/>销毁指定OH_AVFormat句柄资源。 |
| [OH_AVFormat_Copy](_core.md#ohavformatcopy) (struct OH_AVFormat \*to, struct OH_AVFormat \*from) | bool<br/>拷贝OH_AVFormat句柄资源. |
| [OH_AVFormat_SetIntValue](_core.md#ohavformatsetintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t value) | bool<br/>向OH_AVFormat写入Int数据. |
| [OH_AVFormat_SetLongValue](_core.md#ohavformatsetlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t value) | bool<br/>向OH_AVFormat写入Long数据。 |
| [OH_AVFormat_SetFloatValue](_core.md#ohavformatsetfloatvalue) (struct OH_AVFormat \*format, const char \*key, float value) | bool<br/>向OH_AVFormat写入Float数据。 |
| [OH_AVFormat_SetDoubleValue](_core.md#ohavformatsetdoublevalue) (struct OH_AVFormat \*format, const char \*key, double value) | bool<br/>向OH_AVFormat写入Double数据。 |
| [OH_AVFormat_SetStringValue](_core.md#ohavformatsetstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*value) | bool<br/>向OH_AVFormat写入String数据。 |
| [OH_AVFormat_SetBuffer](_core.md#ohavformatsetbuffer) (struct OH_AVFormat \*format, const char \*key, const uint8_t \*addr, size_t size) | bool<br/>向OH_AVFormat写入一块指定长度的数据。 |
| [OH_AVFormat_GetIntValue](_core.md#ohavformatgetintvalue) (struct OH_AVFormat \*format, const char \*key, int32_t \*out) | bool<br/>从OH_AVFormat读取Int数据。 |
| [OH_AVFormat_GetLongValue](_core.md#ohavformatgetlongvalue) (struct OH_AVFormat \*format, const char \*key, int64_t \*out) | bool<br/>从OH_AVFormat读取Long数据。 |
| [OH_AVFormat_GetFloatValue](_core.md#ohavformatgetfloatvalue) (struct OH_AVFormat \*format, const char \*key, float \*out) | bool<br/>从OH_AVFormat读取Float数据。 |
| [OH_AVFormat_GetDoubleValue](_core.md#ohavformatgetdoublevalue) (struct OH_AVFormat \*format, const char \*key, double \*out) | bool<br/>从OH_AVFormat读取Double数据。 |
| [OH_AVFormat_GetStringValue](_core.md#ohavformatgetstringvalue) (struct OH_AVFormat \*format, const char \*key, const char \*\*out) | bool<br/>从OH_AVFormat读取Double数据。 |
| [OH_AVFormat_GetBuffer](_core.md#ohavformatgetbuffer) (struct OH_AVFormat \*format, const char \*key, uint8_t \*\*addr, size_t \*size) | bool<br/>从OH_AVFormat读取一块指定长度的数据。 |
| [OH_AVFormat_DumpInfo](_core.md#ohavformatdumpinfo) (struct OH_AVFormat \*format) | const char \*<br/>以字符串的形式输出OH_AVFormat所包含的信息。 |
......@@ -21,12 +21,12 @@
| 名称 | 描述 |
| -------- | -------- |
| **OH_AVMemory** | typedef&nbsp;struct&nbsp;OH_AVMemory |
| **OH_AVMemory** | typedef struct OH_AVMemory |
### 函数
| 名称 | 描述 |
| -------- | -------- |
| [OH_AVMemory_GetAddr](_core.md#ohavmemorygetaddr)&nbsp;(struct&nbsp;OH_AVMemory&nbsp;\*mem) | uint8_t&nbsp;\*<br/>获取入参的内存虚拟地址。&nbsp; |
| [OH_AVMemory_GetSize](_core.md#ohavmemorygetsize)&nbsp;(struct&nbsp;OH_AVMemory&nbsp;\*mem) | int32_t<br/>获取入参的内存长度。&nbsp; |
| [OH_AVMemory_GetAddr](_core.md#ohavmemorygetaddr) (struct OH_AVMemory \*mem) | uint8_t \*<br/>获取入参的内存虚拟地址。 |
| [OH_AVMemory_GetSize](_core.md#ohavmemorygetsize) (struct OH_AVMemory \*mem) | int32_t<br/>获取入参的内存长度。 |
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册