diff --git a/libwvdrmengine/cdm/core/src/cdm_session.cpp b/libwvdrmengine/cdm/core/src/cdm_session.cpp index f207b1e1..18020498 100644 --- a/libwvdrmengine/cdm/core/src/cdm_session.cpp +++ b/libwvdrmengine/cdm/core/src/cdm_session.cpp @@ -887,8 +887,11 @@ CdmResponseType CdmSession::UpdateUsageEntryInformation() { if (usage_support_type_ != kUsageEntrySupport || !has_provider_session_token() || usage_table_header_ == nullptr) { - LOGE("CdmSession::UpdateUsageEntryInformation: Unexpected usage type " - "supported: %d", usage_support_type_); + LOGE("CdmSession::UpdateUsageEntryInformation: Unexpected state, " + "usage support type: %d, PST present: %s, usage table header available" + ": %s", usage_support_type_, + has_provider_session_token() ? "yes" : "no", + usage_table_header_ == nullptr ? "no" : "yes"); return INCORRECT_USAGE_SUPPORT_TYPE_2; } diff --git a/libwvdrmengine/cdm/core/src/license.cpp b/libwvdrmengine/cdm/core/src/license.cpp index 07c20a52..ec18da19 100644 --- a/libwvdrmengine/cdm/core/src/license.cpp +++ b/libwvdrmengine/cdm/core/src/license.cpp @@ -349,7 +349,8 @@ CdmResponseType CdmLicense::PrepareKeyUpdateRequest( } // TODO(rfrias): Refactor to avoid needing to call CdmSession - if (cdm_session) { + if (cdm_session && + cdm_session->get_usage_support_type() == kUsageEntrySupport) { CdmResponseType status = cdm_session->UpdateUsageEntryInformation(); if (NO_ERROR != status) return status; } @@ -671,7 +672,8 @@ bool CdmLicense::RestoreOfflineLicense( } if (!provider_session_token_.empty()) { - if (cdm_session) { + if (cdm_session && + cdm_session->get_usage_support_type() == kUsageEntrySupport) { CdmResponseType status = cdm_session->UpdateUsageEntryInformation(); if (NO_ERROR != status) return false; }