Files
android/libwvdrmengine/cdm/include/properties_configuration.h
Rahul Frias 068035140b Delay OEMCrypto Termination
[ 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
2020-02-15 01:34:02 -08:00

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_