From 3a586ab27bb8b5621e12b07fa6a8f1ed5da354a8 Mon Sep 17 00:00:00 2001 From: Rahul Frias Date: Sat, 22 Nov 2014 01:44:55 -0800 Subject: [PATCH] Report HDCP status of no HDCP device attached OEMCrypto may report an HDCP status of "No HDCP device attached/using local display with secure path". This is not propagated upto the server as an appropriate HDCP value did not exist in the license protocol. This has now been added. Netflix has requested that this be reported. [ Merge of https://widevine-internal-review.googlesource.com/#/c/11806/ from Widevine cdm repo ] b/18377309 Change-Id: I3db88c7ab5e79a3c12dbc8a398c4770e14e5ee5c --- libwvdrmengine/cdm/core/src/license.cpp | 4 ++++ libwvdrmengine/cdm/core/src/license_protocol.proto | 2 ++ 2 files changed, 6 insertions(+) diff --git a/libwvdrmengine/cdm/core/src/license.cpp b/libwvdrmengine/cdm/core/src/license.cpp index 8a6e9f5b..abbbc09f 100644 --- a/libwvdrmengine/cdm/core/src/license.cpp +++ b/libwvdrmengine/cdm/core/src/license.cpp @@ -324,6 +324,10 @@ bool CdmLicense::PrepareKeyRequest(const InitializationData& init_data, ClientIdentification_ClientCapabilities_HdcpVersion_HDCP_V2_2); break; case CryptoSession::kOemCryptoNoHdcpDeviceAttached: + client_capabilities->set_max_hdcp_version( + video_widevine_server::sdk:: + ClientIdentification_ClientCapabilities_HdcpVersion_HDCP_NO_DIGITAL_OUTPUT); + break; default: LOGW( "CdmLicense::PrepareKeyRequest: unexpected HDCP max capability " diff --git a/libwvdrmengine/cdm/core/src/license_protocol.proto b/libwvdrmengine/cdm/core/src/license_protocol.proto index 163549a7..7a32ca02 100644 --- a/libwvdrmengine/cdm/core/src/license_protocol.proto +++ b/libwvdrmengine/cdm/core/src/license_protocol.proto @@ -129,6 +129,7 @@ message License { HDCP_V2 = 2; HDCP_V2_1 = 3; HDCP_V2_2 = 4; + HDCP_NO_DIGITAL_OUTPUT = 0xff; } optional HDCP hdcp = 1 [default = HDCP_NONE]; @@ -401,6 +402,7 @@ message ClientIdentification { HDCP_V2 = 2; HDCP_V2_1 = 3; HDCP_V2_2 = 4; + HDCP_NO_DIGITAL_OUTPUT = 0xff; } optional bool client_token = 1 [default = false];