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

parent 7b82a3c8
...@@ -358,13 +358,15 @@ public final class FrameworkMediaDrm implements ExoMediaDrm<FrameworkMediaCrypto ...@@ -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 // 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)) 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) && "Amazon".equals(Util.MANUFACTURER)
&& ("AFTB".equals(Util.MODEL) // Fire TV Gen 1 && ("AFTB".equals(Util.MODEL) // Fire TV Gen 1
|| "AFTS".equals(Util.MODEL) // Fire TV Gen 2 || "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); byte[] psshData = PsshAtomUtil.parseSchemeSpecificData(initData, uuid);
if (psshData != null) { if (psshData != null) {
// Extraction succeeded, so return the extracted data. // Extraction succeeded, so return the extracted data.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment