Core CDM: Retrieving USAGE_INFO triggers clean-up.
[ Merge of http://go/wvgerrit/158722 ] The CDM will delete all usage info / secure stop files on the device when usage table entries labeled as USAGE_INFO are detected when restoring the usage table. DeviceFiles no longer transfers the stored USAGE_INFO entry info into the run-time entry info vector for the table. This CL makes only minor changes to test data. Significant updates to both device file and usage table header unittests are required to remove usage info / secure stop run-time resources. Bug: 242289743 Test: run_x86_64_tests Change-Id: I2d1fc0d6a4c994bc10bfce47818f101f95883979
This commit is contained in:
@@ -1678,11 +1678,13 @@ bool DeviceFiles::StoreUsageTableInfo(
|
||||
|
||||
bool DeviceFiles::RetrieveUsageTableInfo(
|
||||
CdmUsageTableHeader* usage_table_header,
|
||||
std::vector<CdmUsageEntryInfo>* usage_entry_info, bool* lru_upgrade) {
|
||||
std::vector<CdmUsageEntryInfo>* usage_entry_info, bool* lru_upgrade,
|
||||
bool* has_usage_info_entries) {
|
||||
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) {
|
||||
@@ -1712,6 +1714,7 @@ 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());
|
||||
@@ -1727,10 +1730,8 @@ bool DeviceFiles::RetrieveUsageTableInfo(
|
||||
info.offline_license_expiry_time();
|
||||
break;
|
||||
case UsageTableInfo_UsageEntryInfo_UsageEntryStorage_USAGE_INFO:
|
||||
(*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();
|
||||
(*usage_entry_info)[i].storage_type = kStorageTypeUnknown;
|
||||
*has_usage_info_entries = true;
|
||||
break;
|
||||
case UsageTableInfo_UsageEntryInfo_UsageEntryStorage_UNKNOWN:
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user