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 表示执行成功。
其他值表示执行失败。