|
|
|
|
@@ -267,6 +267,7 @@ CdmResponseType CdmSession::RestoreOfflineSession(
|
|
|
|
|
} else {
|
|
|
|
|
CdmResponseType sts = usage_table_header_->LoadEntry(
|
|
|
|
|
crypto_session_.get(), usage_entry_, usage_entry_number_);
|
|
|
|
|
crypto_metrics_->usage_table_header_load_entry_.Increment(sts);
|
|
|
|
|
if (sts != NO_ERROR) {
|
|
|
|
|
LOGE(
|
|
|
|
|
"CdmSession::RestoreOfflineSession: failed to load usage entry = "
|
|
|
|
|
@@ -298,8 +299,10 @@ CdmResponseType CdmSession::RestoreOfflineSession(
|
|
|
|
|
|
|
|
|
|
if (usage_support_type_ == kUsageEntrySupport &&
|
|
|
|
|
!provider_session_token.empty() && usage_table_header_ != NULL) {
|
|
|
|
|
CdmResponseType sts =
|
|
|
|
|
usage_table_header_->UpdateEntry(crypto_session_.get(), &usage_entry_);
|
|
|
|
|
CdmResponseType sts = NO_ERROR;
|
|
|
|
|
M_TIME(sts = usage_table_header_->UpdateEntry(crypto_session_.get(),
|
|
|
|
|
&usage_entry_),
|
|
|
|
|
crypto_metrics_, usage_table_header_update_entry_, sts);
|
|
|
|
|
if (sts != NO_ERROR) {
|
|
|
|
|
LOGE(
|
|
|
|
|
"CdmSession::RestoreOfflineSession failed to update usage entry = "
|
|
|
|
|
@@ -341,6 +344,7 @@ CdmResponseType CdmSession::RestoreUsageSession(
|
|
|
|
|
usage_table_header_ != NULL) {
|
|
|
|
|
sts = usage_table_header_->LoadEntry(
|
|
|
|
|
crypto_session_.get(), usage_entry_, usage_entry_number_);
|
|
|
|
|
crypto_metrics_->usage_table_header_load_entry_.Increment(sts);
|
|
|
|
|
if (sts != NO_ERROR) {
|
|
|
|
|
LOGE("CdmSession::RestoreUsageSession: failed to load usage entry = %d",
|
|
|
|
|
sts);
|
|
|
|
|
@@ -357,8 +361,9 @@ CdmResponseType CdmSession::RestoreUsageSession(
|
|
|
|
|
|
|
|
|
|
if (usage_support_type_ == kUsageEntrySupport &&
|
|
|
|
|
usage_table_header_ != NULL) {
|
|
|
|
|
sts =
|
|
|
|
|
usage_table_header_->UpdateEntry(crypto_session_.get(), &usage_entry_);
|
|
|
|
|
M_TIME(sts = usage_table_header_->UpdateEntry(crypto_session_.get(),
|
|
|
|
|
&usage_entry_),
|
|
|
|
|
crypto_metrics_, usage_table_header_update_entry_, sts);
|
|
|
|
|
if (sts != NO_ERROR) {
|
|
|
|
|
LOGE("CdmSession::RestoreUsageSession: failed to update usage entry: %d",
|
|
|
|
|
sts);
|
|
|
|
|
@@ -504,6 +509,7 @@ CdmResponseType CdmSession::AddKeyInternal(const CdmKeyResponse& key_response) {
|
|
|
|
|
sts = usage_table_header_->AddEntry(
|
|
|
|
|
crypto_session_.get(), is_offline_, key_set_id_,
|
|
|
|
|
DeviceFiles::GetUsageInfoFileName(app_id), &usage_entry_number_);
|
|
|
|
|
crypto_metrics_->usage_table_header_add_entry_.Increment(sts);
|
|
|
|
|
if (sts != NO_ERROR) return sts;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -515,6 +521,7 @@ CdmResponseType CdmSession::AddKeyInternal(const CdmKeyResponse& key_response) {
|
|
|
|
|
if (sts != KEY_ADDED) {
|
|
|
|
|
CdmResponseType delete_sts = usage_table_header_->DeleteEntry(
|
|
|
|
|
usage_entry_number_, file_handle_.get(), crypto_metrics_);
|
|
|
|
|
crypto_metrics_->usage_table_header_delete_entry_.Increment(delete_sts);
|
|
|
|
|
if (delete_sts != NO_ERROR) {
|
|
|
|
|
LOGW("CdmSession::AddKey: Delete usage entry failed = %d",
|
|
|
|
|
delete_sts);
|
|
|
|
|
@@ -535,7 +542,9 @@ CdmResponseType CdmSession::AddKeyInternal(const CdmKeyResponse& key_response) {
|
|
|
|
|
if (has_provider_session_token() &&
|
|
|
|
|
usage_support_type_ == kUsageEntrySupport &&
|
|
|
|
|
usage_table_header_ != NULL) {
|
|
|
|
|
usage_table_header_->UpdateEntry(crypto_session_.get(), &usage_entry_);
|
|
|
|
|
M_TIME(sts = usage_table_header_->UpdateEntry(crypto_session_.get(),
|
|
|
|
|
&usage_entry_),
|
|
|
|
|
crypto_metrics_, usage_table_header_update_entry_, sts);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!is_offline_)
|
|
|
|
|
@@ -710,8 +719,9 @@ CdmResponseType CdmSession::GenerateReleaseRequest(CdmKeyRequest* key_request) {
|
|
|
|
|
|
|
|
|
|
if (has_provider_session_token() &&
|
|
|
|
|
usage_support_type_ == kUsageEntrySupport) {
|
|
|
|
|
status =
|
|
|
|
|
usage_table_header_->UpdateEntry(crypto_session_.get(), &usage_entry_);
|
|
|
|
|
M_TIME(status = usage_table_header_->UpdateEntry(crypto_session_.get(),
|
|
|
|
|
&usage_entry_),
|
|
|
|
|
crypto_metrics_, usage_table_header_update_entry_, status);
|
|
|
|
|
if (status != NO_ERROR) {
|
|
|
|
|
LOGE(
|
|
|
|
|
"CdmSession::GenerateReleaseRequest: Update usage entry failed = "
|
|
|
|
|
@@ -785,8 +795,10 @@ CdmResponseType CdmSession::DeleteUsageEntry(uint32_t usage_entry_number) {
|
|
|
|
|
return INCORRECT_USAGE_SUPPORT_TYPE_1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return usage_table_header_->DeleteEntry(usage_entry_number,
|
|
|
|
|
file_handle_.get(), crypto_metrics_);
|
|
|
|
|
sts = usage_table_header_->DeleteEntry(usage_entry_number,
|
|
|
|
|
file_handle_.get(), crypto_metrics_);
|
|
|
|
|
crypto_metrics_->usage_table_header_delete_entry_.Increment(sts);
|
|
|
|
|
return sts;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool CdmSession::IsKeyLoaded(const KeyId& key_id) {
|
|
|
|
|
@@ -1025,12 +1037,9 @@ CdmResponseType CdmSession::UpdateUsageEntryInformation() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CdmResponseType sts = NO_ERROR;
|
|
|
|
|
M_TIME(
|
|
|
|
|
sts = usage_table_header_->UpdateEntry(crypto_session_.get(),
|
|
|
|
|
&usage_entry_),
|
|
|
|
|
crypto_metrics_,
|
|
|
|
|
crypto_session_update_usage_entry_,
|
|
|
|
|
sts);
|
|
|
|
|
M_TIME(sts = usage_table_header_->UpdateEntry(crypto_session_.get(),
|
|
|
|
|
&usage_entry_),
|
|
|
|
|
crypto_metrics_, usage_table_header_update_entry_, sts);
|
|
|
|
|
|
|
|
|
|
if (sts != NO_ERROR) return sts;
|
|
|
|
|
|
|
|
|
|
|