Source release 16.4.0

This commit is contained in:
John W. Bruce
2020-10-09 16:08:56 -07:00
parent 160df9f57a
commit 9d17a531ee
562 changed files with 52913 additions and 37426 deletions

View File

@@ -8,6 +8,7 @@
#include <chrono>
#include <future>
#include <map>
#include <string>
#include <thread>
#include <vector>
@@ -31,6 +32,8 @@ namespace wvcdm {
namespace {
using HttpHeaderFields = std::map<std::string, std::string>;
constexpr const int kHttpOk = 200;
const std::string kCencMimeType = "cenc";
@@ -67,13 +70,9 @@ const std::vector<uint8_t> kClearData = a2b_hex(
} // namespace
class ParallelCdmTest : public WvCdmTestBase,
class ParallelCdmTest : public WvCdmTestBaseWithEngine,
public ::testing::WithParamInterface<int> {
public:
ParallelCdmTest()
: dummy_engine_metrics_(new metrics::EngineMetrics()),
cdm_engine_(&file_system_, dummy_engine_metrics_) {}
void SetUp() override {
WvCdmTestBase::SetUp();
EnsureProvisioned();
@@ -125,15 +124,23 @@ class ParallelCdmTest : public WvCdmTestBase,
ASSERT_TRUE(url_request.is_connected());
url_request.PostRequest(key_request.message);
if (url_request.GetResponse(&http_response)) {
int status_code = url_request.GetStatusCode(http_response);
ASSERT_EQ(kHttpOk, status_code);
request_ok = true;
break;
} else {
LOGW("License request failed: sid = %s, attempt = %zu",
session_id.c_str(), attempt);
std::this_thread::sleep_for(kRequestRetryWait);
const int status_code = url_request.GetStatusCode(http_response);
if (status_code == kHttpOk) {
request_ok = true;
break;
}
LOGW("License response error: code = %d, url = %s", status_code,
url.c_str());
HttpHeaderFields fields;
if (url_request.GetDebugHeaderFields(http_response, &fields)) {
for (auto field : fields) {
LOGD(" %s: %s", field.first.c_str(), field.second.c_str());
}
}
}
LOGW("License request failed: sid = %s, attempt = %zu",
session_id.c_str(), attempt);
std::this_thread::sleep_for(kRequestRetryWait);
}
ASSERT_TRUE(request_ok);
LicenseRequest license_request;
@@ -232,10 +239,6 @@ class ParallelCdmTest : public WvCdmTestBase,
ASSERT_NO_FATAL_FAILURE(CloseSession(session_id));
}
}
FileSystem file_system_;
shared_ptr<metrics::EngineMetrics> dummy_engine_metrics_;
CdmEngine cdm_engine_;
};
TEST_P(ParallelCdmTest, ParallelLicenseRequests) {