Source release 15.1.0
This commit is contained in:
@@ -76,13 +76,20 @@ class CDM_EXPORT Cdm : public ITimerClient {
|
||||
// that support the EME API, these codes should be handled in the system
|
||||
// layer. If it is necessary to notify the client application of one of
|
||||
// these statuses, it should be mapped to one of the exception codes defined
|
||||
// in the EME specification.
|
||||
// in the EME specification. Some of these errors are considered
|
||||
// "recoverable" in that there are specific known remedies that the client
|
||||
// may take in response to them. See the Integration Guide for further
|
||||
// information.
|
||||
kNeedsDeviceCertificate = 101,
|
||||
kSessionNotFound = 102,
|
||||
kDecryptError = 103,
|
||||
kNoKey = 104,
|
||||
kKeyUsageBlockedByPolicy = 105,
|
||||
kRangeError = 106,
|
||||
kResourceContention = 107, // Recoverable
|
||||
kSessionStateLost = 108, // Recoverable
|
||||
kSystemStateLost = 109, // Recoverable
|
||||
kOutputTooLarge = 109, // Recoverable
|
||||
|
||||
// This covers errors that we do not expect (see logs for details):
|
||||
kUnexpectedError = 99999,
|
||||
@@ -178,6 +185,13 @@ class CDM_EXPORT Cdm : public ITimerClient {
|
||||
kLicensingService = 2,
|
||||
} ServiceRole;
|
||||
|
||||
// These are the available Widevine robustness levels.
|
||||
typedef enum {
|
||||
kL1 = 1,
|
||||
kL2 = 2,
|
||||
kL3 = 3,
|
||||
} RobustnessLevel;
|
||||
|
||||
// A map of key statuses.
|
||||
// See Cdm::getKeyStatuses().
|
||||
typedef std::map<std::string, KeyStatus> KeyStatusMap;
|
||||
@@ -396,6 +410,21 @@ class CDM_EXPORT Cdm : public ITimerClient {
|
||||
ServiceRole role, const std::string& response,
|
||||
std::string* certificate) = 0;
|
||||
|
||||
// Returns the robustness level of the device, as reported by OEMCrypto. Note
|
||||
// that this function is *not* cryptographically secure and it should only be
|
||||
// relied upon for informational purposes (e.g. determining which content to
|
||||
// show in the UI) and not security purposes. (e.g. determining which content
|
||||
// to allow the device to play) *Only* secure communication between OEMCrypto
|
||||
// and the license service should be used to make security decisions.
|
||||
virtual Status getRobustnessLevel(RobustnessLevel* level) = 0;
|
||||
|
||||
// Returns the resource rating tier of the device, as reported by OEMCrypto.
|
||||
virtual Status getResourceRatingTier(uint32_t* tier) = 0;
|
||||
|
||||
// Retrieves the build information for the underlying OEMCrypto
|
||||
// implementation.
|
||||
virtual Status getOemCryptoBuildInfo(std::string* build_info) = 0;
|
||||
|
||||
// Determine if the device has a Device Certificate (for the current origin).
|
||||
// The Device Certificate is origin-specific, and the origin is
|
||||
// dertermined by the CDM's current IStorage object.
|
||||
|
||||
Reference in New Issue
Block a user