如何用MediaDrm处理多键DRM?

问题描述 投票:0回答:1

Android MediaDrm文档 只有一个最简单的用例的序列图。它并没有说一个有多个连续加密密钥的DASH流应该如何工作。例如,前10s用keyA加密,后20s用keyB加密)。

考虑到每个DRM会话只能持有一个密钥,每个MediaCodec只能配置一个DRM会话。如何才能做到以下几点。

  • 注意密钥发生了变化,除了检查所有的CryptoInfo.key值或者等待CryptoException.ERROR_NO_KEY.
  • 将MediaCodec切换到新的DRM会话而不影响播放?(停止、刷新、重新配置)
android android-mediaplayer mediacodec drm android-drm
1个回答
1
投票

在看另一个实现的时候,我发现使用了下面的属性字符串。

mediaDrm.setPropertyString("sessionSharing", "enable");

显然,设置这个属性允许DRM实现在需要时使用MediaDrm对象创建的任何会话的密钥,而无需重新配置MediaCodec。

令人沮丧的是,在Android文档或网上其他任何地方也没有提到这个属性字符串。我看到它在 Chromium MediaDrmBridge代码 也是,这就是全部。

© www.soinside.com 2019 - 2024. All rights reserved.