Merge "Revert "Core CDM: Retrieving USAGE_INFO triggers clean-up.""

This commit is contained in:
Alex Dale
2022-12-03 00:32:27 +00:00
committed by Android (Google) Code Review
5 changed files with 67 additions and 128 deletions

View File

@@ -1678,13 +1678,11 @@ bool DeviceFiles::StoreUsageTableInfo(
bool DeviceFiles::RetrieveUsageTableInfo(
CdmUsageTableHeader* usage_table_header,
std::vector<CdmUsageEntryInfo>* usage_entry_info, bool* lru_upgrade,
bool* has_usage_info_entries) {
std::vector<CdmUsageEntryInfo>* usage_entry_info, bool* lru_upgrade) {
RETURN_FALSE_IF_UNINITIALIZED();
RETURN_FALSE_IF_NULL(usage_table_header);
RETURN_FALSE_IF_NULL(usage_entry_info);
RETURN_FALSE_IF_NULL(lru_upgrade);
RETURN_FALSE_IF_NULL(has_usage_info_entries);
video_widevine_client::sdk::File file;
if (RetrieveHashedFile(GetUsageTableFileName(), &file) != kNoError) {
@@ -1714,7 +1712,6 @@ bool DeviceFiles::RetrieveUsageTableInfo(
const UsageTableInfo& usage_table_info = file.usage_table_info();
*lru_upgrade = !usage_table_info.use_lru();
*has_usage_info_entries = false;
*usage_table_header = usage_table_info.usage_table_header();
usage_entry_info->resize(usage_table_info.usage_entry_info_size());
@@ -1730,8 +1727,10 @@ bool DeviceFiles::RetrieveUsageTableInfo(
info.offline_license_expiry_time();
break;
case UsageTableInfo_UsageEntryInfo_UsageEntryStorage_USAGE_INFO:
(*usage_entry_info)[i].storage_type = kStorageTypeUnknown;
*has_usage_info_entries = true;
(*usage_entry_info)[i].storage_type = kStorageUsageInfo;
(*usage_entry_info)[i].usage_info_file_name =
info.usage_info_file_name();
(*usage_entry_info)[i].last_use_time = info.last_use_time();
break;
case UsageTableInfo_UsageEntryInfo_UsageEntryStorage_UNKNOWN:
default:

View File

@@ -194,10 +194,8 @@ bool UsageTableHeader::Init(CdmSecurityLevel security_level,
bool UsageTableHeader::RestoreTable(CryptoSession* const crypto_session) {
bool run_lru_upgrade = false;
bool has_usage_info_entries = false;
if (!device_files_->RetrieveUsageTableInfo(
&usage_table_header_, &usage_entry_info_, &run_lru_upgrade,
&has_usage_info_entries)) {
&usage_table_header_, &usage_entry_info_, &run_lru_upgrade)) {
LOGW("Could not retrieve usage table");
return false;
}
@@ -212,15 +210,6 @@ bool UsageTableHeader::RestoreTable(CryptoSession* const crypto_session) {
return false;
}
// Remove all usage info entries from storage and clear their
// table meta data.
if (has_usage_info_entries) {
LOGI("Removing all usage info entries");
device_files_->DeleteAllUsageInfo();
// Store table to remove usage info entries from storage.
StoreTable();
}
// If the saved usage entries/meta data is missing LRU information,
// then the entries and their meta data must be updated.
if (run_lru_upgrade && !LruUpgradeAllUsageEntries()) {