[ Merge of http://go/wvgerrit/89847 ] This adds a platform specific property that allows OEMCrypto Termination calls to be delayed. On android this allows a way to avoid expensive back to back OEMCrypto_Terminate followed by Initialize calls. Bug: 136282358 Test: wv unit/integration tests Change-Id: Ie5b4ff7503dafe77d974caac9c52fc1f169dec89
50 lines
2.1 KiB
C++
50 lines
2.1 KiB
C++
// Copyright 2018 Google LLC. All Rights Reserved. This file and proprietary
|
|
// source code may only be used and distributed under the Widevine Master
|
|
// License Agreement.
|
|
|
|
#ifndef CDM_BASE_PROPERTIES_CONFIGURATION_H_
|
|
#define CDM_BASE_PROPERTIES_CONFIGURATION_H_
|
|
|
|
#include "properties.h"
|
|
#include "wv_cdm_constants.h"
|
|
|
|
namespace wvcdm {
|
|
|
|
// 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 true, provisioning messages will be binary strings (serialized protobuf
|
|
// messages). Otherwise they are base64 (web-safe) encoded, and the response
|
|
// string accepted by the CDM includes the JSON wrapper.
|
|
const bool kPropertyProvisioningMessagesAreBinary = false;
|
|
|
|
// Controls behavior when privacy mode is enabled. If true
|
|
// and a service certificate is not provided, a service certificate
|
|
// request will be generated when requested to generate a license request.
|
|
// A service certificate response will also be processed. If false,
|
|
// an error will be generated.
|
|
const bool kAllowServiceCertificateRequests = true;
|
|
|
|
// Indicates whether this platform's FileSystem abstraction maps directly to the
|
|
// device filesystem or whether there is a layer of indirection. If set to true,
|
|
// code may treat the DeviceFiles base path as a raw filesystem path.
|
|
const bool kDeviceFilesIsARealFileSystem = true;
|
|
|
|
// This controls the restoration of an offline license, on which a
|
|
// release attempt was previously made. If true, a restoration
|
|
// will be treated as a release request. If false, a restoration will fail.
|
|
const bool kAllowRestoreOfflineLicenseWithRelease = false;
|
|
|
|
// This controls whether an OEMCrypto_Terminate call is issued immediately
|
|
// after crypto session count declines to 0 or if a termination is
|
|
// delayed by a countdown timer. If false, termination is immediate.
|
|
const bool kPropertyDelayOemCryptoTermination = true;
|
|
|
|
} // namespace wvcdm
|
|
|
|
#endif // CDM_BASE_WV_PROPERTIES_CONFIGURATION_H_
|