Source release 16.4.0
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user