[ Merge of http://go/wvgerrit/102109 ] The CDM was using unique CDM error codes for the various cases where OEMCrypto would return INSUFFICIENT_RESOURCE. However, these error codes were being incorrectly mapped at the Android level, resulting in incorrect errors in the MediaDRM layer. At no point does the CDM handle different INSUFFICIENT_RESOURCE_x within the same case, as such the use of unique codes are limited. This CL removes the unique codes, and unifies them under the same CDM error code. This CL also extends SelectKey to handle error codes returned by LoadEntitledContentKeys. Bug: 154682842 Test: Unit tests Change-Id: I319fabf6cac60b0dc19ea891609689daeeaeb435
1191 lines
34 KiB
C++
1191 lines
34 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.
|
|
// This file adds some print methods so that when unit tests fail, the
|
|
// will print the name of an enumeration instead of the numeric value.
|
|
|
|
#include "test_printers.h"
|
|
|
|
namespace wvcdm {
|
|
|
|
void PrintTo(const enum CdmResponseType& value, ::std::ostream* os) {
|
|
switch (value) {
|
|
case NO_ERROR:
|
|
*os << "NO_ERROR";
|
|
break;
|
|
case UNKNOWN_ERROR:
|
|
*os << "UNKNOWN_ERROR";
|
|
break;
|
|
// Remaining codes are order alphabetically.
|
|
case ADD_KEY_ERROR:
|
|
*os << "ADD_KEY_ERROR";
|
|
break;
|
|
case ANALOG_OUTPUT_ERROR:
|
|
*os << "ANALOG_OUTPUT_ERROR";
|
|
break;
|
|
case CANNOT_DECRYPT_ZERO_SAMPLES:
|
|
*os << "CANNOT_DECRYPT_ZERO_SAMPLES";
|
|
break;
|
|
case CANNOT_DECRYPT_ZERO_SUBSAMPLES:
|
|
*os << "CANNOT_DECRYPT_ZERO_SUBSAMPLES";
|
|
break;
|
|
case CENC_INIT_DATA_UNAVAILABLE:
|
|
*os << "CENC_INIT_DATA_UNAVAILABLE";
|
|
break;
|
|
case CERT_PROVISIONING_EMPTY_SERVICE_CERTIFICATE:
|
|
*os << "CERT_PROVISIONING_EMPTY_SERVICE_CERTIFICATE";
|
|
break;
|
|
case CERT_PROVISIONING_GET_KEYBOX_ERROR_1:
|
|
*os << "CERT_PROVISIONING_GET_KEYBOX_ERROR_1";
|
|
break;
|
|
case CERT_PROVISIONING_INVALID_CERT_TYPE:
|
|
*os << "CERT_PROVISIONING_INVALID_CERT_TYPE";
|
|
break;
|
|
case CERT_PROVISIONING_NONCE_GENERATION_ERROR:
|
|
*os << "CERT_PROVISIONING_NONCE_GENERATION_ERROR";
|
|
break;
|
|
case CERT_PROVISIONING_REQUEST_ERROR_1:
|
|
*os << "CERT_PROVISIONING_REQUEST_ERROR_1";
|
|
break;
|
|
case CERT_PROVISIONING_REQUEST_ERROR_4:
|
|
*os << "CERT_PROVISIONING_REQUEST_ERROR_4";
|
|
break;
|
|
case CERT_PROVISIONING_RESPONSE_ERROR_1:
|
|
*os << "CERT_PROVISIONING_RESPONSE_ERROR_1";
|
|
break;
|
|
case CERT_PROVISIONING_RESPONSE_ERROR_2:
|
|
*os << "CERT_PROVISIONING_RESPONSE_ERROR_2";
|
|
break;
|
|
case CERT_PROVISIONING_RESPONSE_ERROR_3:
|
|
*os << "CERT_PROVISIONING_RESPONSE_ERROR_3";
|
|
break;
|
|
case CERT_PROVISIONING_RESPONSE_ERROR_4:
|
|
*os << "CERT_PROVISIONING_RESPONSE_ERROR_4";
|
|
break;
|
|
case CERT_PROVISIONING_RESPONSE_ERROR_7:
|
|
*os << "CERT_PROVISIONING_RESPONSE_ERROR_7";
|
|
break;
|
|
case CERT_PROVISIONING_RESPONSE_ERROR_8:
|
|
*os << "CERT_PROVISIONING_RESPONSE_ERROR_8";
|
|
break;
|
|
case CLIENT_ID_AES_ENCRYPT_ERROR:
|
|
*os << "CLIENT_ID_AES_ENCRYPT_ERROR";
|
|
break;
|
|
case CLIENT_ID_AES_INIT_ERROR:
|
|
*os << "CLIENT_ID_AES_INIT_ERROR";
|
|
break;
|
|
case CLIENT_IDENTIFICATION_TOKEN_ERROR_1:
|
|
*os << "CLIENT_IDENTIFICATION_TOKEN_ERROR_1";
|
|
break;
|
|
case CLIENT_ID_GENERATE_RANDOM_ERROR:
|
|
*os << "CLIENT_ID_GENERATE_RANDOM_ERROR";
|
|
break;
|
|
case CLIENT_ID_RSA_ENCRYPT_ERROR:
|
|
*os << "CLIENT_ID_RSA_ENCRYPT_ERROR";
|
|
break;
|
|
case CLIENT_ID_RSA_INIT_ERROR:
|
|
*os << "CLIENT_ID_RSA_INIT_ERROR";
|
|
break;
|
|
case COPY_OLD_USAGE_ENTRY_UNKNOWN_ERROR:
|
|
*os << "COPY_OLD_USAGE_ENTRY_UNKNOWN_ERROR";
|
|
break;
|
|
case CORE_MESSAGE_NOT_FOUND:
|
|
*os << "CORE_MESSAGE_NOT_FOUND";
|
|
break;
|
|
case CREATE_USAGE_ENTRY_UNKNOWN_ERROR:
|
|
*os << "CREATE_USAGE_ENTRY_UNKNOWN_ERROR";
|
|
break;
|
|
case CREATE_USAGE_TABLE_ERROR:
|
|
*os << "CREATE_USAGE_TABLE_ERROR";
|
|
break;
|
|
case CRYPTO_SESSION_NOT_INITIALIZED:
|
|
*os << "CRYPTO_SESSION_NOT_INITIALIZED";
|
|
break;
|
|
case CRYPTO_SESSION_NOT_OPEN:
|
|
*os << "CRYPTO_SESSION_NOT_OPEN";
|
|
break;
|
|
case DEACTIVATE_USAGE_ENTRY_ERROR:
|
|
*os << "DEACTIVATE_USAGE_ENTRY_ERROR";
|
|
break;
|
|
case DECRYPT_ERROR:
|
|
*os << "DECRYPT_ERROR";
|
|
break;
|
|
case DECRYPT_NOT_READY:
|
|
*os << "DECRYPT_NOT_READY";
|
|
break;
|
|
case DELETE_USAGE_ERROR_1:
|
|
*os << "DELETE_USAGE_ERROR_1";
|
|
break;
|
|
case DELETE_USAGE_ERROR_2:
|
|
*os << "DELETE_USAGE_ERROR_2";
|
|
break;
|
|
case DELETE_USAGE_ERROR_3:
|
|
*os << "DELETE_USAGE_ERROR_3";
|
|
break;
|
|
case DEVICE_CANNOT_REPROVISION:
|
|
*os << "DEVICE_CANNOT_REPROVISION";
|
|
break;
|
|
case DEVICE_CERTIFICATE_ERROR_1:
|
|
*os << "DEVICE_CERTIFICATE_ERROR_1";
|
|
break;
|
|
case DEVICE_CERTIFICATE_ERROR_2:
|
|
*os << "DEVICE_CERTIFICATE_ERROR_2";
|
|
break;
|
|
case DEVICE_CERTIFICATE_ERROR_3:
|
|
*os << "DEVICE_CERTIFICATE_ERROR_3";
|
|
break;
|
|
case DEVICE_CERTIFICATE_ERROR_4:
|
|
*os << "DEVICE_CERTIFICATE_ERROR_4";
|
|
break;
|
|
case DEVICE_REVOKED:
|
|
*os << "DEVICE_REVOKED";
|
|
break;
|
|
case DUPLICATE_SESSION_ID_SPECIFIED:
|
|
*os << "DUPLICATE_SESSION_ID_SPECIFIED";
|
|
break;
|
|
case EMPTY_KEY_DATA_1:
|
|
*os << "EMPTY_KEY_DATA_1";
|
|
break;
|
|
case EMPTY_KEY_DATA_2:
|
|
*os << "EMPTY_KEY_DATA_2";
|
|
break;
|
|
case EMPTY_KEYSET_ID:
|
|
*os << "EMPTY_KEYSET_ID";
|
|
break;
|
|
case EMPTY_KEYSET_ID_ENG_1:
|
|
*os << "EMPTY_KEYSET_ID_ENG_1";
|
|
break;
|
|
case EMPTY_KEYSET_ID_ENG_2:
|
|
*os << "EMPTY_KEYSET_ID_ENG_2";
|
|
break;
|
|
case EMPTY_KEYSET_ID_ENG_3:
|
|
*os << "EMPTY_KEYSET_ID_ENG_3";
|
|
break;
|
|
case EMPTY_KEYSET_ID_ENG_4:
|
|
*os << "EMPTY_KEYSET_ID_ENG_4";
|
|
break;
|
|
case EMPTY_LICENSE_RENEWAL:
|
|
*os << "EMPTY_LICENSE_RENEWAL";
|
|
break;
|
|
case EMPTY_LICENSE_REQUEST:
|
|
*os << "EMPTY_LICENSE_REQUEST";
|
|
break;
|
|
case EMPTY_LICENSE_REQUEST_2:
|
|
*os << "EMPTY_LICENSE_REQUEST_2";
|
|
break;
|
|
case EMPTY_LICENSE_REQUEST_3:
|
|
*os << "EMPTY_LICENSE_REQUEST_3";
|
|
break;
|
|
case EMPTY_LICENSE_RESPONSE_1:
|
|
*os << "EMPTY_LICENSE_RESPONSE_1";
|
|
break;
|
|
case EMPTY_LICENSE_RESPONSE_2:
|
|
*os << "EMPTY_LICENSE_RESPONSE_2";
|
|
break;
|
|
case EMPTY_LICENSE_RESPONSE_3:
|
|
*os << "EMPTY_LICENSE_RESPONSE_3";
|
|
break;
|
|
case EMPTY_LICENSE_RESPONSE_4:
|
|
*os << "EMPTY_LICENSE_RESPONSE_4";
|
|
break;
|
|
case EMPTY_PROVISIONING_CERTIFICATE_1:
|
|
*os << "EMPTY_PROVISIONING_CERTIFICATE_1";
|
|
break;
|
|
case EMPTY_PROVISIONING_CERTIFICATE_2:
|
|
*os << "EMPTY_PROVISIONING_CERTIFICATE_2";
|
|
break;
|
|
case EMPTY_PROVISIONING_RESPONSE:
|
|
*os << "EMPTY_PROVISIONING_RESPONSE";
|
|
break;
|
|
case EMPTY_RESPONSE_ERROR_1:
|
|
*os << "EMPTY_RESPONSE_ERROR_1";
|
|
break;
|
|
case EMPTY_SESSION_ID:
|
|
*os << "EMPTY_SESSION_ID";
|
|
break;
|
|
case EXTRACT_SYSTEM_ID_FROM_OEM_CERT_ERROR:
|
|
*os << "EXTRACT_SYSTEM_ID_FROM_OEM_CERT_ERROR";
|
|
break;
|
|
case GENERATE_DERIVED_KEYS_ERROR:
|
|
*os << "GENERATE_DERIVED_KEYS_ERROR";
|
|
break;
|
|
case GENERATE_DERIVED_KEYS_ERROR_2:
|
|
*os << "GENERATE_DERIVED_KEYS_ERROR_2";
|
|
break;
|
|
case GENERATE_SIGNATURE_ERROR:
|
|
*os << "GENERATE_SIGNATURE_ERROR";
|
|
break;
|
|
case GENERATE_USAGE_REPORT_ERROR:
|
|
*os << "GENERATE_USAGE_REPORT_ERROR";
|
|
break;
|
|
case GET_DECRYPT_HASH_ERROR:
|
|
*os << "GET_DECRYPT_HASH_ERROR";
|
|
break;
|
|
case GET_DEVICE_ID_ERROR:
|
|
*os << "GET_DEVICE_ID_ERROR";
|
|
break;
|
|
case GET_HDCP_CAPABILITY_FAILED:
|
|
*os << "GET_HDCP_CAPABILITY_FAILED";
|
|
break;
|
|
case GET_LICENSE_ERROR:
|
|
*os << "GET_LICENSE_ERROR";
|
|
break;
|
|
case GET_MAX_NUMBER_OF_OPEN_SESSIONS_ERROR:
|
|
*os << "GET_MAX_NUMBER_OF_OPEN_SESSIONS_ERROR";
|
|
break;
|
|
case GET_NUMBER_OF_OPEN_SESSIONS_ERROR:
|
|
*os << "GET_NUMBER_OF_OPEN_SESSIONS_ERROR";
|
|
break;
|
|
case GET_OFFLINE_LICENSE_STATE_ERROR_1:
|
|
*os << "GET_OFFLINE_LICENSE_STATE_ERROR_1";
|
|
break;
|
|
case GET_OFFLINE_LICENSE_STATE_ERROR_2:
|
|
*os << "GET_OFFLINE_LICENSE_STATE_ERROR_2";
|
|
break;
|
|
case GET_PROVISIONING_METHOD_ERROR:
|
|
*os << "GET_PROVISIONING_METHOD_ERROR";
|
|
break;
|
|
case GET_RELEASED_LICENSE_ERROR:
|
|
*os << "GET_RELEASED_LICENSE_ERROR";
|
|
break;
|
|
case GET_SRM_VERSION_ERROR:
|
|
*os << "GET_SRM_VERSION_ERROR";
|
|
break;
|
|
case GET_TOKEN_FROM_KEYBOX_ERROR:
|
|
*os << "GET_TOKEN_FROM_KEYBOX_ERROR";
|
|
break;
|
|
case GET_TOKEN_FROM_OEM_CERT_ERROR:
|
|
*os << "GET_TOKEN_FROM_OEM_CERT_ERROR";
|
|
break;
|
|
case GET_USAGE_INFO_ERROR_1:
|
|
*os << "GET_USAGE_INFO_ERROR_1";
|
|
break;
|
|
case GET_USAGE_INFO_ERROR_2:
|
|
*os << "GET_USAGE_INFO_ERROR_2";
|
|
break;
|
|
case GET_USAGE_INFO_ERROR_3:
|
|
*os << "GET_USAGE_INFO_ERROR_3";
|
|
break;
|
|
case GET_USAGE_INFO_ERROR_4:
|
|
*os << "GET_USAGE_INFO_ERROR_4";
|
|
break;
|
|
case INCORRECT_CRYPTO_MODE:
|
|
*os << "INCORRECT_CRYPTO_MODE";
|
|
break;
|
|
case INCORRECT_USAGE_SUPPORT_TYPE_1:
|
|
*os << "INCORRECT_USAGE_SUPPORT_TYPE_1";
|
|
break;
|
|
case INCORRECT_USAGE_SUPPORT_TYPE_2:
|
|
*os << "INCORRECT_USAGE_SUPPORT_TYPE_2";
|
|
break;
|
|
case INIT_DATA_NOT_FOUND:
|
|
*os << "INIT_DATA_NOT_FOUND";
|
|
break;
|
|
case INSUFFICIENT_CRYPTO_RESOURCES:
|
|
*os << "INSUFFICIENT_CRYPTO_RESOURCES";
|
|
break;
|
|
case INSUFFICIENT_OUTPUT_PROTECTION:
|
|
*os << "INSUFFICIENT_OUTPUT_PROTECTION";
|
|
break;
|
|
case INVALID_DECRYPT_HASH_FORMAT:
|
|
*os << "INVALID_DECRYPT_HASH_FORMAT";
|
|
break;
|
|
case INVALID_DECRYPT_PARAMETERS_ENG_1:
|
|
*os << "INVALID_DECRYPT_PARAMETERS_ENG_1";
|
|
break;
|
|
case INVALID_DECRYPT_PARAMETERS_ENG_2:
|
|
*os << "INVALID_DECRYPT_PARAMETERS_ENG_2";
|
|
break;
|
|
case INVALID_DECRYPT_PARAMETERS_ENG_3:
|
|
*os << "INVALID_DECRYPT_PARAMETERS_ENG_3";
|
|
break;
|
|
case INVALID_DECRYPT_PARAMETERS_ENG_4:
|
|
*os << "INVALID_DECRYPT_PARAMETERS_ENG_4";
|
|
break;
|
|
case INVALID_DEVICE_CERTIFICATE_TYPE:
|
|
*os << "INVALID_DEVICE_CERTIFICATE_TYPE";
|
|
break;
|
|
case INVALID_IV_SIZE:
|
|
*os << "INVALID_IV_SIZE";
|
|
break;
|
|
case INVALID_KEY_SYSTEM:
|
|
*os << "INVALID_KEY_SYSTEM";
|
|
break;
|
|
case INVALID_LICENSE_REQUEST_TYPE_1:
|
|
*os << "INVALID_LICENSE_REQUEST_TYPE_1";
|
|
break;
|
|
case INVALID_LICENSE_REQUEST_TYPE_2:
|
|
*os << "INVALID_LICENSE_REQUEST_TYPE_2";
|
|
break;
|
|
case INVALID_LICENSE_RESPONSE:
|
|
*os << "INVALID_LICENSE_RESPONSE";
|
|
break;
|
|
case INVALID_LICENSE_TYPE:
|
|
*os << "INVALID_LICENSE_TYPE";
|
|
break;
|
|
case INVALID_LICENSE_TYPE_2:
|
|
*os << "INVALID_LICENSE_TYPE_2";
|
|
break;
|
|
case INVALID_PARAMETERS_ENG_5:
|
|
*os << "INVALID_PARAMETERS_ENG_5";
|
|
break;
|
|
case INVALID_PARAMETERS_ENG_13:
|
|
*os << "INVALID_PARAMETERS_ENG_13";
|
|
break;
|
|
case INVALID_PARAMETERS_ENG_14:
|
|
*os << "INVALID_PARAMETERS_ENG_14";
|
|
break;
|
|
case INVALID_PARAMETERS_ENG_15:
|
|
*os << "INVALID_PARAMETERS_ENG_15";
|
|
break;
|
|
case INVALID_PARAMETERS_ENG_16:
|
|
*os << "INVALID_PARAMETERS_ENG_16";
|
|
break;
|
|
case INVALID_PARAMETERS_ENG_22:
|
|
*os << "INVALID_PARAMETERS_ENG_22";
|
|
break;
|
|
case INVALID_PARAMETERS_ENG_23:
|
|
*os << "INVALID_PARAMETERS_ENG_23";
|
|
break;
|
|
case INVALID_PARAMETERS_ENG_24:
|
|
*os << "INVALID_PARAMETERS_ENG_24";
|
|
break;
|
|
case INVALID_PARAMETERS_LIC_1:
|
|
*os << "INVALID_PARAMETERS_LIC_1";
|
|
break;
|
|
case INVALID_PARAMETERS_LIC_2:
|
|
*os << "INVALID_PARAMETERS_LIC_2";
|
|
break;
|
|
case INVALID_PARAMETERS_LIC_3:
|
|
*os << "INVALID_PARAMETERS_LIC_3";
|
|
break;
|
|
case INVALID_PARAMETERS_LIC_4:
|
|
*os << "INVALID_PARAMETERS_LIC_4";
|
|
break;
|
|
case INVALID_PARAMETERS_LIC_6:
|
|
*os << "INVALID_PARAMETERS_LIC_6";
|
|
break;
|
|
case INVALID_PARAMETERS_LIC_7:
|
|
*os << "INVALID_PARAMETERS_LIC_7";
|
|
break;
|
|
case INVALID_PROVISIONING_PARAMETERS_1:
|
|
*os << "INVALID_PROVISIONING_PARAMETERS_1";
|
|
break;
|
|
case INVALID_PROVISIONING_PARAMETERS_2:
|
|
*os << "INVALID_PROVISIONING_PARAMETERS_2";
|
|
break;
|
|
case INVALID_PROVISIONING_REQUEST_PARAM_1:
|
|
*os << "INVALID_PROVISIONING_REQUEST_PARAM_1";
|
|
break;
|
|
case INVALID_PROVISIONING_REQUEST_PARAM_2:
|
|
*os << "INVALID_PROVISIONING_REQUEST_PARAM_2";
|
|
break;
|
|
case INVALID_QUERY_KEY:
|
|
*os << "INVALID_QUERY_KEY";
|
|
break;
|
|
case INVALID_SESSION_1:
|
|
*os << "INVALID_SESSION_1";
|
|
break;
|
|
case INVALID_SESSION_2:
|
|
*os << "INVALID_SESSION_2";
|
|
break;
|
|
case INVALID_SESSION_ID:
|
|
*os << "INVALID_SESSION_ID";
|
|
break;
|
|
case INVALID_SRM_LIST:
|
|
*os << "INVALID_SRM_LIST";
|
|
break;
|
|
case INVALID_USAGE_ENTRY_NUMBER_MODIFICATION:
|
|
*os << "INVALID_USAGE_ENTRY_NUMBER_MODIFICATION";
|
|
break;
|
|
case KEY_ADDED:
|
|
*os << "KEY_ADDED";
|
|
break;
|
|
case KEYBOX_TOKEN_TOO_SHORT:
|
|
*os << "KEYBOX_TOKEN_TOO_SHORT";
|
|
break;
|
|
case KEY_CANCELED:
|
|
*os << "KEY_CANCELED";
|
|
break;
|
|
case KEY_CONFLICT_1:
|
|
*os << "KEY_CONFLICT_1";
|
|
break;
|
|
case KEY_ERROR:
|
|
*os << "KEY_ERROR";
|
|
break;
|
|
case KEY_MESSAGE:
|
|
*os << "KEY_MESSAGE";
|
|
break;
|
|
case KEY_NOT_FOUND_1:
|
|
*os << "KEY_NOT_FOUND_1";
|
|
break;
|
|
case KEY_NOT_FOUND_2:
|
|
*os << "KEY_NOT_FOUND_2";
|
|
break;
|
|
case KEY_NOT_FOUND_3:
|
|
*os << "KEY_NOT_FOUND_3";
|
|
break;
|
|
case KEY_NOT_FOUND_4:
|
|
*os << "KEY_NOT_FOUND_4";
|
|
break;
|
|
case KEY_NOT_FOUND_5:
|
|
*os << "KEY_NOT_FOUND_5";
|
|
break;
|
|
case KEY_NOT_FOUND_6:
|
|
*os << "KEY_NOT_FOUND_6";
|
|
break;
|
|
case KEY_NOT_FOUND_IN_SESSION:
|
|
*os << "KEY_NOT_FOUND_IN_SESSION";
|
|
break;
|
|
case KEY_PROHIBITED_FOR_SECURITY_LEVEL:
|
|
*os << "KEY_PROHIBITED_FOR_SECURITY_LEVEL";
|
|
break;
|
|
case KEY_REQUEST_ERROR_1:
|
|
*os << "KEY_REQUEST_ERROR_1";
|
|
break;
|
|
case KEYSET_ID_NOT_FOUND_1:
|
|
*os << "KEYSET_ID_NOT_FOUND_1";
|
|
break;
|
|
case KEYSET_ID_NOT_FOUND_2:
|
|
*os << "KEYSET_ID_NOT_FOUND_2";
|
|
break;
|
|
case KEYSET_ID_NOT_FOUND_3:
|
|
*os << "KEYSET_ID_NOT_FOUND_3";
|
|
break;
|
|
case KEYSET_ID_NOT_FOUND_4:
|
|
*os << "KEYSET_ID_NOT_FOUND_4";
|
|
break;
|
|
case KEY_SIZE_ERROR_1:
|
|
*os << "KEY_SIZE_ERROR_1";
|
|
break;
|
|
case KEY_SIZE_ERROR_2:
|
|
*os << "KEY_SIZE_ERROR_2";
|
|
break;
|
|
case LICENSE_ID_NOT_FOUND:
|
|
*os << "LICENSE_ID_NOT_FOUND";
|
|
break;
|
|
case LICENSE_PARSER_INIT_ERROR:
|
|
*os << "LICENSE_PARSER_INIT_ERROR";
|
|
break;
|
|
case LICENSE_PARSER_NOT_INITIALIZED_1:
|
|
*os << "LICENSE_PARSER_NOT_INITIALIZED_1";
|
|
break;
|
|
case LICENSE_PARSER_NOT_INITIALIZED_2:
|
|
*os << "LICENSE_PARSER_NOT_INITIALIZED_2";
|
|
break;
|
|
case LICENSE_PARSER_NOT_INITIALIZED_3:
|
|
*os << "LICENSE_PARSER_NOT_INITIALIZED_3";
|
|
break;
|
|
case LICENSE_PARSER_NOT_INITIALIZED_4:
|
|
*os << "LICENSE_PARSER_NOT_INITIALIZED_4";
|
|
break;
|
|
case LICENSE_RENEWAL_NONCE_GENERATION_ERROR:
|
|
*os << "LICENSE_RENEWAL_NONCE_GENERATION_ERROR";
|
|
break;
|
|
case LICENSE_RENEWAL_PROHIBITED:
|
|
*os << "LICENSE_RENEWAL_PROHIBITED";
|
|
break;
|
|
case LICENSE_REQUEST_NONCE_GENERATION_ERROR:
|
|
*os << "LICENSE_REQUEST_NONCE_GENERATION_ERROR";
|
|
break;
|
|
case LICENSE_RESPONSE_NOT_SIGNED:
|
|
*os << "LICENSE_RESPONSE_NOT_SIGNED";
|
|
break;
|
|
case LICENSE_RESPONSE_PARSE_ERROR_1:
|
|
*os << "LICENSE_RESPONSE_PARSE_ERROR_1";
|
|
break;
|
|
case LICENSE_RESPONSE_PARSE_ERROR_2:
|
|
*os << "LICENSE_RESPONSE_PARSE_ERROR_2";
|
|
break;
|
|
case LICENSE_RESPONSE_PARSE_ERROR_3:
|
|
*os << "LICENSE_RESPONSE_PARSE_ERROR_3";
|
|
break;
|
|
case LICENSE_RESPONSE_PARSE_ERROR_4:
|
|
*os << "LICENSE_RESPONSE_PARSE_ERROR_4";
|
|
break;
|
|
case LICENSE_RESPONSE_PARSE_ERROR_5:
|
|
*os << "LICENSE_RESPONSE_PARSE_ERROR_5";
|
|
break;
|
|
case LICENSE_USAGE_ENTRY_MISSING:
|
|
*os << "LICENSE_USAGE_ENTRY_MISSING";
|
|
break;
|
|
case LIST_LICENSE_ERROR_1:
|
|
*os << "LIST_LICENSE_ERROR_1";
|
|
break;
|
|
case LIST_LICENSE_ERROR_2:
|
|
*os << "LIST_LICENSE_ERROR_2";
|
|
break;
|
|
case LIST_USAGE_ERROR_1:
|
|
*os << "LIST_USAGE_ERROR_1";
|
|
break;
|
|
case LIST_USAGE_ERROR_2:
|
|
*os << "LIST_USAGE_ERROR_2";
|
|
break;
|
|
case LOAD_DEVICE_RSA_KEY_ERROR:
|
|
*os << "LOAD_DEVICE_RSA_KEY_ERROR";
|
|
break;
|
|
case LOAD_ENTITLED_CONTENT_KEYS_ERROR:
|
|
*os << "LOAD_ENTITLED_CONTENT_KEYS_ERROR";
|
|
break;
|
|
case LOAD_KEY_ERROR:
|
|
*os << "LOAD_KEY_ERROR";
|
|
break;
|
|
case LOAD_LICENSE_ERROR:
|
|
*os << "LOAD_LICENSE_ERROR";
|
|
break;
|
|
case LOAD_PROVISIONING_ERROR:
|
|
*os << "LOAD_PROVISIONING_ERROR";
|
|
break;
|
|
case LOAD_RENEWAL_ERROR:
|
|
*os << "LOAD_RENEWAL_ERROR";
|
|
break;
|
|
case LOAD_SRM_ERROR:
|
|
*os << "LOAD_SRM_ERROR";
|
|
break;
|
|
case LOAD_SYSTEM_ID_ERROR:
|
|
*os << "LOAD_SYSTEM_ID_ERROR";
|
|
break;
|
|
case LOAD_USAGE_ENTRY_GENERATION_SKEW:
|
|
*os << "LOAD_USAGE_ENTRY_GENERATION_SKEW";
|
|
break;
|
|
case LOAD_USAGE_ENTRY_INVALID_SESSION:
|
|
*os << "LOAD_USAGE_ENTRY_INVALID_SESSION";
|
|
break;
|
|
case LOAD_USAGE_ENTRY_SIGNATURE_FAILURE:
|
|
*os << "LOAD_USAGE_ENTRY_SIGNATURE_FAILURE";
|
|
break;
|
|
case LOAD_USAGE_ENTRY_UNKNOWN_ERROR:
|
|
*os << "LOAD_USAGE_ENTRY_UNKNOWN_ERROR";
|
|
break;
|
|
case LOAD_USAGE_HEADER_BAD_MAGIC:
|
|
*os << "LOAD_USAGE_HEADER_BAD_MAGIC";
|
|
break;
|
|
case LOAD_USAGE_HEADER_GENERATION_SKEW:
|
|
*os << "LOAD_USAGE_HEADER_GENERATION_SKEW";
|
|
break;
|
|
case LOAD_USAGE_HEADER_SIGNATURE_FAILURE:
|
|
*os << "LOAD_USAGE_HEADER_SIGNATURE_FAILURE";
|
|
break;
|
|
case LOAD_USAGE_HEADER_UNKNOWN_ERROR:
|
|
*os << "LOAD_USAGE_HEADER_UNKNOWN_ERROR";
|
|
break;
|
|
case MOVE_USAGE_ENTRY_DESTINATION_IN_USE:
|
|
*os << "MOVE_USAGE_ENTRY_DESTINATION_IN_USE";
|
|
break;
|
|
case MOVE_USAGE_ENTRY_UNKNOWN_ERROR:
|
|
*os << "MOVE_USAGE_ENTRY_UNKNOWN_ERROR";
|
|
break;
|
|
case NEED_KEY:
|
|
*os << "NEED_KEY";
|
|
break;
|
|
case NEED_PROVISIONING:
|
|
*os << "NEED_PROVISIONING";
|
|
break;
|
|
case NO_CONTENT_KEY:
|
|
*os << "NO_CONTENT_KEY";
|
|
break;
|
|
case NO_CONTENT_KEY_2:
|
|
*os << "NO_CONTENT_KEY_2";
|
|
break;
|
|
case NO_CONTENT_KEY_3:
|
|
*os << "NO_CONTENT_KEY_3";
|
|
break;
|
|
case NO_DEVICE_KEY_1:
|
|
*os << "NO_DEVICE_KEY_1";
|
|
break;
|
|
case NO_MATCHING_ENTITLEMENT_KEY:
|
|
*os << "NO_MATCHING_ENTITLEMENT_KEY";
|
|
break;
|
|
case NONCE_GENERATION_ERROR:
|
|
*os << "NONCE_GENERATION_ERROR";
|
|
break;
|
|
case NOT_AN_ENTITLEMENT_SESSION:
|
|
*os << "NOT_AN_ENTITLEMENT_SESSION";
|
|
break;
|
|
case NOT_IMPLEMENTED_ERROR:
|
|
*os << "NOT_IMPLEMENTED_ERROR";
|
|
break;
|
|
case NOT_INITIALIZED_ERROR:
|
|
*os << "NOT_INITIALIZED_ERROR";
|
|
break;
|
|
case NO_USAGE_ENTRIES:
|
|
*os << "NO_USAGE_ENTRIES";
|
|
break;
|
|
case OPEN_CRYPTO_SESSION_ERROR:
|
|
*os << "OPEN_CRYPTO_SESSION_ERROR";
|
|
break;
|
|
case OUTPUT_TOO_LARGE_ERROR:
|
|
*os << "OUTPUT_TOO_LARGE_ERROR";
|
|
break;
|
|
case PARAMETER_NULL:
|
|
*os << "PARAMETER_NULL";
|
|
break;
|
|
case PARSE_REQUEST_ERROR_1:
|
|
*os << "PARSE_REQUEST_ERROR_1";
|
|
break;
|
|
case PARSE_REQUEST_ERROR_2:
|
|
*os << "PARSE_REQUEST_ERROR_2";
|
|
break;
|
|
case PARSE_RESPONSE_ERROR_1:
|
|
*os << "PARSE_RESPONSE_ERROR_1";
|
|
break;
|
|
case PARSE_RESPONSE_ERROR_2:
|
|
*os << "PARSE_RESPONSE_ERROR_2";
|
|
break;
|
|
case PARSE_RESPONSE_ERROR_3:
|
|
*os << "PARSE_RESPONSE_ERROR_3";
|
|
break;
|
|
case PARSE_RESPONSE_ERROR_4:
|
|
*os << "PARSE_RESPONSE_ERROR_4";
|
|
break;
|
|
case PARSE_SERVICE_CERTIFICATE_ERROR:
|
|
*os << "PARSE_SERVICE_CERTIFICATE_ERROR";
|
|
break;
|
|
case PREPARE_CENC_CONTENT_ID_FAILED:
|
|
*os << "PREPARE_CENC_CONTENT_ID_FAILED";
|
|
break;
|
|
case PREPARE_WEBM_CONTENT_ID_FAILED:
|
|
*os << "PREPARE_WEBM_CONTENT_ID_FAILED";
|
|
break;
|
|
case PRIVACY_MODE_ERROR_1:
|
|
*os << "PRIVACY_MODE_ERROR_1";
|
|
break;
|
|
case PRIVACY_MODE_ERROR_2:
|
|
*os << "PRIVACY_MODE_ERROR_2";
|
|
break;
|
|
case PRIVACY_MODE_ERROR_3:
|
|
*os << "PRIVACY_MODE_ERROR_3";
|
|
break;
|
|
case RANDOM_GENERATION_ERROR:
|
|
*os << "RANDOM_GENERATION_ERROR";
|
|
break;
|
|
case REFRESH_KEYS_ERROR:
|
|
*os << "REFRESH_KEYS_ERROR";
|
|
break;
|
|
case REINIT_ERROR:
|
|
*os << "REINIT_ERROR";
|
|
break;
|
|
case RELEASE_KEY_ERROR:
|
|
*os << "RELEASE_KEY_ERROR";
|
|
break;
|
|
case RELEASE_KEY_REQUEST_ERROR:
|
|
*os << "RELEASE_KEY_REQUEST_ERROR";
|
|
break;
|
|
case RELEASE_LICENSE_ERROR_1:
|
|
*os << "RELEASE_LICENSE_ERROR_1";
|
|
break;
|
|
case RELEASE_LICENSE_ERROR_2:
|
|
*os << "RELEASE_LICENSE_ERROR_2";
|
|
break;
|
|
case RELEASE_USAGE_INFO_ERROR:
|
|
*os << "RELEASE_USAGE_INFO_ERROR";
|
|
break;
|
|
case RELEASE_USAGE_INFO_FAILED:
|
|
*os << "RELEASE_USAGE_INFO_FAILED";
|
|
break;
|
|
case REMOVE_ALL_USAGE_INFO_ERROR_1:
|
|
*os << "REMOVE_ALL_USAGE_INFO_ERROR_1";
|
|
break;
|
|
case REMOVE_ALL_USAGE_INFO_ERROR_2:
|
|
*os << "REMOVE_ALL_USAGE_INFO_ERROR_2";
|
|
break;
|
|
case REMOVE_ALL_USAGE_INFO_ERROR_5:
|
|
*os << "REMOVE_ALL_USAGE_INFO_ERROR_5";
|
|
break;
|
|
case REMOVE_ALL_USAGE_INFO_ERROR_6:
|
|
*os << "REMOVE_ALL_USAGE_INFO_ERROR_6";
|
|
break;
|
|
case REMOVE_ALL_USAGE_INFO_ERROR_7:
|
|
*os << "REMOVE_ALL_USAGE_INFO_ERROR_7";
|
|
break;
|
|
case REMOVE_OFFLINE_LICENSE_ERROR_1:
|
|
*os << "REMOVE_OFFLINE_LICENSE_ERROR_1";
|
|
break;
|
|
case REMOVE_OFFLINE_LICENSE_ERROR_2:
|
|
*os << "REMOVE_OFFLINE_LICENSE_ERROR_2";
|
|
break;
|
|
case REMOVE_USAGE_INFO_ERROR_1:
|
|
*os << "REMOVE_USAGE_INFO_ERROR_1";
|
|
break;
|
|
case REMOVE_USAGE_INFO_ERROR_2:
|
|
*os << "REMOVE_USAGE_INFO_ERROR_2";
|
|
break;
|
|
case REMOVE_USAGE_INFO_ERROR_3:
|
|
*os << "REMOVE_USAGE_INFO_ERROR_3";
|
|
break;
|
|
case RENEW_KEY_ERROR_1:
|
|
*os << "RENEW_KEY_ERROR_1";
|
|
break;
|
|
case RENEW_KEY_ERROR_2:
|
|
*os << "RENEW_KEY_ERROR_2";
|
|
break;
|
|
case RESTORE_OFFLINE_LICENSE_ERROR_2:
|
|
*os << "RESTORE_OFFLINE_LICENSE_ERROR_2";
|
|
break;
|
|
case REWRAP_DEVICE_RSA_KEY_ERROR:
|
|
*os << "REWRAP_DEVICE_RSA_KEY_ERROR";
|
|
break;
|
|
case RSA_SIGNATURE_GENERATION_ERROR:
|
|
*os << "RSA_SIGNATURE_GENERATION_ERROR";
|
|
break;
|
|
case SAMPLE_AND_SUBSAMPLE_SIZE_MISMATCH:
|
|
*os << "SAMPLE_AND_SUBSAMPLE_SIZE_MISMATCH";
|
|
break;
|
|
case SERVICE_CERTIFICATE_PROVIDER_ID_EMPTY:
|
|
*os << "SERVICE_CERTIFICATE_PROVIDER_ID_EMPTY";
|
|
break;
|
|
case SESSION_FILE_HANDLE_INIT_ERROR:
|
|
*os << "SESSION_FILE_HANDLE_INIT_ERROR";
|
|
break;
|
|
case SESSION_KEYS_NOT_FOUND:
|
|
*os << "SESSION_KEYS_NOT_FOUND";
|
|
break;
|
|
case SESSION_KEYS_NOT_FOUND_2:
|
|
*os << "SESSION_KEYS_NOT_FOUND_2";
|
|
break;
|
|
case SESSION_LOST_STATE_ERROR:
|
|
*os << "SESSION_LOST_STATE_ERROR";
|
|
break;
|
|
case SESSION_NOT_FOUND_1:
|
|
*os << "SESSION_NOT_FOUND_1";
|
|
break;
|
|
case SESSION_NOT_FOUND_2:
|
|
*os << "SESSION_NOT_FOUND_2";
|
|
break;
|
|
case SESSION_NOT_FOUND_3:
|
|
*os << "SESSION_NOT_FOUND_3";
|
|
break;
|
|
case SESSION_NOT_FOUND_4:
|
|
*os << "SESSION_NOT_FOUND_4";
|
|
break;
|
|
case SESSION_NOT_FOUND_5:
|
|
*os << "SESSION_NOT_FOUND_5";
|
|
break;
|
|
case SESSION_NOT_FOUND_6:
|
|
*os << "SESSION_NOT_FOUND_6";
|
|
break;
|
|
case SESSION_NOT_FOUND_7:
|
|
*os << "SESSION_NOT_FOUND_7";
|
|
break;
|
|
case SESSION_NOT_FOUND_8:
|
|
*os << "SESSION_NOT_FOUND_8";
|
|
break;
|
|
case SESSION_NOT_FOUND_9:
|
|
*os << "SESSION_NOT_FOUND_9";
|
|
break;
|
|
case SESSION_NOT_FOUND_10:
|
|
*os << "SESSION_NOT_FOUND_10";
|
|
break;
|
|
case SESSION_NOT_FOUND_12:
|
|
*os << "SESSION_NOT_FOUND_12";
|
|
break;
|
|
case SESSION_NOT_FOUND_13:
|
|
*os << "SESSION_NOT_FOUND_13";
|
|
break;
|
|
case SESSION_NOT_FOUND_14:
|
|
*os << "SESSION_NOT_FOUND_14";
|
|
break;
|
|
case SESSION_NOT_FOUND_15:
|
|
*os << "SESSION_NOT_FOUND_15";
|
|
break;
|
|
case SESSION_NOT_FOUND_16:
|
|
*os << "SESSION_NOT_FOUND_16";
|
|
break;
|
|
case SESSION_NOT_FOUND_18:
|
|
*os << "SESSION_NOT_FOUND_18";
|
|
break;
|
|
case SESSION_NOT_FOUND_19:
|
|
*os << "SESSION_NOT_FOUND_19";
|
|
break;
|
|
case SESSION_NOT_FOUND_20:
|
|
*os << "SESSION_NOT_FOUND_20";
|
|
break;
|
|
case SESSION_NOT_FOUND_21:
|
|
*os << "SESSION_NOT_FOUND_21";
|
|
break;
|
|
case SESSION_NOT_FOUND_22:
|
|
*os << "SESSION_NOT_FOUND_22";
|
|
break;
|
|
case SESSION_NOT_FOUND_FOR_DECRYPT:
|
|
*os << "SESSION_NOT_FOUND_FOR_DECRYPT";
|
|
break;
|
|
case SET_DECRYPT_HASH_ERROR:
|
|
*os << "SET_DECRYPT_HASH_ERROR";
|
|
break;
|
|
case SHRINK_USAGE_TABLE_HEADER_ENTRY_IN_USE:
|
|
*os << "SHRINK_USAGE_TABLE_HEADER_ENTRY_IN_USE";
|
|
break;
|
|
case SHRINK_USAGE_TABLE_HEADER_UNKNOWN_ERROR:
|
|
*os << "SHRINK_USAGE_TABLE_HEADER_UNKNOWN_ERROR";
|
|
break;
|
|
case SIGNATURE_NOT_FOUND:
|
|
*os << "SIGNATURE_NOT_FOUND";
|
|
break;
|
|
case SIGNATURE_NOT_FOUND_2:
|
|
*os << "SIGNATURE_NOT_FOUND_2";
|
|
break;
|
|
case STORE_LICENSE_ERROR_1:
|
|
*os << "STORE_LICENSE_ERROR_1";
|
|
break;
|
|
case STORE_LICENSE_ERROR_2:
|
|
*os << "STORE_LICENSE_ERROR_2";
|
|
break;
|
|
case STORE_USAGE_INFO_ERROR:
|
|
*os << "STORE_USAGE_INFO_ERROR";
|
|
break;
|
|
case SYSTEM_INVALIDATED_ERROR:
|
|
*os << "SYSTEM_INVALIDATED_ERROR";
|
|
break;
|
|
case UNEXPECTED_EMPTY_USAGE_ENTRY:
|
|
*os << "UNEXPECTED_EMPTY_USAGE_ENTRY";
|
|
break;
|
|
case UNKNOWN_CLIENT_TOKEN_TYPE:
|
|
*os << "UNKNOWN_CLIENT_TOKEN_TYPE";
|
|
break;
|
|
case UNKNOWN_SELECT_KEY_ERROR_1:
|
|
*os << "UNKNOWN_SELECT_KEY_ERROR_1";
|
|
break;
|
|
case UNKNOWN_SELECT_KEY_ERROR_2:
|
|
*os << "UNKNOWN_SELECT_KEY_ERROR_2";
|
|
break;
|
|
case UNPROVISION_ERROR_1:
|
|
*os << "UNPROVISION_ERROR_1";
|
|
break;
|
|
case UNPROVISION_ERROR_2:
|
|
*os << "UNPROVISION_ERROR_2";
|
|
break;
|
|
case UNPROVISION_ERROR_3:
|
|
*os << "UNPROVISION_ERROR_3";
|
|
break;
|
|
case UNPROVISION_ERROR_4:
|
|
*os << "UNPROVISION_ERROR_4";
|
|
break;
|
|
case UNSUPPORTED_INIT_DATA:
|
|
*os << "UNSUPPORTED_INIT_DATA";
|
|
break;
|
|
case UNSUPPORTED_INIT_DATA_FORMAT:
|
|
*os << "UNSUPPORTED_INIT_DATA_FORMAT";
|
|
break;
|
|
case UPDATE_USAGE_ENTRY_UNKNOWN_ERROR:
|
|
*os << "UPDATE_USAGE_ENTRY_UNKNOWN_ERROR";
|
|
break;
|
|
case USAGE_ENTRY_NUMBER_MISMATCH:
|
|
*os << "USAGE_ENTRY_NUMBER_MISMATCH";
|
|
break;
|
|
case USAGE_GET_ENTRY_RETRIEVE_INVALID_STORAGE_TYPE:
|
|
*os << "USAGE_GET_ENTRY_RETRIEVE_INVALID_STORAGE_TYPE";
|
|
break;
|
|
case USAGE_GET_ENTRY_RETRIEVE_LICENSE_FAILED:
|
|
*os << "USAGE_GET_ENTRY_RETRIEVE_LICENSE_FAILED";
|
|
break;
|
|
case USAGE_GET_ENTRY_RETRIEVE_USAGE_INFO_FAILED:
|
|
*os << "USAGE_GET_ENTRY_RETRIEVE_USAGE_INFO_FAILED";
|
|
break;
|
|
case USAGE_INFO_NOT_FOUND:
|
|
*os << "USAGE_INFO_NOT_FOUND";
|
|
break;
|
|
case USAGE_INFORMATION_SUPPORT_FAILED:
|
|
*os << "USAGE_INFORMATION_SUPPORT_FAILED";
|
|
break;
|
|
case USAGE_INVALID_LOAD_ENTRY:
|
|
*os << "USAGE_INVALID_LOAD_ENTRY";
|
|
break;
|
|
case USAGE_INVALID_NEW_ENTRY:
|
|
*os << "USAGE_INVALID_NEW_ENTRY";
|
|
break;
|
|
case USAGE_INVALID_PARAMETERS_1:
|
|
*os << "USAGE_INVALID_PARAMETERS_1";
|
|
break;
|
|
case USAGE_INVALID_PARAMETERS_2:
|
|
*os << "USAGE_INVALID_PARAMETERS_2";
|
|
break;
|
|
case USAGE_STORE_ENTRY_RETRIEVE_INVALID_STORAGE_TYPE:
|
|
*os << "USAGE_STORE_ENTRY_RETRIEVE_INVALID_STORAGE_TYPE";
|
|
break;
|
|
case USAGE_STORE_ENTRY_RETRIEVE_LICENSE_FAILED:
|
|
*os << "USAGE_STORE_ENTRY_RETRIEVE_LICENSE_FAILED";
|
|
break;
|
|
case USAGE_STORE_ENTRY_RETRIEVE_USAGE_INFO_FAILED:
|
|
*os << "USAGE_STORE_ENTRY_RETRIEVE_USAGE_INFO_FAILED";
|
|
break;
|
|
case USAGE_STORE_LICENSE_FAILED:
|
|
*os << "USAGE_STORE_LICENSE_FAILED";
|
|
break;
|
|
case USAGE_STORE_USAGE_INFO_FAILED:
|
|
*os << "USAGE_STORE_USAGE_INFO_FAILED";
|
|
break;
|
|
case USAGE_SUPPORT_GET_API_FAILED:
|
|
*os << "USAGE_SUPPORT_GET_API_FAILED";
|
|
break;
|
|
case WEBM_INIT_DATA_UNAVAILABLE:
|
|
*os << "WEBM_INIT_DATA_UNAVAILABLE";
|
|
break;
|
|
case PROVISIONING_NOT_ALLOWED_FOR_ATSC:
|
|
*os << "PROVISIONING_NOT_ALLOWED_FOR_ATSC";
|
|
break;
|
|
default:
|
|
*os << "Unknown CdmResponseType";
|
|
break;
|
|
}
|
|
}
|
|
|
|
void PrintTo(const enum CdmLicenseType& value, ::std::ostream* os) {
|
|
switch (value) {
|
|
case kLicenseTypeOffline:
|
|
*os << "kLicenseTypeOffline";
|
|
break;
|
|
case kLicenseTypeStreaming:
|
|
*os << "kLicenseTypeStreaming";
|
|
break;
|
|
case kLicenseTypeRelease:
|
|
*os << "kLicenseTypeRelease";
|
|
break;
|
|
default:
|
|
*os << "Unknown CdmLicenseType";
|
|
break;
|
|
}
|
|
}
|
|
|
|
void PrintTo(const enum CdmSecurityLevel& value, ::std::ostream* os) {
|
|
switch (value) {
|
|
case kSecurityLevelUninitialized:
|
|
*os << "kSecurityLevelUninitialized";
|
|
break;
|
|
case kSecurityLevelL1:
|
|
*os << "kSecurityLevelL1";
|
|
break;
|
|
case kSecurityLevelL2:
|
|
*os << "kSecurityLevelL2";
|
|
break;
|
|
case kSecurityLevelL3:
|
|
*os << "kSecurityLevelL3";
|
|
break;
|
|
case kSecurityLevelUnknown:
|
|
*os << "kSecurityLevelUnknown";
|
|
break;
|
|
default:
|
|
*os << "Unknown CdmSecurityLevel";
|
|
break;
|
|
}
|
|
}
|
|
|
|
void PrintTo(const enum CdmCertificateType& value, ::std::ostream* os) {
|
|
switch (value) {
|
|
case kCertificateWidevine:
|
|
*os << "kCertificateWidevine";
|
|
break;
|
|
case kCertificateX509:
|
|
*os << "kCertificateX509";
|
|
break;
|
|
default:
|
|
*os << "Unknown CdmCertificateType";
|
|
break;
|
|
}
|
|
}
|
|
|
|
void PrintTo(const enum OEMCryptoResult& value, ::std::ostream* os) {
|
|
switch (value) {
|
|
case OEMCrypto_SUCCESS:
|
|
*os << "SUCCESS";
|
|
break;
|
|
case OEMCrypto_ERROR_INIT_FAILED:
|
|
*os << "INIT_FAILED";
|
|
break;
|
|
case OEMCrypto_ERROR_TERMINATE_FAILED:
|
|
*os << "TERMINATE_FAILED";
|
|
break;
|
|
case OEMCrypto_ERROR_OPEN_FAILURE:
|
|
*os << "OPEN_FAILURE";
|
|
break;
|
|
case OEMCrypto_ERROR_CLOSE_FAILURE:
|
|
*os << "CLOSE_FAILURE";
|
|
break;
|
|
case OEMCrypto_ERROR_ENTER_SECURE_PLAYBACK_FAILED:
|
|
*os << "ENTER_SECURE_PLAYBACK_FAILED";
|
|
break;
|
|
case OEMCrypto_ERROR_EXIT_SECURE_PLAYBACK_FAILED:
|
|
*os << "EXIT_SECURE_PLAYBACK_FAILED";
|
|
break;
|
|
case OEMCrypto_ERROR_SHORT_BUFFER:
|
|
*os << "SHORT_BUFFER";
|
|
break;
|
|
case OEMCrypto_ERROR_NO_DEVICE_KEY:
|
|
*os << "NO_DEVICE_KEY";
|
|
break;
|
|
case OEMCrypto_ERROR_NO_ASSET_KEY:
|
|
*os << "NO_ASSET_KEY";
|
|
break;
|
|
case OEMCrypto_ERROR_KEYBOX_INVALID:
|
|
*os << "KEYBOX_INVALID";
|
|
break;
|
|
case OEMCrypto_ERROR_NO_KEYDATA:
|
|
*os << "NO_KEYDATA";
|
|
break;
|
|
case OEMCrypto_ERROR_NO_CW:
|
|
*os << "NO_CW";
|
|
break;
|
|
case OEMCrypto_ERROR_DECRYPT_FAILED:
|
|
*os << "DECRYPT_FAILED";
|
|
break;
|
|
case OEMCrypto_ERROR_WRITE_KEYBOX:
|
|
*os << "WRITE_KEYBOX";
|
|
break;
|
|
case OEMCrypto_ERROR_WRAP_KEYBOX:
|
|
*os << "WRAP_KEYBOX";
|
|
break;
|
|
case OEMCrypto_ERROR_BAD_MAGIC:
|
|
*os << "BAD_MAGIC";
|
|
break;
|
|
case OEMCrypto_ERROR_BAD_CRC:
|
|
*os << "BAD_CRC";
|
|
break;
|
|
case OEMCrypto_ERROR_NO_DEVICEID:
|
|
*os << "NO_DEVICEID";
|
|
break;
|
|
case OEMCrypto_ERROR_RNG_FAILED:
|
|
*os << "RNG_FAILED";
|
|
break;
|
|
case OEMCrypto_ERROR_RNG_NOT_SUPPORTED:
|
|
*os << "RNG_NOT_SUPPORTED";
|
|
break;
|
|
case OEMCrypto_ERROR_SETUP:
|
|
*os << "SETUP";
|
|
break;
|
|
case OEMCrypto_ERROR_OPEN_SESSION_FAILED:
|
|
*os << "OPEN_SESSION_FAILED";
|
|
break;
|
|
case OEMCrypto_ERROR_CLOSE_SESSION_FAILED:
|
|
*os << "CLOSE_SESSION_FAILED";
|
|
break;
|
|
case OEMCrypto_ERROR_INVALID_SESSION:
|
|
*os << "INVALID_SESSION";
|
|
break;
|
|
case OEMCrypto_ERROR_NOT_IMPLEMENTED:
|
|
*os << "NOT_IMPLEMENTED";
|
|
break;
|
|
case OEMCrypto_ERROR_NO_CONTENT_KEY:
|
|
*os << "NO_CONTENT_KEY";
|
|
break;
|
|
case OEMCrypto_ERROR_CONTROL_INVALID:
|
|
*os << "CONTROL_INVALID";
|
|
break;
|
|
case OEMCrypto_ERROR_UNKNOWN_FAILURE:
|
|
*os << "UNKNOWN_FAILURE";
|
|
break;
|
|
case OEMCrypto_ERROR_INVALID_CONTEXT:
|
|
*os << "INVALID_CONTEXT";
|
|
break;
|
|
case OEMCrypto_ERROR_SIGNATURE_FAILURE:
|
|
*os << "SIGNATURE_FAILURE";
|
|
break;
|
|
case OEMCrypto_ERROR_TOO_MANY_SESSIONS:
|
|
*os << "TOO_MANY_SESSIONS";
|
|
break;
|
|
case OEMCrypto_ERROR_INVALID_NONCE:
|
|
*os << "INVALID_NONCE";
|
|
break;
|
|
case OEMCrypto_ERROR_TOO_MANY_KEYS:
|
|
*os << "TOO_MANY_KEYS";
|
|
break;
|
|
case OEMCrypto_ERROR_DEVICE_NOT_RSA_PROVISIONED:
|
|
*os << "DEVICE_NOT_RSA_PROVISIONED";
|
|
break;
|
|
case OEMCrypto_ERROR_INVALID_RSA_KEY:
|
|
*os << "INVALID_RSA_KEY";
|
|
break;
|
|
case OEMCrypto_ERROR_KEY_EXPIRED:
|
|
*os << "KEY_EXPIRED";
|
|
break;
|
|
case OEMCrypto_ERROR_INSUFFICIENT_RESOURCES:
|
|
*os << "INSUFFICIENT_RESOURCES";
|
|
break;
|
|
case OEMCrypto_ERROR_INSUFFICIENT_HDCP:
|
|
*os << "INSUFFICIENT_HDCP";
|
|
break;
|
|
case OEMCrypto_ERROR_BUFFER_TOO_LARGE:
|
|
*os << "BUFFER_TOO_LARGE";
|
|
break;
|
|
case OEMCrypto_WARNING_GENERATION_SKEW:
|
|
*os << "OEMCrypto_WARNING_GENERATION_SKEW";
|
|
break;
|
|
case OEMCrypto_ERROR_GENERATION_SKEW:
|
|
*os << "GENERATION_SKEW";
|
|
break;
|
|
case OEMCrypto_LOCAL_DISPLAY_ONLY:
|
|
*os << "OEMCrypto_LOCAL_DISPLAY_ONLY";
|
|
break;
|
|
case OEMCrypto_ERROR_ANALOG_OUTPUT:
|
|
*os << "ANALOG_OUTPUT";
|
|
break;
|
|
case OEMCrypto_ERROR_WRONG_PST:
|
|
*os << "WRONG_PST";
|
|
break;
|
|
case OEMCrypto_ERROR_WRONG_KEYS:
|
|
*os << "WRONG_KEYS";
|
|
break;
|
|
case OEMCrypto_ERROR_MISSING_MASTER:
|
|
*os << "MISSING_MASTER";
|
|
break;
|
|
case OEMCrypto_ERROR_LICENSE_INACTIVE:
|
|
*os << "LICENSE_INACTIVE";
|
|
break;
|
|
case OEMCrypto_ERROR_ENTRY_NEEDS_UPDATE:
|
|
*os << "ENTRY_NEEDS_UPDATE";
|
|
break;
|
|
case OEMCrypto_ERROR_ENTRY_IN_USE:
|
|
*os << "ENTRY_IN_USE";
|
|
break;
|
|
case OEMCrypto_ERROR_USAGE_TABLE_UNRECOVERABLE:
|
|
*os << "USAGE_TABLE_UNRECOVERABLE";
|
|
break;
|
|
case OEMCrypto_KEY_NOT_LOADED:
|
|
*os << "OEMCrypto_KEY_NOT_LOADED";
|
|
break;
|
|
case OEMCrypto_KEY_NOT_ENTITLED:
|
|
*os << "OEMCrypto_KEY_NOT_ENTITLED";
|
|
break;
|
|
case OEMCrypto_ERROR_BAD_HASH:
|
|
*os << "BAD_HASH";
|
|
break;
|
|
case OEMCrypto_ERROR_OUTPUT_TOO_LARGE:
|
|
*os << "OUTPUT_TOO_LARGE";
|
|
break;
|
|
case OEMCrypto_ERROR_SESSION_LOST_STATE:
|
|
*os << "SESSION_LOST_STATE";
|
|
break;
|
|
case OEMCrypto_ERROR_SYSTEM_INVALIDATED:
|
|
*os << "SYSTEM_INVALIDATED";
|
|
break;
|
|
case OEMCrypto_ERROR_LICENSE_RELOAD:
|
|
*os << "LICENSE_RELOAD";
|
|
break;
|
|
case OEMCrypto_ERROR_MULTIPLE_USAGE_ENTRIES:
|
|
*os << "MULTIPLE_USAGE_ENTRIES";
|
|
break;
|
|
case OEMCrypto_WARNING_MIXED_OUTPUT_PROTECTION:
|
|
*os << "MIXED_OUTPUT_PROTECTION";
|
|
break;
|
|
// ODK Values.
|
|
case ODK_ERROR_CORE_MESSAGE:
|
|
*os << "CORE_MESSAGE";
|
|
break;
|
|
case ODK_SET_TIMER:
|
|
*os << "SET_TIMER";
|
|
break;
|
|
case ODK_DISABLE_TIMER:
|
|
*os << "DISABLE_TIMER";
|
|
break;
|
|
case ODK_TIMER_EXPIRED:
|
|
*os << "TIMER_EXPIRED";
|
|
break;
|
|
case ODK_UNSUPPORTED_API:
|
|
*os << "UNSUPPORTED_API";
|
|
break;
|
|
case ODK_STALE_RENEWAL:
|
|
*os << "STALE_RENEWAL";
|
|
break;
|
|
}
|
|
}
|
|
|
|
} // namespace wvcdm
|