Merge "Add support for HDCP 2.3"
diff --git a/api/current.txt b/api/current.txt
index e7c9b24..f817f2c 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -24796,6 +24796,7 @@
field public static final int HDCP_V2 = 3; // 0x3
field public static final int HDCP_V2_1 = 4; // 0x4
field public static final int HDCP_V2_2 = 5; // 0x5
+ field public static final int HDCP_V2_3 = 6; // 0x6
field public static final int KEY_TYPE_OFFLINE = 2; // 0x2
field public static final int KEY_TYPE_RELEASE = 3; // 0x3
field public static final int KEY_TYPE_STREAMING = 1; // 0x1
diff --git a/media/java/android/media/MediaDrm.java b/media/java/android/media/MediaDrm.java
index 75b3915..bfc10da5 100644
--- a/media/java/android/media/MediaDrm.java
+++ b/media/java/android/media/MediaDrm.java
@@ -1285,7 +1285,7 @@
@Retention(RetentionPolicy.SOURCE)
@IntDef({HDCP_LEVEL_UNKNOWN, HDCP_NONE, HDCP_V1, HDCP_V2,
- HDCP_V2_1, HDCP_V2_2, HDCP_NO_DIGITAL_OUTPUT})
+ HDCP_V2_1, HDCP_V2_2, HDCP_V2_3, HDCP_NO_DIGITAL_OUTPUT})
public @interface HdcpLevel {}
@@ -1321,6 +1321,11 @@
public static final int HDCP_V2_2 = 5;
/**
+ * HDCP version 2.3 Type 1.
+ */
+ public static final int HDCP_V2_3 = 6;
+
+ /**
* No digital output, implicitly secure
*/
public static final int HDCP_NO_DIGITAL_OUTPUT = Integer.MAX_VALUE;
diff --git a/media/jni/android_media_MediaDrm.cpp b/media/jni/android_media_MediaDrm.cpp
index 8336459..42c5b05 100644
--- a/media/jni/android_media_MediaDrm.cpp
+++ b/media/jni/android_media_MediaDrm.cpp
@@ -159,6 +159,7 @@
jint kHdcpV2;
jint kHdcpV2_1;
jint kHdcpV2_2;
+ jint kHdcpV2_3;
jint kHdcpNoOutput;
} gHdcpLevels;
@@ -774,6 +775,8 @@
gHdcpLevels.kHdcpV2_1 = env->GetStaticIntField(clazz, field);
GET_STATIC_FIELD_ID(field, clazz, "HDCP_V2_2", "I");
gHdcpLevels.kHdcpV2_2 = env->GetStaticIntField(clazz, field);
+ GET_STATIC_FIELD_ID(field, clazz, "HDCP_V2_3", "I");
+ gHdcpLevels.kHdcpV2_3 = env->GetStaticIntField(clazz, field);
GET_STATIC_FIELD_ID(field, clazz, "HDCP_NO_DIGITAL_OUTPUT", "I");
gHdcpLevels.kHdcpNoOutput = env->GetStaticIntField(clazz, field);
@@ -1390,6 +1393,8 @@
return gHdcpLevels.kHdcpV2_1;
case DrmPlugin::kHdcpV2_2:
return gHdcpLevels.kHdcpV2_2;
+ case DrmPlugin::kHdcpV2_3:
+ return gHdcpLevels.kHdcpV2_3;
case DrmPlugin::kHdcpNoOutput:
return gHdcpLevels.kHdcpNoOutput;
}