Source release 17.1.2
This commit is contained in:
@@ -530,6 +530,19 @@ class CDM_EXPORT Cdm : public ITimerClient {
|
||||
virtual Status getStatusForHdcpVersion(HdcpVersion hdcp,
|
||||
KeyStatus* key_status) = 0;
|
||||
|
||||
// Checks if the given initialization data contains embedded, entitled keys.
|
||||
// Sets the variable pointed to by |contains_keys| to true if the init data
|
||||
// contains embedded keys or false if it does not. This function is useful if
|
||||
// apps choose to handle such initialization data differently, such as in the
|
||||
// case of key rotation or loading an offline entitlement license.
|
||||
//
|
||||
// For PSSH init data, this function accepts the full concatenated blob of
|
||||
// PSSH boxes from the stream. It will return true if any of the PSSHs contain
|
||||
// embedded Widevine keys.
|
||||
virtual Status initDataContainsEmbeddedKeys(InitDataType init_data_type,
|
||||
const std::string& init_data,
|
||||
bool* contains_keys) = 0;
|
||||
|
||||
// Creates a new session.
|
||||
// Do not use this to load an existing persistent session (use load()).
|
||||
// If successful, the session ID is returned via |session_id|.
|
||||
@@ -875,6 +888,35 @@ class CDM_EXPORT Cdm : public ITimerClient {
|
||||
// and apps to gather these metrics to send them back to Google for analysis.
|
||||
virtual Status getMetrics(std::string* serialized_metrics) = 0;
|
||||
|
||||
// Creates a Cast Provisioning Request message.
|
||||
// This method is only useful on devices that implement support for Google
|
||||
// Cast. Calling this method will generate a provisioning request that can be
|
||||
// used to provision the device's Cast certificate. The request should be sent
|
||||
// to the provisioning server just like a request from
|
||||
// getProvisioningRequest(). However, the response should be given to
|
||||
// handleCastProvisioningResponse() in order to extract the additional,
|
||||
// Cast-specific fields.
|
||||
virtual Status getCastProvisioningRequest(std::string* request) = 0;
|
||||
|
||||
// Handles a Cast provisioning response.
|
||||
// This method is only useful on devices that implement support for Google
|
||||
// Cast. It returns both the Cast public certificate and a wrapped private key
|
||||
// that can be used with castSign(). Handling a Cast provisioning response
|
||||
// does not affect the device's Widevine provisioning status. See
|
||||
// handleProvisioningResponse() for handling Widevine provisioning.
|
||||
virtual Status handleCastProvisioningResponse(const std::string& response,
|
||||
std::string* cert,
|
||||
std::string* wrapped_key) = 0;
|
||||
|
||||
// Signs a method for Cast usage.
|
||||
// This method is only useful on devices that support Google Cast and after
|
||||
// receiving a wrapped private key from handleCastProvisioningResponse(). This
|
||||
// method generates a signature for the message using the given private key in
|
||||
// PKCS#1 with block type 1 padding.
|
||||
virtual Status castSign(const std::string& wrapped_key,
|
||||
const std::string& message,
|
||||
std::string* signature) = 0;
|
||||
|
||||
protected:
|
||||
Cdm() {}
|
||||
};
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
# define CDM_VERSION_MINOR 1
|
||||
#endif
|
||||
#ifndef CDM_VERSION_PATCH
|
||||
# define CDM_VERSION_PATCH 1
|
||||
# define CDM_VERSION_PATCH 2
|
||||
#endif
|
||||
#ifndef CDM_VERSION_TAG
|
||||
# define CDM_VERSION_TAG ""
|
||||
|
||||
Reference in New Issue
Block a user