diff --git a/starboard/android/apk/app/src/main/java/dev/cobalt/media/MediaDrmBridge.java b/starboard/android/apk/app/src/main/java/dev/cobalt/media/MediaDrmBridge.java index d4a12a5e7a9a..ea5f05f295f9 100644 --- a/starboard/android/apk/app/src/main/java/dev/cobalt/media/MediaDrmBridge.java +++ b/starboard/android/apk/app/src/main/java/dev/cobalt/media/MediaDrmBridge.java @@ -373,6 +373,37 @@ private MediaDrmBridge(String keySystem, UUID schemeUUID, long nativeMediaDrmBri mSchemeUUID = schemeUUID; mMediaDrm = new MediaDrm(schemeUUID); + // Get info of hdcp connection, as 4k drm require hdcp 2.2 + switch (mMediaDrm.getConnectedHdcpLevel()) { + case MediaDrm.HDCP_V1: + case MediaDrm.HDCP_V2: + case MediaDrm.HDCP_V2_1: + Log.i( + TAG, + String.format( + "MediaDrm HDCP Level is < HDCP_V2_2 (%d).", + mMediaDrm.getConnectedHdcpLevel())); + break; + case MediaDrm.HDCP_V2_2: + case MediaDrm.HDCP_V2_3: + Log.i( + TAG, + String.format( + "MediaDrm HDCP Level is >= HDCP_V2_2 (%d).", + mMediaDrm.getConnectedHdcpLevel())); + break; + case MediaDrm.HDCP_NONE: + Log.i(TAG, "MediaDrm HDCP Level is HDCP_NONE."); + break; + case MediaDrm.HDCP_NO_DIGITAL_OUTPUT: + Log.i(TAG, "MediaDrm HDCP Level is HDCP_NO_DIGITAL_OUTPUT."); + break; + case MediaDrm.HDCP_LEVEL_UNKNOWN: + default: + Log.i(TAG, "MediaDrm HDCP Level is HDCP_LEVEL_UNKNOWN."); + break; + } + mNativeMediaDrmBridge = nativeMediaDrmBridge; if (!isNativeMediaDrmBridgeValid()) { throw new IllegalArgumentException(