文档管理中心
您当前浏览的HarmonyOS 5.0.1(API 13)文档归档不再维护,推荐您使用最新版本。详细请参考文档维护策略变更
API参考媒体AVCodec Kit(音视频编解码服务)C API头文件native_cencinfo.h

native_cencinfo.h

概述

声明用于设置解密参数的Native API。

库: libnative_media_avcencinfo.so

起始版本: 12

相关模块:Multimedia_Drm

汇总

结构体

展开
名称 描述
struct DrmSubsample Subsample结构类型定义。

宏定义

展开
名称 描述
DRM_KEY_ID_SIZE 16 Key id长度为16字节。
DRM_KEY_IV_SIZE 16 Iv长度为16字节。
DRM_KEY_MAX_SUB_SAMPLE_NUM 64 最大的Subsample数量为64个。

类型定义

展开
名称 描述
typedef struct OH_AVBuffer OH_AVBuffer AVBuffer结构。
typedef struct OH_AVCencInfo OH_AVCencInfo AVCencInfo结构。
typedef enum DrmCencAlgorithm DrmCencAlgorithm Drm CENC算法类型。
typedef enum DrmCencInfoMode DrmCencInfoMode 枚举类型,表示cencInfo中keyId/iv/subsample信息是否设置。
typedef struct DrmSubsample DrmSubsample Subsample结构类型定义。

枚举

展开
名称 描述

DrmCencAlgorithm {

DRM_ALG_CENC_UNENCRYPTED = 0x0, DRM_ALG_CENC_AES_CTR = 0x1,

DRM_ALG_CENC_AES_WV = 0x2, DRM_ALG_CENC_AES_CBC = 0x3,

DRM_ALG_CENC_SM4_CBC = 0x4, DRM_ALG_CENC_SM4_CTR = 0x5

}

Drm CENC算法类型。

DrmCencInfoMode {

DRM_CENC_INFO_KEY_IV_SUBSAMPLES_SET = 0x0,

DRM_CENC_INFO_KEY_IV_SUBSAMPLES_NOT_SET = 0x1 }

枚举类型,表示cencInfo中keyId/iv/subsample信息是否设置。

函数

展开
名称 描述
OH_AVCencInfo * OH_AVCencInfo_Create () 创建用于设置cencInfo的OH_AVCencInfo实例。
OH_AVErrCode OH_AVCencInfo_Destroy (OH_AVCencInfo *cencInfo) 销毁OH_AVCencInfo实例并释放内部资源。
OH_AVErrCode OH_AVCencInfo_SetAlgorithm (OH_AVCencInfo *cencInfo, enum DrmCencAlgorithm algo) 设置cencInfo加密算法。
OH_AVErrCode OH_AVCencInfo_SetKeyIdAndIv (OH_AVCencInfo *cencInfo, uint8_t *keyId, uint32_t keyIdLen, uint8_t *iv, uint32_t ivLen) 设置cencInfo的keyId和iv。
OH_AVErrCode OH_AVCencInfo_SetSubsampleInfo (OH_AVCencInfo *cencInfo, uint32_t encryptedBlockCount, uint32_t skippedBlockCount, uint32_t firstEncryptedOffset, uint32_t subsampleCount, DrmSubsample *subsamples) 设置cencInfo的subsamples信息。
OH_AVErrCode OH_AVCencInfo_SetMode (OH_AVCencInfo *cencInfo, enum DrmCencInfoMode mode) 设置cencInfo的模式。
OH_AVErrCode OH_AVCencInfo_SetAVBuffer (OH_AVCencInfo *cencInfo, OH_AVBuffer *buffer) 将cencInfo设置到AVBuffer。
在 API参考 中进行搜索
请输入您想要搜索的关键词