Как работать с многоключевым DRM с помощью MediaDrm - PullRequest
1 голос
/ 26 мая 2020

Android Документация MediaDrm содержит диаграмму последовательности только для простейшего варианта использования. Он не говорит, как должен работать поток DA SH с несколькими последовательными ключами шифрования. (например, первые 10 зашифрованы ключом A, а следующие 20 - ключом B)

Учитывая, что каждый сеанс DRM может содержать только один ключ, а каждый MediaCode c может быть настроен только с одним сеансом DRM. Как я могу сделать следующее:

  • Обратите внимание, что ключ изменился, помимо проверки всех значений CryptoInfo.key или ожидания CryptoException.ERROR_NO_KEY.
  • Переключите MediaCode c на новый сеанс DRM, не влияя на воспроизведение? (стоп, грипп sh, перенастроить)

1 Ответ

1 голос
/ 26 мая 2020

При просмотре другой реализации я обнаружил, что используется следующая строка свойств.

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

По-видимому, установка этого параметра позволяет реализации DRM использовать ключи из любого сеанса, созданного объектом MediaDrm, если это необходимо, без для перенастройки MediaCode c.

К сожалению, эта строка свойства не упоминается ни в документации Android, ни где-либо еще в Интернете. Я вижу, что он также используется в коде Chromium MediaDrmBridge , вот и все.

...