These are a set of CLs merged from the wv cdm repo to the android repo. * Correct RELEASE_ALL_USAGE_INFO_ERRORs Author: Rahul Frias <rfrias@google.com> [ Merge of http://go/wvgerrit/28742 ] RELEASE_ALL_USAGE_INFO_ERROR_4 and 5 were introduced and made use of in http://go/wvgerrit/24022 (branch: oc-dev). The error code definitions were merged over in http://go/wvgerrit/24602. When http://go/wvgerrit/24622 from cdm_partners_3.2 was merged to master (http://go/wvgerrit/27723) there was conflict in error codes. The error codes were adjusted to RELEASE_ALL_USAGE_INFO_ERROR_3 and 4 and were made use of. To avoid renaming the errors between oc-dev and master, new errors RELEASE_ALL_USAGE_INFO_ERROR_6 and 7 have been added to handle the scenarios noted in the merge from cdm_partner_3.2. The other errors have been reverted back to RELEASE_ALL_USAGE_INFO_ERROR_4 and 5. They will be used when http://go/wvgerrit/24602 is merged. * Address compilation issues Author: Rahul Frias <rfrias@google.com> [ Merge of http://go/wvgerrit/28740 ] These changes enable compilation of most of the cdm code on android expect for OEMCrypto unit tests (b/62739406) on wv master. * Add property for binary/base64 provisioning msgs. Author: Gene Morgan <gmorgan@google.com> [ Merge of http://go/wvgerrit/28074 ] Property is "provisioning_messages_are_binary". Its default setting is false in the CE CDM, but it can be overridden by integrators. Added section to integration guide that discusses Provisioning Server message formats and the new property. Link: https://docs.google.com/document/d/1cBVbhgrajLpDe2W3_vzLzUqzpdDt73chvm4_sZlZlS8/edit#heading=h.hgxw53ddw7jo BUG: 71650075 Test: Not currently passing. Will be addressed in a subsequent commit in the chain. Change-Id: I9168193819974d1ff65d9a94dbd762e45ecc43ca
336 lines
13 KiB
C++
336 lines
13 KiB
C++
//
|
|
// Copyright 2017 Google Inc. All Rights Reserved.
|
|
//
|
|
|
|
#ifndef WV_MAP_ERRORS_H_
|
|
#define WV_MAP_ERRORS_H_
|
|
|
|
#include "media/stagefright/MediaErrors.h"
|
|
#include "utils/Errors.h"
|
|
#include "wv_cdm_types.h"
|
|
#include "WVErrors.h"
|
|
|
|
namespace wvdrm {
|
|
|
|
using ::android::hardware::drm::V1_0::Status;
|
|
|
|
static Status mapCdmResponseType(wvcdm::CdmResponseType res) {
|
|
switch (res) {
|
|
case wvcdm::KEY_ADDED:
|
|
case wvcdm::KEY_MESSAGE:
|
|
case wvcdm::KEY_CANCELED:
|
|
// KEY_ADDED, KEY_MESSAGE, and KEY_CANCELLED are all alternative
|
|
// success messages for certain CDM methods instead of NO_ERROR.
|
|
case wvcdm::NO_ERROR:
|
|
return Status::OK;
|
|
|
|
case wvcdm::DECRYPT_NOT_READY:
|
|
case wvcdm::KEY_NOT_FOUND_IN_SESSION:
|
|
case wvcdm::NEED_KEY:
|
|
return Status::ERROR_DRM_NO_LICENSE;
|
|
|
|
case wvcdm::NEED_PROVISIONING:
|
|
return Status::ERROR_DRM_NOT_PROVISIONED;
|
|
|
|
case wvcdm::DEVICE_REVOKED:
|
|
return Status::ERROR_DRM_DEVICE_REVOKED;
|
|
|
|
case wvcdm::INSUFFICIENT_CRYPTO_RESOURCES:
|
|
return Status::ERROR_DRM_RESOURCE_BUSY;
|
|
|
|
case wvcdm::RELEASE_USAGE_INFO_ERROR:
|
|
case wvcdm::RELEASE_USAGE_INFO_FAILED:
|
|
return Status::ERROR_DRM_INVALID_STATE;
|
|
|
|
case wvcdm::SESSION_NOT_FOUND_FOR_DECRYPT:
|
|
case wvcdm::SESSION_NOT_FOUND_1:
|
|
case wvcdm::SESSION_NOT_FOUND_2:
|
|
case wvcdm::SESSION_NOT_FOUND_3:
|
|
case wvcdm::SESSION_NOT_FOUND_4:
|
|
case wvcdm::SESSION_NOT_FOUND_5:
|
|
case wvcdm::SESSION_NOT_FOUND_6:
|
|
case wvcdm::SESSION_NOT_FOUND_7:
|
|
case wvcdm::SESSION_NOT_FOUND_8:
|
|
case wvcdm::SESSION_NOT_FOUND_9:
|
|
case wvcdm::SESSION_NOT_FOUND_10:
|
|
return Status::ERROR_DRM_SESSION_NOT_OPENED;
|
|
|
|
case wvcdm::DECRYPT_ERROR:
|
|
case wvcdm::SECURE_BUFFER_REQUIRED:
|
|
return Status::ERROR_DRM_CANNOT_HANDLE;
|
|
|
|
case wvcdm::ANALOG_OUTPUT_ERROR:
|
|
case wvcdm::KEY_PROHIBITED_FOR_SECURITY_LEVEL:
|
|
case wvcdm::INSUFFICIENT_OUTPUT_PROTECTION:
|
|
return Status::ERROR_DRM_INSUFFICIENT_OUTPUT_PROTECTION;
|
|
|
|
// The following cases follow the order in wv_cdm_types.h
|
|
// to make it easier to keep track of newly defined errors.
|
|
case wvcdm::KEY_ERROR:
|
|
case wvcdm::ADD_KEY_ERROR:
|
|
case wvcdm::CERT_PROVISIONING_GET_KEYBOX_ERROR_1:
|
|
case wvcdm::CERT_PROVISIONING_GET_KEYBOX_ERROR_2:
|
|
case wvcdm::CERT_PROVISIONING_INVALID_CERT_TYPE:
|
|
case wvcdm::CERT_PROVISIONING_REQUEST_ERROR_1:
|
|
case wvcdm::CERT_PROVISIONING_NONCE_GENERATION_ERROR:
|
|
case wvcdm::CERT_PROVISIONING_REQUEST_ERROR_3:
|
|
case wvcdm::CERT_PROVISIONING_REQUEST_ERROR_4:
|
|
case wvcdm::CERT_PROVISIONING_RESPONSE_ERROR_1:
|
|
case wvcdm::CERT_PROVISIONING_RESPONSE_ERROR_2:
|
|
case wvcdm::CERT_PROVISIONING_RESPONSE_ERROR_3:
|
|
case wvcdm::CERT_PROVISIONING_RESPONSE_ERROR_4:
|
|
case wvcdm::CERT_PROVISIONING_RESPONSE_ERROR_5:
|
|
case wvcdm::CERT_PROVISIONING_RESPONSE_ERROR_6:
|
|
case wvcdm::CERT_PROVISIONING_RESPONSE_ERROR_7:
|
|
case wvcdm::CERT_PROVISIONING_RESPONSE_ERROR_8:
|
|
case wvcdm::CRYPTO_SESSION_OPEN_ERROR_1:
|
|
case wvcdm::CRYPTO_SESSION_OPEN_ERROR_2:
|
|
case wvcdm::CRYPTO_SESSION_OPEN_ERROR_3:
|
|
case wvcdm::CRYPTO_SESSION_OPEN_ERROR_4:
|
|
case wvcdm::CRYPTO_SESSION_OPEN_ERROR_5:
|
|
case wvcdm::DEVICE_CERTIFICATE_ERROR_1:
|
|
case wvcdm::DEVICE_CERTIFICATE_ERROR_2:
|
|
case wvcdm::DEVICE_CERTIFICATE_ERROR_3:
|
|
case wvcdm::DEVICE_CERTIFICATE_ERROR_4:
|
|
case wvcdm::EMPTY_KEY_DATA_1:
|
|
case wvcdm::EMPTY_KEY_DATA_2:
|
|
case wvcdm::EMPTY_KEYSET_ID:
|
|
case wvcdm::EMPTY_KEYSET_ID_ENG_1:
|
|
case wvcdm::EMPTY_KEYSET_ID_ENG_2:
|
|
case wvcdm::EMPTY_KEYSET_ID_ENG_3:
|
|
case wvcdm::EMPTY_KEYSET_ID_ENG_4:
|
|
case wvcdm::EMPTY_LICENSE_RENEWAL:
|
|
case wvcdm::EMPTY_LICENSE_RESPONSE_1:
|
|
case wvcdm::EMPTY_LICENSE_RESPONSE_2:
|
|
case wvcdm::EMPTY_PROVISIONING_CERTIFICATE_1:
|
|
case wvcdm::EMPTY_PROVISIONING_RESPONSE:
|
|
case wvcdm::EMPTY_SESSION_ID:
|
|
case wvcdm::GENERATE_DERIVED_KEYS_ERROR:
|
|
case wvcdm::LICENSE_RENEWAL_NONCE_GENERATION_ERROR:
|
|
case wvcdm::GENERATE_USAGE_REPORT_ERROR:
|
|
case wvcdm::GET_LICENSE_ERROR:
|
|
case wvcdm::GET_RELEASED_LICENSE_ERROR:
|
|
case wvcdm::GET_USAGE_INFO_ERROR_1:
|
|
case wvcdm::GET_USAGE_INFO_ERROR_2:
|
|
case wvcdm::GET_USAGE_INFO_ERROR_3:
|
|
case wvcdm::GET_USAGE_INFO_ERROR_4:
|
|
case wvcdm::INIT_DATA_NOT_FOUND:
|
|
case wvcdm::INVALID_CRYPTO_SESSION_1:
|
|
case wvcdm::INVALID_CRYPTO_SESSION_2:
|
|
case wvcdm::INVALID_CRYPTO_SESSION_3:
|
|
case wvcdm::INVALID_CRYPTO_SESSION_4:
|
|
case wvcdm::INVALID_CRYPTO_SESSION_5:
|
|
case wvcdm::INVALID_DECRYPT_PARAMETERS_ENG_1:
|
|
case wvcdm::INVALID_DECRYPT_PARAMETERS_ENG_2:
|
|
case wvcdm::INVALID_DECRYPT_PARAMETERS_ENG_3:
|
|
case wvcdm::INVALID_DECRYPT_PARAMETERS_ENG_4:
|
|
case wvcdm::INVALID_DEVICE_CERTIFICATE_TYPE:
|
|
case wvcdm::INVALID_KEY_SYSTEM:
|
|
case wvcdm::INVALID_LICENSE_RESPONSE:
|
|
case wvcdm::INVALID_LICENSE_TYPE:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_1:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_2:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_3:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_4:
|
|
case wvcdm::INVALID_PARAMETERS_LIC_1:
|
|
case wvcdm::INVALID_PARAMETERS_LIC_2:
|
|
case wvcdm::INVALID_PROVISIONING_PARAMETERS_1:
|
|
case wvcdm::INVALID_PROVISIONING_PARAMETERS_2:
|
|
case wvcdm::INVALID_PROVISIONING_REQUEST_PARAM_1:
|
|
case wvcdm::INVALID_PROVISIONING_REQUEST_PARAM_2:
|
|
case wvcdm::INVALID_QUERY_KEY:
|
|
case wvcdm::INVALID_SESSION_ID:
|
|
case wvcdm::KEY_REQUEST_ERROR_1:
|
|
case wvcdm::KEY_SIZE_ERROR:
|
|
case wvcdm::KEYSET_ID_NOT_FOUND_1:
|
|
case wvcdm::KEYSET_ID_NOT_FOUND_2:
|
|
case wvcdm::KEYSET_ID_NOT_FOUND_3:
|
|
case wvcdm::LICENSE_ID_NOT_FOUND:
|
|
case wvcdm::LICENSE_PARSER_INIT_ERROR:
|
|
case wvcdm::LICENSE_PARSER_NOT_INITIALIZED_1:
|
|
case wvcdm::LICENSE_PARSER_NOT_INITIALIZED_2:
|
|
case wvcdm::LICENSE_PARSER_NOT_INITIALIZED_3:
|
|
case wvcdm::LICENSE_RESPONSE_NOT_SIGNED:
|
|
case wvcdm::LICENSE_RESPONSE_PARSE_ERROR_1:
|
|
case wvcdm::LICENSE_RESPONSE_PARSE_ERROR_2:
|
|
case wvcdm::LICENSE_RESPONSE_PARSE_ERROR_3:
|
|
case wvcdm::LOAD_KEY_ERROR:
|
|
case wvcdm::NO_CONTENT_KEY:
|
|
case wvcdm::REFRESH_KEYS_ERROR:
|
|
case wvcdm::RELEASE_ALL_USAGE_INFO_ERROR_1:
|
|
case wvcdm::RELEASE_ALL_USAGE_INFO_ERROR_2:
|
|
case wvcdm::RELEASE_KEY_ERROR:
|
|
case wvcdm::RELEASE_KEY_REQUEST_ERROR:
|
|
case wvcdm::RELEASE_LICENSE_ERROR_1:
|
|
case wvcdm::RELEASE_LICENSE_ERROR_2:
|
|
case wvcdm::RENEW_KEY_ERROR_1:
|
|
case wvcdm::RENEW_KEY_ERROR_2:
|
|
case wvcdm::LICENSE_RENEWAL_SIGNING_ERROR:
|
|
case wvcdm::RESTORE_OFFLINE_LICENSE_ERROR_2:
|
|
case wvcdm::SESSION_INIT_ERROR_1:
|
|
case wvcdm::SESSION_INIT_ERROR_2:
|
|
case wvcdm::SESSION_KEYS_NOT_FOUND:
|
|
case wvcdm::SIGNATURE_NOT_FOUND:
|
|
case wvcdm::STORE_LICENSE_ERROR_1:
|
|
case wvcdm::STORE_LICENSE_ERROR_2:
|
|
case wvcdm::STORE_USAGE_INFO_ERROR:
|
|
case wvcdm::UNPROVISION_ERROR_1:
|
|
case wvcdm::UNPROVISION_ERROR_2:
|
|
case wvcdm::UNPROVISION_ERROR_3:
|
|
case wvcdm::UNPROVISION_ERROR_4:
|
|
case wvcdm::UNSUPPORTED_INIT_DATA:
|
|
case wvcdm::USAGE_INFO_NOT_FOUND:
|
|
case wvcdm::PARSE_SERVICE_CERTIFICATE_ERROR:
|
|
case wvcdm::CLIENT_ID_GENERATE_RANDOM_ERROR:
|
|
case wvcdm::CLIENT_ID_AES_INIT_ERROR:
|
|
case wvcdm::CLIENT_ID_AES_ENCRYPT_ERROR:
|
|
case wvcdm::CLIENT_ID_RSA_INIT_ERROR:
|
|
case wvcdm::CLIENT_ID_RSA_ENCRYPT_ERROR:
|
|
case wvcdm::INVALID_QUERY_STATUS:
|
|
case wvcdm::LICENSE_PARSER_NOT_INITIALIZED_4:
|
|
case wvcdm::INVALID_PARAMETERS_LIC_3:
|
|
case wvcdm::INVALID_PARAMETERS_LIC_4:
|
|
case wvcdm::INVALID_PARAMETERS_LIC_6:
|
|
case wvcdm::INVALID_PARAMETERS_LIC_7:
|
|
case wvcdm::CENC_INIT_DATA_UNAVAILABLE:
|
|
case wvcdm::PREPARE_CENC_CONTENT_ID_FAILED:
|
|
case wvcdm::WEBM_INIT_DATA_UNAVAILABLE:
|
|
case wvcdm::PREPARE_WEBM_CONTENT_ID_FAILED:
|
|
case wvcdm::UNSUPPORTED_INIT_DATA_FORMAT:
|
|
case wvcdm::LICENSE_REQUEST_NONCE_GENERATION_ERROR:
|
|
case wvcdm::LICENSE_REQUEST_SIGNING_ERROR:
|
|
case wvcdm::EMPTY_LICENSE_REQUEST:
|
|
case wvcdm::DUPLICATE_SESSION_ID_SPECIFIED:
|
|
case wvcdm::LICENSE_RENEWAL_PROHIBITED:
|
|
case wvcdm::EMPTY_PROVISIONING_CERTIFICATE_2:
|
|
case wvcdm::OFFLINE_LICENSE_PROHIBITED:
|
|
case wvcdm::STORAGE_PROHIBITED:
|
|
case wvcdm::EMPTY_KEYSET_ID_ENG_5:
|
|
case wvcdm::SESSION_NOT_FOUND_11:
|
|
case wvcdm::LOAD_USAGE_INFO_FILE_ERROR:
|
|
case wvcdm::LOAD_USAGE_INFO_MISSING:
|
|
case wvcdm::SESSION_FILE_HANDLE_INIT_ERROR:
|
|
case wvcdm::INCORRECT_CRYPTO_MODE:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_5:
|
|
case wvcdm::SESSION_NOT_FOUND_12:
|
|
case wvcdm::KEY_NOT_FOUND_1:
|
|
case wvcdm::KEY_NOT_FOUND_2:
|
|
case wvcdm::KEY_CONFLICT_1:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_6:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_7:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_8:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_9:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_10:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_11:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_12:
|
|
case wvcdm::SESSION_NOT_FOUND_13:
|
|
case wvcdm::SESSION_NOT_FOUND_14:
|
|
case wvcdm::SESSION_NOT_FOUND_15:
|
|
case wvcdm::SESSION_NOT_FOUND_16:
|
|
case wvcdm::KEY_NOT_FOUND_3:
|
|
case wvcdm::KEY_NOT_FOUND_4:
|
|
case wvcdm::KEY_NOT_FOUND_5:
|
|
case wvcdm::KEY_NOT_FOUND_6:
|
|
case wvcdm::INVALID_SESSION_1:
|
|
case wvcdm::NO_DEVICE_KEY_1:
|
|
case wvcdm::NO_CONTENT_KEY_2:
|
|
case wvcdm::INSUFFICIENT_CRYPTO_RESOURCES_2:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_13:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_14:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_15:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_16:
|
|
case wvcdm::CERT_PROVISIONING_CLIENT_TOKEN_ERROR_1:
|
|
case wvcdm::CERT_PROVISIONING_CLIENT_TOKEN_ERROR_2:
|
|
case wvcdm::LICENSING_CLIENT_TOKEN_ERROR_1:
|
|
case wvcdm::UNKNOWN_SELECT_KEY_ERROR_1:
|
|
case wvcdm::UNKNOWN_SELECT_KEY_ERROR_2:
|
|
case wvcdm::CREATE_USAGE_TABLE_ERROR:
|
|
case wvcdm::LOAD_USAGE_HEADER_GENERATION_SKEW:
|
|
case wvcdm::LOAD_USAGE_HEADER_SIGNATURE_FAILURE:
|
|
case wvcdm::LOAD_USAGE_HEADER_BAD_MAGIC:
|
|
case wvcdm::LOAD_USAGE_HEADER_UNKNOWN_ERROR:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_17:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_18:
|
|
case wvcdm::INSUFFICIENT_CRYPTO_RESOURCES_3:
|
|
case wvcdm::CREATE_USAGE_ENTRY_UNKNOWN_ERROR:
|
|
case wvcdm::LOAD_USAGE_ENTRY_GENERATION_SKEW:
|
|
case wvcdm::LOAD_USAGE_ENTRY_SIGNATURE_FAILURE:
|
|
case wvcdm::LOAD_USAGE_ENTRY_UNKNOWN_ERROR:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_19:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_20:
|
|
case wvcdm::UPDATE_USAGE_ENTRY_UNKNOWN_ERROR:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_21:
|
|
case wvcdm::SHRINK_USAGE_TABLER_HEADER_UNKNOWN_ERROR:
|
|
case wvcdm::MOVE_USAGE_ENTRY_UNKNOWN_ERROR:
|
|
case wvcdm::COPY_OLD_USAGE_ENTRY_UNKNOWN_ERROR:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_22:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_23:
|
|
case wvcdm::USAGE_INFORMATION_SUPPORT_FAILED:
|
|
case wvcdm::USAGE_SUPPORT_GET_API_FAILED:
|
|
case wvcdm::UNEXPECTED_EMPTY_USAGE_ENTRY:
|
|
case wvcdm::INVALID_USAGE_ENTRY_NUMBER_MODIFICATION:
|
|
case wvcdm::USAGE_INVALID_NEW_ENTRY:
|
|
case wvcdm::USAGE_INVALID_PARAMETERS_1:
|
|
case wvcdm::USAGE_ENTRY_NUMBER_MISMATCH:
|
|
case wvcdm::USAGE_STORE_LICENSE_FAILED:
|
|
case wvcdm::USAGE_STORE_USAGE_INFO_FAILED:
|
|
case wvcdm::USAGE_INVALID_LOAD_ENTRY:
|
|
case wvcdm::RELEASE_ALL_USAGE_INFO_ERROR_4:
|
|
case wvcdm::INCORRECT_USAGE_SUPPORT_TYPE_1:
|
|
case wvcdm::INCORRECT_USAGE_SUPPORT_TYPE_2:
|
|
case wvcdm::NO_USAGE_ENTRIES:
|
|
case wvcdm::LIST_USAGE_ERROR_1:
|
|
case wvcdm::LIST_USAGE_ERROR_2:
|
|
case wvcdm::DELETE_USAGE_ERROR_1:
|
|
case wvcdm::DELETE_USAGE_ERROR_2:
|
|
case wvcdm::DELETE_USAGE_ERROR_3:
|
|
case wvcdm::LIST_LICENSE_ERROR_1:
|
|
case wvcdm::LIST_LICENSE_ERROR_2:
|
|
case wvcdm::PRIVACY_MODE_ERROR_1:
|
|
case wvcdm::PRIVACY_MODE_ERROR_2:
|
|
case wvcdm::PRIVACY_MODE_ERROR_3:
|
|
case wvcdm::EMPTY_RESPONSE_ERROR_1:
|
|
case wvcdm::INVALID_PARAMETERS_ENG_24:
|
|
case wvcdm::PARSE_RESPONSE_ERROR_1:
|
|
case wvcdm::PARSE_RESPONSE_ERROR_2:
|
|
case wvcdm::PARSE_RESPONSE_ERROR_3:
|
|
case wvcdm::PARSE_RESPONSE_ERROR_4:
|
|
case wvcdm::USAGE_GET_ENTRY_RETRIEVE_INVALID_STORAGE_TYPE:
|
|
case wvcdm::USAGE_GET_ENTRY_RETRIEVE_LICENSE_FAILED:
|
|
case wvcdm::USAGE_GET_ENTRY_RETRIEVE_USAGE_INFO_FAILED:
|
|
case wvcdm::USAGE_STORE_ENTRY_RETRIEVE_LICENSE_FAILED:
|
|
case wvcdm::USAGE_STORE_ENTRY_RETRIEVE_USAGE_INFO_FAILED:
|
|
case wvcdm::USAGE_STORE_ENTRY_RETRIEVE_INVALID_STORAGE_TYPE:
|
|
case wvcdm::RELEASE_ALL_USAGE_INFO_ERROR_5:
|
|
case wvcdm::RELEASE_ALL_USAGE_INFO_ERROR_6:
|
|
case wvcdm::RELEASE_ALL_USAGE_INFO_ERROR_7:
|
|
ALOGW("Returns UNKNOWN error for legacy status: %d", res);
|
|
return Status::ERROR_DRM_UNKNOWN;
|
|
|
|
case wvcdm::UNKNOWN_ERROR:
|
|
case wvcdm::UNUSED_1:
|
|
case wvcdm::UNUSED_2:
|
|
case wvcdm::UNUSED_3:
|
|
case wvcdm::UNUSED_4:
|
|
case wvcdm::UNUSED_5:
|
|
case wvcdm::UNUSED_6:
|
|
case wvcdm::UNUSED_7:
|
|
case wvcdm::UNUSED_8:
|
|
case wvcdm::UNUSED_9:
|
|
case wvcdm::UNUSED_10:
|
|
return Status::ERROR_DRM_UNKNOWN;
|
|
}
|
|
|
|
// Return here instead of as a default case so that the compiler will warn
|
|
// us if we forget to include an enum member in the switch statement.
|
|
return Status::ERROR_DRM_UNKNOWN;
|
|
}
|
|
|
|
static inline bool isCdmResponseTypeSuccess(wvcdm::CdmResponseType res) {
|
|
return mapCdmResponseType(res) == Status::OK;
|
|
}
|
|
|
|
} // namespace wvdrm
|
|
|
|
#endif // WV_MAP_ERRORS_H_
|