Add Support for WebM Back
Adds support for WebM to the CDM. Decryption remains untouched, however the initialization data is passed differently for WebM. The previous version of this change broke playback for certain apps that were being allowed to pass invalid MIME types before this change was made. This version maintains backwards-compatiblity for these apps for now by rewriting their MIME types as "video/mp4". Merge of https://widevine-internal-review.googlesource.com/9225/ and https://widevine-internal-review.googlesource.com/9611/ from the Widevine cdm repo. Bug: 10638562 Change-Id: Ib37e838d08363f07b34b3a2e79a3f80a1f43e9ad
This commit is contained in:
@@ -298,7 +298,8 @@ class WvCdmRequestLicenseTest : public testing::Test {
|
||||
std::string server_url;
|
||||
std::string key_set_id;
|
||||
EXPECT_EQ(wvcdm::KEY_MESSAGE,
|
||||
decryptor_.GenerateKeyRequest(session_id_, key_set_id, init_data,
|
||||
decryptor_.GenerateKeyRequest(session_id_, key_set_id,
|
||||
"video/mp4", init_data,
|
||||
license_type, app_parameters,
|
||||
&key_msg_, &server_url));
|
||||
EXPECT_EQ(0u, server_url.size());
|
||||
@@ -312,7 +313,8 @@ class WvCdmRequestLicenseTest : public testing::Test {
|
||||
std::string init_data;
|
||||
wvcdm::CdmAppParameterMap app_parameters;
|
||||
EXPECT_EQ(wvcdm::KEY_MESSAGE,
|
||||
decryptor_.GenerateKeyRequest(session_id_, key_set_id_, init_data,
|
||||
decryptor_.GenerateKeyRequest(session_id_, key_set_id_,
|
||||
"video/mp4", init_data,
|
||||
license_type, app_parameters,
|
||||
&key_msg_, server_url));
|
||||
// TODO(edwinwong, rfrias): Add tests cases for when license server url
|
||||
@@ -326,9 +328,10 @@ class WvCdmRequestLicenseTest : public testing::Test {
|
||||
wvcdm::CdmAppParameterMap app_parameters;
|
||||
std::string server_url;
|
||||
EXPECT_EQ(wvcdm::KEY_MESSAGE,
|
||||
decryptor_.GenerateKeyRequest(session_id, key_set_id, init_data,
|
||||
kLicenseTypeRelease, app_parameters,
|
||||
&key_msg_, &server_url));
|
||||
decryptor_.GenerateKeyRequest(session_id, key_set_id, "video/mp4",
|
||||
init_data, kLicenseTypeRelease,
|
||||
app_parameters, &key_msg_,
|
||||
&server_url));
|
||||
}
|
||||
|
||||
// Post a request and extract the drm message from the response
|
||||
@@ -961,9 +964,10 @@ TEST_F(WvCdmRequestLicenseTest, SecurityLevelPathBackwardCompatibility) {
|
||||
wvcdm::CdmAppParameterMap app_parameters;
|
||||
std::string server_url;
|
||||
EXPECT_EQ(wvcdm::NEED_PROVISIONING,
|
||||
decryptor_.GenerateKeyRequest(session_id_, key_set_id, g_key_id,
|
||||
kLicenseTypeStreaming, app_parameters,
|
||||
&key_msg_, &server_url));
|
||||
decryptor_.GenerateKeyRequest(session_id_, key_set_id, "video/mp4",
|
||||
g_key_id, kLicenseTypeStreaming,
|
||||
app_parameters, &key_msg_,
|
||||
&server_url));
|
||||
EXPECT_EQ(NO_ERROR,
|
||||
decryptor_.GetProvisioningRequest(&key_msg_,
|
||||
&provisioning_server_url));
|
||||
|
||||
Reference in New Issue
Block a user