Source release 19.2.0
This commit is contained in:
@@ -83,7 +83,7 @@ void LicenseHolder::FailReloadLicense() {
|
||||
}
|
||||
|
||||
void LicenseHolder::GenerateAndPostRenewalRequest(
|
||||
const std::string& policy_id) {
|
||||
const std::string& renewal_policy_id) {
|
||||
event_listener_.set_renewal_needed(false);
|
||||
CdmKeyRequest request;
|
||||
const CdmResponseType result =
|
||||
@@ -92,7 +92,7 @@ void LicenseHolder::GenerateAndPostRenewalRequest(
|
||||
if (config_.dump_golden_data()) {
|
||||
MessageDumper::DumpRenewalRequest(request);
|
||||
}
|
||||
const std::string url = MakeUrl(config_.renewal_server(), policy_id);
|
||||
const std::string url = MakeUrl(config_.renewal_server(), renewal_policy_id);
|
||||
request_in_flight_.reset(new UrlRequest(url));
|
||||
ASSERT_TRUE(request_in_flight_->is_connected())
|
||||
<< "Failed for " << content_id();
|
||||
@@ -117,7 +117,7 @@ void LicenseHolder::LoadRenewal() {
|
||||
}
|
||||
|
||||
void LicenseHolder::GenerateAndPostReleaseRequest(
|
||||
const std::string& policy_id) {
|
||||
const std::string& release_policy_id) {
|
||||
event_listener_.set_renewal_needed(false);
|
||||
CdmKeyRequest request;
|
||||
CdmAppParameterMap empty_app_parameters;
|
||||
@@ -134,7 +134,7 @@ void LicenseHolder::GenerateAndPostReleaseRequest(
|
||||
// TODO (b/295956275) vickymin: write DumpReleaseRequest function
|
||||
// MessageDumper::DumpReleaseRequest(request);
|
||||
}
|
||||
const std::string url = MakeUrl(config_.renewal_server(), policy_id);
|
||||
const std::string url = MakeUrl(config_.renewal_server(), release_policy_id);
|
||||
request_in_flight_.reset(new UrlRequest(url));
|
||||
ASSERT_TRUE(request_in_flight_->is_connected())
|
||||
<< "Failed for " << content_id();
|
||||
@@ -176,17 +176,21 @@ CdmResponseType LicenseHolder::Decrypt(const std::string& key_id) {
|
||||
return cdm_engine_->DecryptV16(session_id_, params);
|
||||
}
|
||||
|
||||
CdmResponseType LicenseHolder::DecryptClearLead(const std::string& key_id) {
|
||||
CdmResponseType LicenseHolder::DecryptClearLead(const std::string& key_id,
|
||||
size_t num_samples) {
|
||||
constexpr size_t buffer_size = 500;
|
||||
const std::vector<uint8_t> input(buffer_size, 0);
|
||||
std::vector<uint8_t> output(buffer_size, 0);
|
||||
const std::vector<uint8_t> iv(KEY_IV_SIZE, 0);
|
||||
CdmDecryptionParametersV16 params(key_id);
|
||||
params.is_secure = false;
|
||||
CdmDecryptionSample sample(input.data(), output.data(), 0, input.size(), iv);
|
||||
CdmDecryptionSubsample subsample(input.size(), 0);
|
||||
sample.subsamples.push_back(subsample);
|
||||
params.samples.push_back(sample);
|
||||
for (size_t i = 0; i < num_samples; i++) {
|
||||
CdmDecryptionSample sample(input.data(), output.data(), 0, input.size(),
|
||||
iv);
|
||||
sample.subsamples.push_back(subsample);
|
||||
params.samples.push_back(sample);
|
||||
}
|
||||
return cdm_engine_->DecryptV16(session_id_, params);
|
||||
}
|
||||
|
||||
@@ -262,22 +266,16 @@ void LicenseHolder::GenerateKeyRequest(const InitializationData& init_data,
|
||||
}
|
||||
|
||||
std::string LicenseHolder::MakeUrl(const std::string& server_url,
|
||||
const std::string& policy_id) {
|
||||
const std::string& renewal_policy_id) {
|
||||
// For tests, we want to specify the policy, but the UAT server only allows us
|
||||
// to set the content id as the video_id. So each policy is matched to a
|
||||
// single license with the same name. The local license server, on the other
|
||||
// hand, wants to see the policy id in the url. So we have to guess which
|
||||
// format to use based on the name of the server.
|
||||
const std::string path = server_url + config_.client_auth();
|
||||
std::string video_query;
|
||||
if (!policy_id.empty()) {
|
||||
if (path.find("proxy.uat") != std::string::npos) {
|
||||
// This is uat or uat-nightly. Set the video_id.
|
||||
video_query = "video_id=" + policy_id;
|
||||
} else {
|
||||
// This is probably a local license server. Set the policy.
|
||||
video_query = "policy=" + policy_id;
|
||||
}
|
||||
if (!renewal_policy_id.empty()) {
|
||||
const std::string video_query =
|
||||
"video_id=" + content_id() + "&renewal_policy=" + renewal_policy_id;
|
||||
// If there is already a parameter, then we don't need to add another
|
||||
// question mark.
|
||||
return path + ((path.find('?') == std::string::npos) ? '?' : '&') +
|
||||
|
||||
Reference in New Issue
Block a user