This merges the following changes from the Widevine CDM repository: 564f4cc Add CdmClientPropertySet to CDM Adds an interface to the CDM that allows it to query its client for certain properties. In this case, this includes the ability to specify what security level is desired, as well as support for service ceritifcate privacy mode. 9cfbd3e Force Level 3 fallback Adds support for voluntarily invoking L3 crypto to the OEMCrypto wrapper. 95d12c1 Add pointer to CdmClientPropertySet class to OpenSession. Adds support for storing the property set on a session-by-session basis and choosing the appropriate crypto level. 17de442 Add Settable Properties for Clank to Android Adds support for setting the aforementioned properties to the DrmEngine bbe704d Fixes to force fallback to level three security Corrections to invoke provisioning, OEMCrypto API with configured security level rather than the default. Unit tests were also revised. Note that some parts of this are also support for the ability to use a service certificate-based privacy mode. The remaining code for supporting this mode is still forthcoming. Bug: 10109249 Change-Id: I2755e4dea1de3e8a56cff237360298f7b7f1bddc
41 lines
1.4 KiB
C++
41 lines
1.4 KiB
C++
// Copyright 2013 Google Inc. All Rights Reserved.
|
|
|
|
#ifndef CDM_BASE_PROPERTIES_CONFIGURATION_H_
|
|
#define CDM_BASE_PROPERTIES_CONFIGURATION_H_
|
|
|
|
#include "wv_cdm_constants.h"
|
|
#include "properties.h"
|
|
|
|
namespace wvcdm {
|
|
|
|
// If false begin license usage on first playback
|
|
const bool kPropertyBeginLicenseUsageWhenReceived = false;
|
|
|
|
// If false, calls to Generate Key request, after the first one,
|
|
// will result in a renewal request being generated
|
|
const bool kPropertyRequireExplicitRenewRequest = false;
|
|
|
|
// Set only one of the three below to true. If secure buffer
|
|
// is selected, fallback to userspace buffers may occur
|
|
// if L1/L2 OEMCrypto APIs fail
|
|
const bool kPropertyOemCryptoUseSecureBuffers = true;
|
|
const bool kPropertyOemCryptoUseFifo = false;
|
|
const bool kPropertyOemCryptoUseUserSpaceBuffers = false;
|
|
|
|
// If false, keyboxes will be used as client identification
|
|
// and passed as the token in the license request
|
|
const bool kPropertyUseCertificatesAsIdentification = true;
|
|
|
|
// If false, extraction of widevine PSSH information from the PSSH box
|
|
// takes place external to the CDM. This will become the default behaviour
|
|
// once all platforms support it (b/9465346)
|
|
const bool kExtractPsshData = true;
|
|
|
|
// If true, session_id parameter to CdmEngine::Decrypt can be empty; the
|
|
// function will try to find out the session_id from the key_id.
|
|
const bool kDecryptWithEmptySessionSupport = false;
|
|
|
|
} // namespace wvcdm
|
|
|
|
#endif // CDM_BASE_WV_PROPERTIES_CONFIGURATION_H_
|