nativeavcodecbase.h


native_avcodec_base.h

概述

声明运行音视频编解码通用的结构体、字符常量、枚举。

Since: 9 Version: 1.0 相关模块:

CodecBase

汇总

结构体

名称 描述
OH_AVCodecBufferAttr struct
定义OH_AVCodec的Buffer描述信息。
OH_AVCodecAsyncCallback struct
AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。

类型定义

名称 描述
OHNativeWindow typedef struct NativeWindow
OH_AVCodec typedef struct OH_AVCodec
OH_AVCodecBufferFlags typedef enum OH_AVCodecBufferFlags
枚举OH_AVCodec的Buffer标记的类别。
OH_AVCodecBufferAttr typedef struct OH_AVCodecBufferAttr
定义OH_AVCodec的Buffer描述信息。
OH_AVCodecOnError) (OH_AVCodec *codec, int32_t errorCode, void *userData) typedef void(*
当OH_AVCodec实例运行发生错误时,该函数指针会被调用以报告具体错误信息。
OH_AVCodecOnStreamChanged) (OH_AVCodec *codec, OH_AVFormat *format, void *userData) typedef void(*
当输出流发生变化时,该函数指针会被调用以报告新的流描述信息。 需要注意的时,OH_AVFormat指针的生命周期仅维持在该函数指针被调用时上有效,禁止在调用结束后继续访问。
OH_AVCodecOnNeedInputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, void *userData) typedef void(*
当AVCodec运行过程中需要新的输入数据时,该函数指针会被调用,并携带一块可用的Buffer以供填入新的输入数据。
OH_AVCodecOnNewOutputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, OH_AVCodecBufferAttr *attr, void *userData) typedef void(*
当AVCodec运行过程中产生了新的输出数据时,该函数指针会被调用,并携带一块包含新输出数据的Buffer, 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅维持在该函数指针被调用时有效,禁止调用结束后继续访问。
OH_AVCodecAsyncCallback typedef struct OH_AVCodecAsyncCallback
AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。
OH_MediaType typedef enum OH_MediaType
媒体类型。
OH_AVCProfile typedef enum OH_AVCProfile
AVC Profile枚举。
OH_AACProfile typedef enum OH_AACProfile
AAC Profile枚举。

枚举

名称 描述
OH_AVCodecBufferFlags {
AVCODEC_BUFFER_FLAGS_NONE = 0, AVCODEC_BUFFER_FLAGS_EOS = 1 << 0, AVCODEC_BUFFER_FLAGS_SYNC_FRAME = 1 << 1, AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME = 1 << 2,
AVCODEC_BUFFER_FLAGS_CODEC_DATA = 1 << 3
}
枚举OH_AVCodec的Buffer标记的类别。
OH_MediaType { MEDIA_TYPE_AUD = 0, MEDIA_TYPE_VID = 1 } 媒体类型。
OH_AVCProfile { AVC_PROFILE_BASELINE = 0, AVC_PROFILE_HIGH = 4, AVC_PROFILE_MAIN = 8 } AVC Profile枚举。
OH_AACProfile { AAC_PROFILE_LC = 0 } AAC Profile枚举。

变量

名称 描述
OH_AVCODEC_MIMETYPE_VIDEO_AVC const char *
AVC视频编解码器的MIME类型。
OH_AVCODEC_MIMETYPE_AUDIO_AAC const char *
AAC音频编解码器的MIME类型。
OH_ED_KEY_TIME_STAMP const char *
提供统一的surface Buffer附属数据的字符描述符。
OH_ED_KEY_EOS const char *
OH_MD_KEY_TRACK_TYPE const char *
为媒体播放框架提供统一的字符描述符。
OH_MD_KEY_CODEC_MIME const char *
OH_MD_KEY_DURATION const char *
OH_MD_KEY_BITRATE const char *
OH_MD_KEY_MAX_INPUT_SIZE const char *
OH_MD_KEY_WIDTH const char *
OH_MD_KEY_HEIGHT const char *
OH_MD_KEY_PIXEL_FORMAT const char *
OH_MD_KEY_AUDIO_SAMPLE_FORMAT const char *
OH_MD_KEY_FRAME_RATE const char *
OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE const char *
OH_MD_KEY_PROFILE const char *
OH_MD_KEY_AUD_CHANNEL_COUNT const char *
OH_MD_KEY_AUD_SAMPLE_RATE const char *
OH_MD_KEY_I_FRAME_INTERVAL const char *
OH_MD_KEY_ROTATION const char *