native_avcodec_videodecoder.h

概述

声明用于视频解码的Native API。

库: libnative_media_vdec.so

起始版本: 9

相关模块:VideoDecoder

汇总

函数

名称 描述
OH_AVCodec * OH_VideoDecoder_CreateByMime (const char *mime) 从MIME类型创建视频解码器实例。
OH_AVCodec * OH_VideoDecoder_CreateByName (const char *name) 通过视频解码器名称创建视频解码器实例。
OH_AVErrCode OH_VideoDecoder_Destroy (OH_AVCodec *codec) 清理解码器内部资源,销毁解码器实例。
OH_AVErrCode OH_VideoDecoder_SetCallback (OH_AVCodec *codec, OH_AVCodecAsyncCallback callback, void *userData) 设置异步回调函数,让应用可以响应视频解码器生成的事件。
OH_AVErrCode OH_VideoDecoder_RegisterCallback (OH_AVCodec *codec, OH_AVCodecCallback callback, void *userData) 注册异步回调函数,让应用可以响应视频解码器生成的事件。
OH_AVErrCode OH_VideoDecoder_SetSurface (OH_AVCodec *codec, OHNativeWindow *window) 指定输出表面以提供视频解码输出,必须在调用Prepare之前调用此接口。
OH_AVErrCode OH_VideoDecoder_Configure (OH_AVCodec *codec, OH_AVFormat *format) 配置视频解码器,通常需要配置解码视频轨迹的描述信息,这些信息可以从OH_AVSource中提取。
OH_AVErrCode OH_VideoDecoder_Prepare (OH_AVCodec *codec) 要准备解码器的内部资源。
OH_AVErrCode OH_VideoDecoder_Start (OH_AVCodec *codec) 启动解码器,准备成功后必须调用此接口。
OH_AVErrCode OH_VideoDecoder_Stop (OH_AVCodec *codec) 停止解码器。
OH_AVErrCode OH_VideoDecoder_Flush (OH_AVCodec *codec) 清除解码器中缓存的输入和输出数据。
OH_AVErrCode OH_VideoDecoder_Reset (OH_AVCodec *codec) 重置解码器。如果要继续解码,需要再次调用Configure接口配置解码器实例。
OH_AVFormat * OH_VideoDecoder_GetOutputDescription (OH_AVCodec *codec) 获取解码器输出数据的描述信息。
OH_AVErrCode OH_VideoDecoder_SetParameter (OH_AVCodec *codec, OH_AVFormat *format) 设置解码器的动态参数。
OH_AVErrCode OH_VideoDecoder_PushInputData (OH_AVCodec *codec, uint32_t index, OH_AVCodecBufferAttr attr) 将填充数据的输入缓冲区提交给视频解码器。
OH_AVErrCode OH_VideoDecoder_RenderOutputData (OH_AVCodec *codec, uint32_t index) 将处理后的输出Buffer返回给解码器,并通知解码器完成在输出表面上渲染Buffer中包含的解码数据。
OH_AVErrCode OH_VideoDecoder_FreeOutputData (OH_AVCodec *codec, uint32_t index) 将处理后的输出缓冲区返回到解码器。
OH_AVErrCode OH_VideoDecoder_PushInputBuffer (OH_AVCodec *codec, uint32_t index) 将填充数据的输入缓冲区提交给视频解码器。
OH_AVErrCode OH_VideoDecoder_RenderOutputBuffer (OH_AVCodec *codec, uint32_t index) 将处理后的输出缓冲返回给解码器,并通知解码器完成在输出表面上渲染,输出缓冲包含解码数据。
OH_AVErrCode OH_VideoDecoder_FreeOutputBuffer (OH_AVCodec *codec, uint32_t index) 将处理后的输出缓冲区返回到解码器。
OH_AVErrCode OH_VideoDecoder_IsValid (OH_AVCodec *codec, bool *isValid) 检查当前解码实例是否有效。
OH_AVErrCode OH_VideoDecoder_SetDecryptionConfig (OH_AVCodec *codec, MediaKeySession *mediaKeySession, bool secureVideoPath) 设置解密配置。