Android解密后如何播放DRM内容?

How does Android play DRM content after decryption?

我正在查看 Android 的 DRM documentation,我看到了下图:

该图显示 DRM HAL 请求解密 DRM 内容,然后使用 "secure buffer handle" 进行访问。请问有没有人知道secure handle对应的内容是怎么播放的?内容是否曾离开 TEE,或者可以 Android 在 TEE 中播放解密的内容?

不同的 DRM 类型有不同的安全级别,但对于 Widevine 和 Playready 等最常见的最高级别将需要硬件信任根、利用 HW/TEE 存储的密钥以及安全的媒体路径.

安全媒体路径的含义与您所说的完全一样 - 未加密的媒体在显示之前绝不会暴露给应用程序或系统的任何其他部分。显示系统通过受保护的内存缓冲区。

对于需要对解密媒体进行 post 处理的应用程序,例如 VR 和 AR,Android 允许在受保护的缓冲区上执行有限的操作。您可以在 Android 在线文档中看到这一点:https://source.android.com/devices/graphics/arch-st#st_vid_play