Source release 14.1.2
This commit is contained in:
@@ -2,6 +2,13 @@
|
|||||||
|
|
||||||
[TOC]
|
[TOC]
|
||||||
|
|
||||||
|
## 14.1.2 (2018-08-21)
|
||||||
|
|
||||||
|
Bugfixes:
|
||||||
|
- Fixed an assert that would always fail when using opaque handles for the
|
||||||
|
output type. This bug was introduced in CE CDM 14.0.0. All partners using
|
||||||
|
14.0.0 through 14.1.1 and opaque handles should update to 14.1.2.
|
||||||
|
|
||||||
## 14.1.1 (2018-07-25)
|
## 14.1.1 (2018-07-25)
|
||||||
|
|
||||||
Bugfixes:
|
Bugfixes:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Widevine CE CDM 14.1.1
|
# Widevine CE CDM 14.1.2
|
||||||
|
|
||||||
Released 2018-07-25
|
Released 2018-08-21
|
||||||
|
|
||||||
## Getting started
|
## Getting started
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
// Widevine CE CDM Version
|
// Widevine CE CDM Version
|
||||||
#define CDM_VERSION "14.1.1"
|
#define CDM_VERSION "14.1.2"
|
||||||
#define EME_VERSION "https://www.w3.org/TR/2017/REC-encrypted-media-20170918"
|
#define EME_VERSION "https://www.w3.org/TR/2017/REC-encrypted-media-20170918"
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
#include "file_store.h"
|
#include "file_store.h"
|
||||||
#include "license.h"
|
#include "license.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
|
#include "metrics_collections.h"
|
||||||
#include "properties.h"
|
#include "properties.h"
|
||||||
#include "service_certificate.h"
|
#include "service_certificate.h"
|
||||||
#include "string_conversions.h"
|
#include "string_conversions.h"
|
||||||
@@ -1407,7 +1408,8 @@ Cdm::Status CdmImpl::ConvertHdcpLevel(const std::string& query_value,
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool VerifyL1() {
|
bool VerifyL1() {
|
||||||
CryptoSession cs(NULL);
|
metrics::CryptoMetrics throwaway_metrics;
|
||||||
|
CryptoSession cs(&throwaway_metrics);
|
||||||
return cs.GetSecurityLevel() == kSecurityLevelL1;
|
return cs.GetSecurityLevel() == kSecurityLevelL1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -231,6 +231,8 @@ class CdmTest : public Test, public Cdm::IEventListener {
|
|||||||
if (result != OEMCrypto_ERROR_NOT_IMPLEMENTED) {
|
if (result != OEMCrypto_ERROR_NOT_IMPLEMENTED) {
|
||||||
EXPECT_EQ(OEMCrypto_SUCCESS, result);
|
EXPECT_EQ(OEMCrypto_SUCCESS, result);
|
||||||
}
|
}
|
||||||
|
std::string oec_level = OEMCrypto_SecurityLevel();
|
||||||
|
is_oec_l1_ = (oec_level == "L1");
|
||||||
ASSERT_EQ(OEMCrypto_SUCCESS, OEMCrypto_Terminate());
|
ASSERT_EQ(OEMCrypto_SUCCESS, OEMCrypto_Terminate());
|
||||||
|
|
||||||
// Reinit the library.
|
// Reinit the library.
|
||||||
@@ -484,6 +486,7 @@ class CdmTest : public Test, public Cdm::IEventListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
scoped_ptr<Cdm> cdm_;
|
scoped_ptr<Cdm> cdm_;
|
||||||
|
bool is_oec_l1_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -631,6 +634,21 @@ TEST_F(CdmTest, Initialize) {
|
|||||||
g_host, g_host, NULL, static_cast<Cdm::LogLevel>(g_cutoff));
|
g_host, g_host, NULL, static_cast<Cdm::LogLevel>(g_cutoff));
|
||||||
EXPECT_EQ(Cdm::kTypeError, status);
|
EXPECT_EQ(Cdm::kTypeError, status);
|
||||||
|
|
||||||
|
// Try all output types.
|
||||||
|
status = Cdm::initialize(
|
||||||
|
Cdm::kDirectRender, working_client_info,
|
||||||
|
g_host, g_host, g_host, static_cast<Cdm::LogLevel>(g_cutoff));
|
||||||
|
EXPECT_EQ(Cdm::kSuccess, status);
|
||||||
|
|
||||||
|
status = Cdm::initialize(
|
||||||
|
Cdm::kOpaqueHandle, working_client_info,
|
||||||
|
g_host, g_host, g_host, static_cast<Cdm::LogLevel>(g_cutoff));
|
||||||
|
if (is_oec_l1_) {
|
||||||
|
EXPECT_EQ(Cdm::kSuccess, status);
|
||||||
|
} else {
|
||||||
|
EXPECT_EQ(Cdm::kNotSupported, status);
|
||||||
|
}
|
||||||
|
|
||||||
// One last init with everything correct and working.
|
// One last init with everything correct and working.
|
||||||
status = Cdm::initialize(
|
status = Cdm::initialize(
|
||||||
Cdm::kNoSecureOutput, working_client_info,
|
Cdm::kNoSecureOutput, working_client_info,
|
||||||
|
|||||||
Reference in New Issue
Block a user