Merge "Revert "Core CDM: Retrieving USAGE_INFO triggers clean-up.""
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
Reference in New Issue
Block a user