Merge "Single PSSH entitlement handling" into qt-dev am: 19c6e57269

am: f13e62fbe3

Change-Id: Ib06c9f6606fab960a132d1fb0876108cd7513c2d
This commit is contained in:
Rahul Frias
2019-05-13 09:49:41 -07:00
committed by android-build-merger
3 changed files with 163 additions and 22 deletions

View File

@@ -424,10 +424,12 @@ CdmResponseType CdmSession::GenerateKeyRequestInternal(
case kLicenseTypeRelease:
is_release_ = true;
break;
// TODO(jfore): CdmSession assumes a call to this method once a license has
// been received is a call to generate a license renewal message. Use of
// this enum differentiates the two calls. See "else if (license_received_)"
// below.
// TODO(b/132071885): Once a license has been received, CdmSession assumes
// that a call to this method is to generate a license renewal/release
// or key rotation. Key rotation can be indicated by specifing a license
// type kLicenseTypeEmbeddedKeyData or interrogating the PSSH
// (See "else if (license_received_)" below). b/132071885 is to evaluate
// whether both mechanisms are needed.
case kLicenseTypeEmbeddedKeyData:
return license_parser_->HandleEmbeddedKeyData(init_data);
default:
@@ -440,7 +442,7 @@ CdmResponseType CdmSession::GenerateKeyRequestInternal(
return GenerateReleaseRequest(key_request);
} else if (license_received_) {
// A call to GenerateKeyRequest after the initial license has been received
// is either a renewal request or a key rotation event
// is either a renewal/release request or a key rotation event
if (init_data.contains_entitled_keys())
return license_parser_->HandleEmbeddedKeyData(init_data);
else