This is a merge of squashed CLs. * Cdm Session and Engine interface clean up [ Merge of http://go/wvgerrit/16387 ] Key Set Ids have been removed from the CdmSession interface (GenerateKeyRequest, Addkey) as they can be queried by an accessor. The CdmEngine interface now allows one to specify or retrieve a session ID, since both were not being used in a single call. Key set IDs are no longer returned though GenerateKeyRequest as they was not being used. * Generate key set ID when session is initialized [ Merge of http://go/wvgerrit/16370 ] Key set IDs are currently generated at different times in the CdmSession lifecycle. Android generates key set IDs when the license is received, while the CE CDM generates (or overrides them) when the session is constructed. The key set IDs are now generated when the session is initialized. Key set generation cannot occur earlier as it has a dependency on security level and in turn on crypto session initialization which occurs when the session is initialized. Depenencies on Session ID has caused other activities, construction of PolicyEngine, CdmLicense, setting property CDM client sets to be deferred from CdmSession constructor to Init(). Android will still retrieve the key set IDs after the offline license is processed. For streaming requests, the key set will be unreserved and discarded when the session is terminated. Change-Id: Ib802d1c043742d62efa9a2c901fcd113e836c33d
200 lines
9.8 KiB
C++
200 lines
9.8 KiB
C++
//
|
|
// Copyright 2013 Google Inc. All Rights Reserved.
|
|
//
|
|
|
|
#ifndef WV_ERRORS_H_
|
|
#define WV_ERRORS_H_
|
|
|
|
#include "media/stagefright/MediaErrors.h"
|
|
|
|
namespace wvdrm {
|
|
|
|
using android::ERROR_DRM_VENDOR_MIN;
|
|
using android::ERROR_DRM_VENDOR_MAX;
|
|
|
|
enum {
|
|
kErrorIncorrectBufferSize = ERROR_DRM_VENDOR_MIN,
|
|
kErrorCDMGeneric = ERROR_DRM_VENDOR_MIN + 1,
|
|
kErrorUnsupportedCrypto = ERROR_DRM_VENDOR_MIN + 2,
|
|
kErrorExpectedUnencrypted = ERROR_DRM_VENDOR_MIN + 3,
|
|
kErrorSessionIsOpen = ERROR_DRM_VENDOR_MIN + 4,
|
|
kErrorTooManySessions = ERROR_DRM_VENDOR_MIN + 5,
|
|
kErrorInvalidKey = ERROR_DRM_VENDOR_MIN + 6,
|
|
kErrorNoOriginSpecified = ERROR_DRM_VENDOR_MIN + 7,
|
|
kAddKeyError = ERROR_DRM_VENDOR_MIN + 8,
|
|
kCertProvisioningGetKeyboxError1 = ERROR_DRM_VENDOR_MIN + 9,
|
|
kCertProvisioningGetKeyboxError2 = ERROR_DRM_VENDOR_MIN + 10,
|
|
kCertProvisioningInvalidCertType = ERROR_DRM_VENDOR_MIN + 11,
|
|
kCertProvisioningRequestError1 = ERROR_DRM_VENDOR_MIN + 12,
|
|
kCertProvisioningRequestError2 = ERROR_DRM_VENDOR_MIN + 13,
|
|
kCertProvisioningRequestError3 = ERROR_DRM_VENDOR_MIN + 14,
|
|
kCertProvisioningRequestError4 = ERROR_DRM_VENDOR_MIN + 15,
|
|
kCertProvisioningResponseError1 = ERROR_DRM_VENDOR_MIN + 16,
|
|
kCertProvisioningResponseError2 = ERROR_DRM_VENDOR_MIN + 17,
|
|
kCertProvisioningResponseError3 = ERROR_DRM_VENDOR_MIN + 18,
|
|
kCertProvisioningResponseError4 = ERROR_DRM_VENDOR_MIN + 19,
|
|
kCertProvisioningResponseError5 = ERROR_DRM_VENDOR_MIN + 20,
|
|
kCertProvisioningResponseError6 = ERROR_DRM_VENDOR_MIN + 21,
|
|
kCertProvisioningResponseError7 = ERROR_DRM_VENDOR_MIN + 22,
|
|
kCertProvisioningResponseError8 = ERROR_DRM_VENDOR_MIN + 23,
|
|
kCryptoSessionOpenError1 = ERROR_DRM_VENDOR_MIN + 24,
|
|
kCryptoSessionOpenError2 = ERROR_DRM_VENDOR_MIN + 25,
|
|
kCryptoSessionOpenError3 = ERROR_DRM_VENDOR_MIN + 26,
|
|
kCryptoSessionOpenError4 = ERROR_DRM_VENDOR_MIN + 27,
|
|
kCryptoSessionOpenError5 = ERROR_DRM_VENDOR_MIN + 28,
|
|
kDecyrptNotReady = ERROR_DRM_VENDOR_MIN + 29,
|
|
kDeviceCertificateError1 = ERROR_DRM_VENDOR_MIN + 30,
|
|
kDeviceCertificateError2 = ERROR_DRM_VENDOR_MIN + 31,
|
|
kDeviceCertificateError3 = ERROR_DRM_VENDOR_MIN + 32,
|
|
kDeviceCertificateError4 = ERROR_DRM_VENDOR_MIN + 33,
|
|
kEmptyKeyData1 = ERROR_DRM_VENDOR_MIN + 34,
|
|
kEmptyKeyData2 = ERROR_DRM_VENDOR_MIN + 35,
|
|
kEmptyKeySetId = ERROR_DRM_VENDOR_MIN + 36,
|
|
kEmptyKeySetIdEng1 = ERROR_DRM_VENDOR_MIN + 37,
|
|
kEmptyKeySetIdEng2 = ERROR_DRM_VENDOR_MIN + 38,
|
|
kEmptyKeySetIdEng3 = ERROR_DRM_VENDOR_MIN + 39,
|
|
kEmptyKeySetIdEng4 = ERROR_DRM_VENDOR_MIN + 40,
|
|
kEmptyLicenseRenewal = ERROR_DRM_VENDOR_MIN + 41,
|
|
kEmptyLicenseResponse1 = ERROR_DRM_VENDOR_MIN + 42,
|
|
kEmptyLicenseResponse2 = ERROR_DRM_VENDOR_MIN + 43,
|
|
kEmptyProvisioningCertificate1 = ERROR_DRM_VENDOR_MIN + 44,
|
|
kEmptyProvisioningResponse = ERROR_DRM_VENDOR_MIN + 45,
|
|
kEmptySessionId = ERROR_DRM_VENDOR_MIN + 46,
|
|
kGenerateDerivedKeysError = ERROR_DRM_VENDOR_MIN + 47,
|
|
kLicenseRenewalNonceGenerationError = ERROR_DRM_VENDOR_MIN + 48,
|
|
kGenerateUsageReportError = ERROR_DRM_VENDOR_MIN + 49,
|
|
kGetLicenseError = ERROR_DRM_VENDOR_MIN + 50,
|
|
kGetReleasedLicenseError = ERROR_DRM_VENDOR_MIN + 51,
|
|
kGetUsageInfoError1 = ERROR_DRM_VENDOR_MIN + 52,
|
|
kGetUsageInfoError2 = ERROR_DRM_VENDOR_MIN + 53,
|
|
kGetUsageInfoError3 = ERROR_DRM_VENDOR_MIN + 54,
|
|
kGetUsageInfoError4 = ERROR_DRM_VENDOR_MIN + 55,
|
|
kInitDataNotFound = ERROR_DRM_VENDOR_MIN + 56,
|
|
kInvalidCryptoSession1 = ERROR_DRM_VENDOR_MIN + 57,
|
|
kInvalidCryptoSession2 = ERROR_DRM_VENDOR_MIN + 58,
|
|
kInvalidCryptoSession3 = ERROR_DRM_VENDOR_MIN + 59,
|
|
kInvalidCryptoSession4 = ERROR_DRM_VENDOR_MIN + 60,
|
|
kInvalidCryptoSession5 = ERROR_DRM_VENDOR_MIN + 61,
|
|
kInvalidDecryptParametersEng1 = ERROR_DRM_VENDOR_MIN + 62,
|
|
kInvalidDecryptParametersEng2 = ERROR_DRM_VENDOR_MIN + 63,
|
|
kInvalidDecryptParametersEng3 = ERROR_DRM_VENDOR_MIN + 64,
|
|
kInvalidDecryptParametersEng4 = ERROR_DRM_VENDOR_MIN + 65,
|
|
kInvalidDeviceCertificateType = ERROR_DRM_VENDOR_MIN + 66,
|
|
kInvalidKeySystem = ERROR_DRM_VENDOR_MIN + 67,
|
|
kInvalidLicenseResponse = ERROR_DRM_VENDOR_MIN + 68,
|
|
kInvalidLicenseType = ERROR_DRM_VENDOR_MIN + 69,
|
|
kInvalidParametersEng1 = ERROR_DRM_VENDOR_MIN + 70,
|
|
kInvalidParametersEng2 = ERROR_DRM_VENDOR_MIN + 71,
|
|
kInvalidParametersEng3 = ERROR_DRM_VENDOR_MIN + 72,
|
|
kInvalidParametersEng4 = ERROR_DRM_VENDOR_MIN + 73,
|
|
kInvalidParametersLic1 = ERROR_DRM_VENDOR_MIN + 74,
|
|
kInvalidParametersLic2 = ERROR_DRM_VENDOR_MIN + 75,
|
|
kInvalidProvisioningParam1 = ERROR_DRM_VENDOR_MIN + 76,
|
|
kInvalidProvisioningParam2 = ERROR_DRM_VENDOR_MIN + 77,
|
|
kInvalidProvisioningReqParam1 = ERROR_DRM_VENDOR_MIN + 78,
|
|
kInvalidProvisioningReqParam2 = ERROR_DRM_VENDOR_MIN + 79,
|
|
kInvalidQueryKey = ERROR_DRM_VENDOR_MIN + 80,
|
|
kInvalidSessionId = ERROR_DRM_VENDOR_MIN + 81,
|
|
kKeyRequestError1 = ERROR_DRM_VENDOR_MIN + 82,
|
|
kKeySizeError = ERROR_DRM_VENDOR_MIN + 84,
|
|
kKeySetIdNotFound1 = ERROR_DRM_VENDOR_MIN + 85,
|
|
kKeySetIdNotFound2 = ERROR_DRM_VENDOR_MIN + 86,
|
|
kKeySetIdNotFound3 = ERROR_DRM_VENDOR_MIN + 87,
|
|
kLicenseIdNotFound = ERROR_DRM_VENDOR_MIN + 88,
|
|
kLicenseParserInitError = ERROR_DRM_VENDOR_MIN + 89,
|
|
kLicenseParserNotInitialized1 = ERROR_DRM_VENDOR_MIN + 90,
|
|
kLicenseParserNotInitialized2 = ERROR_DRM_VENDOR_MIN + 91,
|
|
kLicenseParserNotInitialized3 = ERROR_DRM_VENDOR_MIN + 92,
|
|
kLicenseResponseNotSigned = ERROR_DRM_VENDOR_MIN + 93,
|
|
kLicenseResponseParseError1 = ERROR_DRM_VENDOR_MIN + 94,
|
|
kLicenseResponseParseError2 = ERROR_DRM_VENDOR_MIN + 95,
|
|
kLicenseResponseParseError3 = ERROR_DRM_VENDOR_MIN + 96,
|
|
kLoadKeyError = ERROR_DRM_VENDOR_MIN + 97,
|
|
kNoContentKey = ERROR_DRM_VENDOR_MIN + 98,
|
|
kProvisioningGetKeyboxError = ERROR_DRM_VENDOR_MIN + 99,
|
|
kRefreshKeysError = ERROR_DRM_VENDOR_MIN + 100,
|
|
kReleaseAllUsageInfoError1 = ERROR_DRM_VENDOR_MIN + 101,
|
|
kReleaseAllUsageInfoError2 = ERROR_DRM_VENDOR_MIN + 102,
|
|
kReleaseKeyError = ERROR_DRM_VENDOR_MIN + 103,
|
|
kReleaseKeyRequestError = ERROR_DRM_VENDOR_MIN + 104,
|
|
kReleaseLicenseError1 = ERROR_DRM_VENDOR_MIN + 105,
|
|
kReleaseLicenseError2 = ERROR_DRM_VENDOR_MIN + 106,
|
|
kReleaseUsageInfoError = ERROR_DRM_VENDOR_MIN + 107,
|
|
kRenewKeyError1 = ERROR_DRM_VENDOR_MIN + 108,
|
|
kRenewKeyError2 = ERROR_DRM_VENDOR_MIN + 109,
|
|
kLicenseRenewalSigningError = ERROR_DRM_VENDOR_MIN + 110,
|
|
kRestoreOfflineLicenseError1 = ERROR_DRM_VENDOR_MIN + 111,
|
|
kRestoreOfflineLicenseError2 = ERROR_DRM_VENDOR_MIN + 112,
|
|
kSessionInitError1 = ERROR_DRM_VENDOR_MIN + 113,
|
|
kSessionInitError2 = ERROR_DRM_VENDOR_MIN + 114,
|
|
kSessionInitGetKeyboxError = ERROR_DRM_VENDOR_MIN + 115,
|
|
kSessionNotFound1 = ERROR_DRM_VENDOR_MIN + 116,
|
|
kSessionNotFound2 = ERROR_DRM_VENDOR_MIN + 117,
|
|
kSessionNotFound3 = ERROR_DRM_VENDOR_MIN + 118,
|
|
kSessionNotFound4 = ERROR_DRM_VENDOR_MIN + 119,
|
|
kSessionNotFound5 = ERROR_DRM_VENDOR_MIN + 120,
|
|
kSessionNotFound6 = ERROR_DRM_VENDOR_MIN + 121,
|
|
kSessionNotFound7 = ERROR_DRM_VENDOR_MIN + 122,
|
|
kSessionNotFound8 = ERROR_DRM_VENDOR_MIN + 123,
|
|
kSessionNotFound9 = ERROR_DRM_VENDOR_MIN + 124,
|
|
kSessionNotFound10 = ERROR_DRM_VENDOR_MIN + 125,
|
|
kSessionKeysNotFound = ERROR_DRM_VENDOR_MIN + 126,
|
|
kSessionNotFoundForDecrypt = ERROR_DRM_VENDOR_MIN + 127,
|
|
kSignatureNotFound = ERROR_DRM_VENDOR_MIN + 128,
|
|
kStoreLicenseError1 = ERROR_DRM_VENDOR_MIN + 129,
|
|
kStoreLicenseError2 = ERROR_DRM_VENDOR_MIN + 130,
|
|
kStoreLicenseError3 = ERROR_DRM_VENDOR_MIN + 131,
|
|
kStoreUsageInfoError = ERROR_DRM_VENDOR_MIN + 132,
|
|
kUnprovisioningError1 = ERROR_DRM_VENDOR_MIN + 133,
|
|
kUnprovisioningError2 = ERROR_DRM_VENDOR_MIN + 134,
|
|
kUnprovisioningError3 = ERROR_DRM_VENDOR_MIN + 135,
|
|
kUnprovisioningError4 = ERROR_DRM_VENDOR_MIN + 136,
|
|
kUnsupportedInitData = ERROR_DRM_VENDOR_MIN + 137,
|
|
kUsageInfoNotFound = ERROR_DRM_VENDOR_MIN + 138,
|
|
kLicenseRenewalServiceCertificateGenerationError = ERROR_DRM_VENDOR_MIN + 139,
|
|
kParseServiceCertificateError = ERROR_DRM_VENDOR_MIN + 140,
|
|
kServiceCertificateTypeError = ERROR_DRM_VENDOR_MIN + 141,
|
|
kClientIdGenerateRandomError = ERROR_DRM_VENDOR_MIN + 142,
|
|
kClientIdAesInitError = ERROR_DRM_VENDOR_MIN + 143,
|
|
kClientIdAesEncryptError = ERROR_DRM_VENDOR_MIN + 144,
|
|
kClientIdRsaInitError = ERROR_DRM_VENDOR_MIN + 145,
|
|
kClientIdRsaEncryptError = ERROR_DRM_VENDOR_MIN + 146,
|
|
kInvalidQueryStatus = ERROR_DRM_VENDOR_MIN + 147,
|
|
kEmptyProvisioningCertificate2 = ERROR_DRM_VENDOR_MIN + 148,
|
|
kLicenseParserNotInitialized4 = ERROR_DRM_VENDOR_MIN + 149,
|
|
kInvalidParametersLic3 = ERROR_DRM_VENDOR_MIN + 150,
|
|
kInvalidParametersLic4 = ERROR_DRM_VENDOR_MIN + 151,
|
|
kInvalidParametersLic6 = ERROR_DRM_VENDOR_MIN + 152,
|
|
kInvalidParametersLic7 = ERROR_DRM_VENDOR_MIN + 153,
|
|
kLicenseRequestServiceCertificateGenerationError = ERROR_DRM_VENDOR_MIN + 155,
|
|
kCencInitDataUnavailable = ERROR_DRM_VENDOR_MIN + 156,
|
|
kPrepareCencContentIdFailed = ERROR_DRM_VENDOR_MIN + 157,
|
|
kWebmInitDataUnavailable = ERROR_DRM_VENDOR_MIN + 158,
|
|
kPrepareWebmContentIdFailed = ERROR_DRM_VENDOR_MIN + 159,
|
|
kUnsupportedInitDataFormat = ERROR_DRM_VENDOR_MIN + 160,
|
|
kLicenseRequestNonceGenerationError = ERROR_DRM_VENDOR_MIN + 161,
|
|
kLicenseRequestSigningError = ERROR_DRM_VENDOR_MIN + 162,
|
|
kEmptyLicenseRequest = ERROR_DRM_VENDOR_MIN + 163,
|
|
kDuplicateSessionIdSpecified = ERROR_DRM_VENDOR_MIN + 164,
|
|
kLicenseRenewalProhibited = ERROR_DRM_VENDOR_MIN + 165,
|
|
kOfflineLicenseProhibited = ERROR_DRM_VENDOR_MIN + 166,
|
|
kStorageProhibited = ERROR_DRM_VENDOR_MIN + 167,
|
|
kEmptyKeySetIdEng5 = ERROR_DRM_VENDOR_MIN + 168,
|
|
kSessionNotFound11 = ERROR_DRM_VENDOR_MIN + 169,
|
|
kLoadUsageInfoFileError = ERROR_DRM_VENDOR_MIN + 170,
|
|
kLoadUsageInfoMissing = ERROR_DRM_VENDOR_MIN + 171,
|
|
kSessionFileHandleInitError = ERROR_DRM_VENDOR_MIN + 172,
|
|
kErrorWVDrmMaxErrorUsed = ERROR_DRM_VENDOR_MIN + 172,
|
|
|
|
// Used by crypto test mode
|
|
kErrorTestMode = ERROR_DRM_VENDOR_MAX,
|
|
};
|
|
|
|
static_assert(static_cast<uint32_t>(kErrorWVDrmMaxErrorUsed) <=
|
|
static_cast<uint32_t>(ERROR_DRM_VENDOR_MAX),
|
|
"");
|
|
|
|
} // namespace wvdrm
|
|
|
|
#endif // WV_ERRORS_H_
|