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

Commit e607b5fb authored by Jeff Tinker's avatar Jeff Tinker Committed by Android (Google) Code Review
Browse files

Merge "Add support for HDCP 2.3"

parents df61ea34 c71c018e
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -24796,6 +24796,7 @@ package android.media {
    field public static final int HDCP_V2 = 3; // 0x3
    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_1 = 4; // 0x4
    field public static final int HDCP_V2_2 = 5; // 0x5
    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_OFFLINE = 2; // 0x2
    field public static final int KEY_TYPE_RELEASE = 3; // 0x3
    field public static final int KEY_TYPE_RELEASE = 3; // 0x3
    field public static final int KEY_TYPE_STREAMING = 1; // 0x1
    field public static final int KEY_TYPE_STREAMING = 1; // 0x1
+6 −1
Original line number Original line Diff line number Diff line
@@ -1285,7 +1285,7 @@ public final class MediaDrm implements AutoCloseable {


    @Retention(RetentionPolicy.SOURCE)
    @Retention(RetentionPolicy.SOURCE)
    @IntDef({HDCP_LEVEL_UNKNOWN, HDCP_NONE, HDCP_V1, HDCP_V2,
    @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 {}
    public @interface HdcpLevel {}




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


@@ -774,6 +775,8 @@ static void android_media_MediaDrm_native_init(JNIEnv *env) {
    gHdcpLevels.kHdcpV2_1 = env->GetStaticIntField(clazz, field);
    gHdcpLevels.kHdcpV2_1 = env->GetStaticIntField(clazz, field);
    GET_STATIC_FIELD_ID(field, clazz, "HDCP_V2_2", "I");
    GET_STATIC_FIELD_ID(field, clazz, "HDCP_V2_2", "I");
    gHdcpLevels.kHdcpV2_2 = env->GetStaticIntField(clazz, field);
    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");
    GET_STATIC_FIELD_ID(field, clazz, "HDCP_NO_DIGITAL_OUTPUT", "I");
    gHdcpLevels.kHdcpNoOutput = env->GetStaticIntField(clazz, field);
    gHdcpLevels.kHdcpNoOutput = env->GetStaticIntField(clazz, field);


@@ -1390,6 +1393,8 @@ static jint HdcpLevelTojint(DrmPlugin::HdcpLevel level) {
        return gHdcpLevels.kHdcpV2_1;
        return gHdcpLevels.kHdcpV2_1;
    case DrmPlugin::kHdcpV2_2:
    case DrmPlugin::kHdcpV2_2:
        return gHdcpLevels.kHdcpV2_2;
        return gHdcpLevels.kHdcpV2_2;
    case DrmPlugin::kHdcpV2_3:
        return gHdcpLevels.kHdcpV2_3;
    case DrmPlugin::kHdcpNoOutput:
    case DrmPlugin::kHdcpNoOutput:
        return gHdcpLevels.kHdcpNoOutput;
        return gHdcpLevels.kHdcpNoOutput;
    }
    }