我正在使用 Android NDK MediaDrm API 通过 PlayReady 解密视频访问单元。
我发现某些 API 调用会无限期挂起。这些调用都按此顺序成功:
AMediaDrm_createByUUID()
AMediaDrm_openSession()
AMediaDrm_getKeyRequest()
AMediaDrm_provideKeyResponse()
但在AMediaDrm_provideKeyResponse()
通话之后,任何通话AMediaDrm_closeSession()
或AMediaDrm_decrypt()
将永远挂起。查看这两种情况下的反汇编,我们都陷入了一条跳到自身的行中,例如:
0xf2ea9dec: jmp 0xf2ea9dec
AMediaDrm_closeSession()
在AMediaDrm_openSession()
or之后直接调用时有效AMediaDrm_getKeyRequest()
。
有没有人遇到过这个问题?有什么我可能做错了AMediaDrm_provideKeyResponse()
吗?