Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c71c018e authored by Jeff Tinker's avatar Jeff Tinker
Browse files

Add support for HDCP 2.3

bug:120040804
Change-Id: Ia42aecb70b779edef98cf79166f43e0dc7356bbe
parent 955f3424
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -24643,6 +24643,7 @@ package android.media {
    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
+6 −1
Original line number Diff line number Diff line
@@ -1285,7 +1285,7 @@ public final class MediaDrm implements AutoCloseable {

    @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 {}


@@ -1320,6 +1320,11 @@ public final class MediaDrm implements AutoCloseable {
     */
    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
     */
+5 −0
Original line number Diff line number Diff line
@@ -159,6 +159,7 @@ struct HDCPLevels {
    jint kHdcpV2;
    jint kHdcpV2_1;
    jint kHdcpV2_2;
    jint kHdcpV2_3;
    jint kHdcpNoOutput;
} gHdcpLevels;

@@ -774,6 +775,8 @@ static void android_media_MediaDrm_native_init(JNIEnv *env) {
    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 @@ static jint HdcpLevelTojint(DrmPlugin::HdcpLevel level) {
        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;
    }