Extend FrameworkMediaDrm to support PSSHv1 on Amazon FireTV Gen1/Gen2/Stick Gen1/Stick Gen2

This commit is contained in:
Matthias Tamegger 2020-03-17 12:33:16 +01:00
parent 7b82a3c889
commit 8017118ef1

View file

@ -358,13 +358,15 @@ public final class FrameworkMediaDrm implements ExoMediaDrm<FrameworkMediaCrypto
}
// Prior to L the Widevine CDM required data to be extracted from the PSSH atom. Some Amazon
// devices also required data to be extracted from the PSSH atom for PlayReady.
// devices also required data to be extracted from the PSSH atom for PlayReady and Widevine
// with PSSHv1 boxes.
if ((Util.SDK_INT < 21 && C.WIDEVINE_UUID.equals(uuid))
|| (C.PLAYREADY_UUID.equals(uuid)
|| ((C.PLAYREADY_UUID.equals(uuid) || C.WIDEVINE_UUID.equals(uuid))
&& "Amazon".equals(Util.MANUFACTURER)
&& ("AFTB".equals(Util.MODEL) // Fire TV Gen 1
|| "AFTS".equals(Util.MODEL) // Fire TV Gen 2
|| "AFTM".equals(Util.MODEL)))) { // Fire TV Stick Gen 1
|| "AFTM".equals(Util.MODEL) // Fire TV Stick Gen 1
|| "AFTT".equals(Util.MODEL)))) { // Fire TV Stick Gen 2
byte[] psshData = PsshAtomUtil.parseSchemeSpecificData(initData, uuid);
if (psshData != null) {
// Extraction succeeded, so return the extracted data.