Source release v3.2.0
This commit is contained in:
@@ -15,6 +15,7 @@ typedef __int64 int64_t;
|
||||
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
// Define CDM_EXPORT to export functionality across shared library boundaries.
|
||||
#if defined(WIN32)
|
||||
@@ -217,6 +218,11 @@ class CDM_EXPORT Cdm : public ITimerClient {
|
||||
virtual bool remove(const std::string& name) = 0;
|
||||
virtual int32_t size(const std::string& name) = 0;
|
||||
|
||||
// populates |file_names| with the name of each file in the file system.
|
||||
// This is assumed to be a flat filename space (top level directory is
|
||||
// unnamed, and there are no subdirectories).
|
||||
virtual bool list(std::vector<std::string>* file_names) = 0;
|
||||
|
||||
protected:
|
||||
IStorage() {}
|
||||
virtual ~IStorage() {}
|
||||
@@ -259,7 +265,7 @@ class CDM_EXPORT Cdm : public ITimerClient {
|
||||
// Client information, provided by the application, independent of CDM
|
||||
// instances.
|
||||
// See Cdm::initialize().
|
||||
// These parameters end up as client indentification in license requests.
|
||||
// These parameters end up as client identification in license requests.
|
||||
// All fields may be used by a license server proxy to drive business logic.
|
||||
// Some fields are required (indicated below), but please fill out as many
|
||||
// as make sense for your application.
|
||||
@@ -325,16 +331,37 @@ class CDM_EXPORT Cdm : public ITimerClient {
|
||||
|
||||
virtual ~Cdm() {}
|
||||
|
||||
// Provides a server certificate to be used to encrypt messages to the
|
||||
// license server.
|
||||
// If |privacy_mode| was true in create() and setServerCertificate() is not
|
||||
// called, the CDM will attempt to provision a server certificate through
|
||||
// IEventListener::onMessage() with messageType == kLicenseRequest.
|
||||
// May not be called if |privacy_mode| was false.
|
||||
virtual Status setServerCertificate(const std::string& certificate) = 0;
|
||||
// Sets up a service certificate for the CDM. It is used to encrypt
|
||||
// outgoing messages (the ClientIdentification portion of the license and
|
||||
// provisioning requests). It also holds the provider ID setting, used in
|
||||
// the provisioning request.
|
||||
// If setServiceCertificate() is not called, provider ID will not be set
|
||||
// in the provisioning request. If this function is not called and
|
||||
// privacy mode is enabled, a service certificate request will be initiated
|
||||
// as a preliminary step in the license request.
|
||||
virtual Status setServiceCertificate(const std::string& certificate) = 0;
|
||||
|
||||
// Determine if the device has a Device Certificate (for the current origin).
|
||||
// The Device Certificate is origin-specific, and the origin is
|
||||
// dertermined by the CDM's current IStorage object.
|
||||
virtual bool isProvisioned() = 0;
|
||||
|
||||
// Remove the device's Device Certificate (for the current origin).
|
||||
// The Device Certificate is origin-specific, and the origin is
|
||||
// determined by the CDM's current IStorage object.
|
||||
virtual Status removeProvisioning() = 0;
|
||||
|
||||
// Remove the device's usage table.
|
||||
// This calls on OEMCrypto to delete its usage records.
|
||||
virtual Status removeUsageTable() = 0;
|
||||
|
||||
// Get the current list of offline licenses on the system.
|
||||
// License storage is origin-specific, and the origin is determined by the
|
||||
// CDM's current IStorage object.
|
||||
virtual Status listStoredLicenses(std::vector<std::string>* key_set_ids) = 0;
|
||||
|
||||
// Creates a new session.
|
||||
// Do not use this to load an existing persistent session.
|
||||
// Do not use this to load an existing persistent session (use load()).
|
||||
// If successful, the session_id is returned via |sessionId|.
|
||||
virtual Status createSession(SessionType session_type,
|
||||
std::string* session_id) = 0;
|
||||
@@ -568,6 +595,15 @@ class CDM_EXPORT Cdm : public ITimerClient {
|
||||
const std::string& key_id, GenericSigningAlgorithmType algorithm,
|
||||
const std::string& signature) = 0;
|
||||
|
||||
// Enable enforcement of Video Resolution Constraints.
|
||||
// This function should be called during session startup and any time
|
||||
// the video resolution changes.
|
||||
// Video resolution in license policy is a 32-bit value representing pixels.
|
||||
// If the product of width and height is greater than or equal to 1^32,
|
||||
// return kRangeError.
|
||||
virtual Status setVideoResolution(const std::string& session_id,
|
||||
uint32_t width, uint32_t height) = 0;
|
||||
|
||||
protected:
|
||||
Cdm() {}
|
||||
};
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
// Widevine CE CDM Version
|
||||
#define CDM_VERSION "v3.1.0-0-g63dfeca-ce"
|
||||
#define CDM_VERSION "v3.2.0-0-g565f4378-ce"
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
(__GNUC__ == 4 && __GNUC_MINOR__ >= 7) \
|
||||
)
|
||||
|
||||
#if defined(COMPILER_MSVC) || defined(__clang__) || GCC_HAS_OVERRIDE
|
||||
#if !defined(DISABLE_CPP_11) && \
|
||||
(defined(COMPILER_MSVC) || defined(__clang__) || GCC_HAS_OVERRIDE)
|
||||
#define OVERRIDE override
|
||||
#else
|
||||
#define OVERRIDE
|
||||
|
||||
Reference in New Issue
Block a user