IMediaKeySession

概述

DRM会话功能接口,获取/设置许可证、查询当前会话许可证状态、删除当前会话许可证、释放许可证、恢复离线许可证、 判断是否需要安全内存中解密、获取解密模块实例、设置会话消息通知接口、销毁会话。

起始版本: 4.1

相关模块:HdiDrm

汇总

Public 成员函数

名称 描述
GenerateMediaKeyRequest ([in] struct MediaKeyRequestInfo mediaKeyRequestInfo, [out] struct MediaKeyRequest mediaKeyRequest) 产生获取许可证请求。
ProcessMediaKeyResponse ([in] unsigned char[] mediaKeyResponse, [out] unsigned char[] mediaKeyId) 处理许可证响应。
CheckMediaKeyStatus ([out] Map< String, String > mediaKeyStatus) 查询许可证状态(包括策略等信息)。
ClearMediaKeys () 删除许可证。
GetOfflineReleaseRequest ([in] unsigned char[] mediaKeyId, [out] unsigned char[] releaseRequest) 产生离线许可证释放请求。
ProcessOfflineReleaseResponse ([in] unsigned char[] mediaKeyId, [in] unsigned char[] response) 处理离线许可证释放响应。
RestoreOfflineMediaKeys ([in] unsigned char[] mediaKeyId) 恢复离线许可证至当前会话。
GetContentProtectionLevel ([out] enum ContentProtectionLevel level) 获取当前DRM会话的内容保护级别。
RequiresSecureDecoderModule ([in] String mimeType, [out] boolean required) 判断是否需要安全内存用于存放解密后的数据。
SetCallback ([in] IMediaKeySessionCallback sessionCallback) 设置DRM会话事件通知接口。
GetMediaDecryptModule ([out] IMediaDecryptModule decryptModule) 获取解密模块实例。
Destroy () 销毁DRM会话。

成员函数说明

CheckMediaKeyStatus()

IMediaKeySession::CheckMediaKeyStatus ([out] Map< String, String > mediaKeyStatus)

描述 查询许可证状态(包括策略等信息)。

起始版本: 4.1

参数:

名称 描述
mediaKeyStatus 许可证状态。

返回:

0 表示执行成功。

其他值表示执行失败。

ClearMediaKeys()

IMediaKeySession::ClearMediaKeys ()

描述 删除许可证。

起始版本: 4.1

返回:

0 表示执行成功。

其他值表示执行失败。

Destroy()

IMediaKeySession::Destroy ()

描述 销毁DRM会话。

起始版本: 4.1

返回:

0 表示执行成功。

其他值表示执行失败。

GenerateMediaKeyRequest()

IMediaKeySession::GenerateMediaKeyRequest ([in] struct MediaKeyRequestInfo mediaKeyRequestInfo, [out] struct MediaKeyRequest mediaKeyRequest )

描述 产生获取许可证请求。

起始版本: 4.1

参数:

名称 描述
mediaKeyRequestInfo 用于产生许可证请求的初始信息。
mediaKeyRequest 许可证请求。

返回:

0 表示执行成功。

其他值表示执行失败。

GetContentProtectionLevel()

IMediaKeySession::GetContentProtectionLevel ([out] enum ContentProtectionLevel level)

描述 获取当前DRM会话的内容保护级别。

起始版本: 4.1

参数:

名称 描述
level 内容保护级别。

返回:

0 表示执行成功。

其他值表示执行失败。

GetMediaDecryptModule()

IMediaKeySession::GetMediaDecryptModule ([out] IMediaDecryptModule decryptModule)

描述 获取解密模块实例。

起始版本: 4.1

参数:

名称 描述
decryptModule 解密模块实例。

返回:

0 表示执行成功。

其他值表示执行失败。

GetOfflineReleaseRequest()

IMediaKeySession::GetOfflineReleaseRequest ([in] unsigned char[] mediaKeyId, [out] unsigned char[] releaseRequest )

描述 产生离线许可证释放请求。

起始版本: 4.1

参数:

名称 描述
mediaKeyId 离线许可证索引。
releaseRequest 离线许可证释放请求。

返回:

0 表示执行成功。

其他值表示执行失败。

ProcessMediaKeyResponse()

IMediaKeySession::ProcessMediaKeyResponse ([in] unsigned char[] mediaKeyResponse, [out] unsigned char[] mediaKeyId )

描述 处理许可证响应。

起始版本: 4.1

参数:

名称 描述
mediaKeyResponse 待处理的许可证响应。
mediaKeyId 对于离线许可证类型,表示索引;在线许可证类型下,值为空。

返回:

0 表示执行成功。

其他值表示执行失败。

ProcessOfflineReleaseResponse()

IMediaKeySession::ProcessOfflineReleaseResponse ([in] unsigned char[] mediaKeyId, [in] unsigned char[] response )

描述 处理离线许可证释放响应。

起始版本: 4.1

参数:

名称 描述
mediaKeyId 离线许可证索引。
response 离线许可证释放响应。

返回:

0 表示执行成功。

其他值表示执行失败。

RequiresSecureDecoderModule()

IMediaKeySession::RequiresSecureDecoderModule ([in] String mimeType, [out] boolean required )

描述 判断是否需要安全内存用于存放解密后的数据。

起始版本: 4.1

参数:

名称 描述
mimeType 待解密内容的MIME类型。
required 布尔值表示是否需要安全内存,true表示需要安全内存存储解密后的视频帧, flase表示不需要安全内存存储解密后的视频帧。

返回:

0 表示执行成功。

其他值表示执行失败。

RestoreOfflineMediaKeys()

IMediaKeySession::RestoreOfflineMediaKeys ([in] unsigned char[] mediaKeyId)

描述 恢复离线许可证至当前会话。

起始版本: 4.1

参数:

名称 描述
mediaKeyId 离线许可证索引。

返回:

0 表示执行成功。

其他值表示执行失败。

SetCallback()

IMediaKeySession::SetCallback ([in] IMediaKeySessionCallback sessionCallback)

描述 设置DRM会话事件通知接口。

起始版本: 4.1

参数:

名称 描述
sessionCallback DRM实例事件通知接口。

返回:

0 表示执行成功。

其他值表示执行失败。