diff --git a/centos/cc_header/environment.h b/centos/cc_header/environment.h index 631cc24..f8fa3db 100644 --- a/centos/cc_header/environment.h +++ b/centos/cc_header/environment.h @@ -1,7 +1,7 @@ // Copyright 2020 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_ENVIRONMENT_H_ -#define VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_ENVIRONMENT_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_ENVIRONMENT_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_ENVIRONMENT_H_ #include @@ -10,8 +10,8 @@ #include "common/drm_root_certificate.h" #include "common/security_profile_list.h" #include "common/status.h" -#include "license_server_sdk/internal/environment_impl.h" -#include "license_server_sdk/public/session.h" +#include "sdk/external/cpp/wvdrm/license_server_sdk/session.h" +#include "sdk/internal/environment_impl.h" namespace video_widevine { @@ -47,6 +47,11 @@ class Environment { void SetDevicesToHandleOEMCryptoVersionInKCB( const std::string& system_id_list); + // Set pre-provisioning keys system-wide. Map key is system_id, value. + // Value should be human-readable hex digits encoded bytes, e.g. + // 'preProvKeys.put(100, "f7008b38acc00ec68c732ac665c55c65")'. Must be called + // before any other calls to this class. Calls are thread-safe, so the keys + // can be updated at any time. void SetPreProvisioningKeys(const std::map& keys); void SetPreProvisioningKeys(const std::multimap& keys); @@ -222,14 +227,22 @@ class Environment { // may be automatically set, // // The default setting for |auto_set_provider_session_token| is 'true'. - virtual void SetAutosetProviderSessionToken( + virtual void SetAutoSetProviderSessionToken( bool auto_set_provider_session_token); // Returns the setting as to whether the provider session token will be // automatically set. - virtual bool GetAutosetProviderSessionToken() const; + virtual bool GetAutoSetProviderSessionToken() const; + + // Set the provider key used for L3 CDM. + // |provider_key_config_bytes| is a serialized ProviderKeyConfig proto + // message. Return OK if parsing is successful, otherwise an error is + // returned. + virtual Status SetProviderKeyConfig( + const std::string& provider_key_config_bytes); private: + friend class EnvironmentTest; // Environment::CreateSession which also fills in the parsed // ExternalLicenseRequest. Used to create a Session object. Status CreateSession(SignedMessage* signed_message, Session** session, @@ -239,8 +252,9 @@ class Environment { std::unique_ptr device_security_profile_list_; std::shared_ptr env_impl_; - friend class EnvironmentTest; + // Provider key configuration assigned to a provider for use with L3 CDM. + ProviderKeyConfig provider_key_config_; }; } // namespace video_widevine -#endif // VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_ENVIRONMENT_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_ENVIRONMENT_H_ diff --git a/centos/cc_header/environment_impl.h b/centos/cc_header/environment_impl.h index 9985756..add2448 100644 --- a/centos/cc_header/environment_impl.h +++ b/centos/cc_header/environment_impl.h @@ -1,7 +1,7 @@ // Copyright 2021 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_INTERNAL_ENVIRONMENT_IMPL_H_ -#define VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_INTERNAL_ENVIRONMENT_IMPL_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_INTERNAL_ENVIRONMENT_IMPL_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_INTERNAL_ENVIRONMENT_IMPL_H_ #include #include @@ -16,13 +16,14 @@ #include "common/core_message_util.h" #include "common/security_profile_list.h" #include "common/status.h" -#include "license_server_sdk/internal/session_usage_report.h" +#include "sdk/internal/session_usage_report.h" #include "common/crypto_util.h" #include "protos/public/client_identification.pb.h" #include "protos/public/device_certificate_status.pb.h" #include "protos/public/license_protocol.pb.h" #include "protos/public/license_server_sdk.pb.h" #include "protos/public/oem_key_container.pb.h" +#include "protos/public/provider_key.pb.h" #include "protos/public/provisioned_device_info.pb.h" namespace video_widevine { @@ -192,19 +193,36 @@ class EnvironmentImpl { // If |auto_set_provider_session_token| is 'true', the provider session token // may be automatically set, + // * if the provider session token has not been specified. + // * for OFFLINE requests + // * if Policy.can_persist is set to 'true'. + // * if Policy.can_renew is set to 'true'. + // * if OEMCryptoVersion of the client making the request is at least 16. // // The default setting for |auto_set_provider_session_token| is 'true'. - virtual void SetAutosetProviderSessionToken( + virtual void SetAutoSetProviderSessionToken( bool auto_set_provider_session_token) { auto_set_provider_session_token_ = auto_set_provider_session_token; } // Returns the setting as to whether the provider session token will be // automatically set. - virtual bool GetAutosetProviderSessionToken() const { + virtual bool GetAutoSetProviderSessionToken() const { return auto_set_provider_session_token_; } + // Set the provider key used for L3 CDM. + // |provider_key_config_bytes| is a serialized ProviderKeyConfig proto + // message. Return OK if parsing is successful, otherwise an error is + // returned. + virtual Status SetProviderKeyConfig( + const std::string& provider_key_config_bytes); + + // Returns the provider key config. + virtual const ProviderKeyConfig& GetProviderKeyConfig() const { + return provider_key_config_; + } + virtual ~EnvironmentImpl(); private: @@ -221,7 +239,9 @@ class EnvironmentImpl { const DrmRootCertificate* drm_root_certificate_; mutable absl::Mutex profile_mutex_; SecurityProfileList* profile_list_ ABSL_GUARDED_BY(profile_mutex_); + // Provider key configuration assigned to a provider for use with L3 CDM. + ProviderKeyConfig provider_key_config_; }; } // namespace video_widevine -#endif // VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_INTERNAL_ENVIRONMENT_IMPL_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_INTERNAL_ENVIRONMENT_IMPL_H_ diff --git a/centos/cc_header/session.h b/centos/cc_header/session.h index 4e02e23..b21576b 100644 --- a/centos/cc_header/session.h +++ b/centos/cc_header/session.h @@ -1,7 +1,7 @@ // Copyright 2017 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_SESSION_H__ -#define VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_SESSION_H__ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_SESSION_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_SESSION_H_ #include #include @@ -20,6 +20,7 @@ #include "protos/public/license_server_sdk.pb.h" #include "protos/public/oem_key_container.pb.h" #include "protos/public/security_profile.pb.h" +#include "protos/public/provider_key.pb.h" namespace video_widevine { @@ -42,242 +43,6 @@ class SessionUsage; // global settings and create new sessions. class Session { public: - // Specify a comma separated list of system Ids that can support having - // OEMCrypto version, as specified in the license request, reflected back in - // the Key Control Block which is used by partner. Otherwise, only 'kctl' or - // 'kc09' is returned in KCB. - // TODO(tinskip): What is this, and can we do it better? Seems like something - // that would be better in the ClientCapabilities or device metadata. - static void SetDevicesToHandleOEMCryptoVersionInKCB( - const std::string& system_id_list); - // Set pre-provisioning keys system-wide. Map key is system_id, value. - // Value should be human-readable hex digits encoded bytes. - // Must be called before any other calls to this class. Calls are - // thread-safe, so the keys can be updated at any time. - static void SetPreProvisioningKeys( - const std::map& keys); - static void SetPreProvisioningKeys( - const std::multimap& keys); - // Set the certificate status list system-wide. |root_cert| is the root - // certificate which signed the DCSL. - // |expiration_period| is the number of seconds until the - // certificate_status_list expires after its creation time - // (creation_time_seconds). If |allow_unknown_devices| is false, an error is - // returned if the device does not appear in the certificate_status_list. - static Status SetCertificateStatusList( - const DrmRootCertificate* root_cert, - const std::string& certificate_status_list, - uint32_t expiration_period_seconds, bool allow_unknown_devices); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Add a service certificate system-wide. |root_cert| is the root certificate - // which signed the service certificate; |service_certificate| is a - // Google-generated certificate used to authenticate the service provider for - // purposes of device privacy; |service_private_key| is the encrypted PKCS#8 - // private RSA key corresponding to the service certificate; and - // |service_private_key_passphrase| is the password required to decrypt - // |service_private_key|. - static Status AddDrmServiceCertificate( - const DrmRootCertificate* root_cert, - const std::string& service_certificate, - const std::string& service_private_key, - const std::string& service_private_key_passphrase); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Enable delivery of licenses to client devices. This includes devices with - // TEST_ONLY status, and development platform verification certificates. - // Defaults to false. - static void AllowDevelopmentClients(bool enable); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Enable delivery of licenses to TEST_ONLY client devices. - // |device_list_make| is a comma separated list of devices to allow even - // if the device is in a TEST_ONLY state. This list wil be used only if - // AllowDevelopmentClient(false) is in use. - static void AllowTestOnlyDevices(const std::string& device_list_make) { - AllowTestOnlyDevicesByMake(device_list_make); - } - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - static void AllowTestOnlyDevicesByMake(const std::string& device_list_make); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Enable delivery of licenses to TEST_ONLY client devices. - // |device_list_provider| is a comma separated list of provider to allow - // even if the device is in a TEST_ONLY state. This list wil be used only if - // AllowDevelopmentClient(false) is in use. - static void AllowTestOnlyDevicesByProvider( - const std::string& device_list_provider); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Enable delivery of licenses to revoked client devices. |system_id_list| is - // a comma separated list of systems Ids to allow even if revoked. - static void AllowRevokedDevices(const std::string& system_id_list); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // A comma separated list of DRM Certificate Serial Numbers that are revoked. - static void RevokedDrmCertificateSerialNumbers( - const std::string& drm_certificate_serial_numbers); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Restriction on core message features. If this is an empty string, the - // default feature set is used. If it is an integer, that is the ODK version - // supported. - static void SetCoreMessageFeatures(const std::string& core_message_features); - - // Creates a Session object. - // |root_cert| is the root certificate to be used to validate client - // credentials. - // |signed_license_request| is the serialized SignedMessage received from the - // client. |session| points to a Session*, which must be initialized to NULL - // on entry, but |session| itself may not be NULL. The new Session object will - // be owned by the caller. This method returns Status::OK if successful, - // or an appropriate error status, in which case - // Session::GenerateErrorResponse should be invoked. - // Example usage: - // Session* session = NULL; - // Status status = Session::Create(root_cert, request_from_client, - // &session); - // if (!status.ok()) { - // std::string error_license; - // if (Session::GenerateErrorResponse(status, &error_license)) { - // // Send error_license to the client. - // } else { - // // Handle error - // } - // return ... - // } - // // Create license, invoke GenerateSignedLicense, etc. - static Status Create(const DrmRootCertificate* root_cert, - const std::string& signed_license_request, - Session** session); - - // Create a session for generating a license. This variation of Create takes - // options to allow for the creation of the session to succeed even if the - // device is revoked. - static Status CreateWithOptions(const DrmRootCertificate* root_cert, - const std::string& signed_license_request, - const SessionCreateOptions& options, - Session** session); - - // Variation of Session::Create which also fills in the parsed LicenseRequest, - // for use in logging or debugging. - static Status Create(const DrmRootCertificate* root_cert, - const std::string& signed_license_request, - const SessionCreateOptions& options, Session** session, - LicenseRequest* parsed_request_out); - - // Same as Create(), but caller can specify the ClientIdentification - // message and/or PlatformVerificationStatus. If ClientIdentification is - // specified, this variation of Create() will use the specified |client_id| - // instead of what is specified in |signed_license_request|. If - // PlatformVerificationStatus is specified, this method will use the specified - // |platform_verification_status| instead of attempting to determine it. - // Background for this function is to support cases where the client - // identification is encrypted with the provider's service certificate in - // which case we won't be able to decrypt OR when the provider determines - // platform verification. The provider will specify the - // clear client identification in |client_id| and the platform verification - // in |platform_verification_status|. - static Status CreateForProxy( - const DrmRootCertificate* root_cert, - const std::string& signed_license_request, - const PlatformVerificationStatus platform_verification_status, - const ClientIdentification* client_id, - const SessionCreateOptions& options, Session** session, - LicenseRequest* parsed_request_out); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Generates a SignedMessage containing a message generated in response to - // an error condition. |status| is a previous error status returned by the - // Session or Status(error::UNAVAILABLE, ...) to indicate that the - // backend is unavailable, |signed_message| points to a std::string to contain the - // serialized SignedMessage, and may not be NULL. This method returns true if - // there is an error license to be sent to the client, or false otherwise. - // Example usage in the Session::Create comments above. - static bool GenerateErrorResponse(const Status& status, - std::string* signed_message_bytes); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Generates a SignedMessage containing a service certificate for the - // specified |provider_id|. This method returns true if a service certificate - // exist for the provider. - static bool GenerateServiceCertificateResponse( - const std::string& provider_id, std::string* signed_message_bytes); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // DeriveKey uses the NIST 800-108 KDF recommendation, using AES-CMAC PRF. - // NIST 800-108: - // http://csrc.nist.gov/publications/nistpubs/800-108/sp800-108.pdf - // AES-CMAC: - // http://tools.ietf.org/html/rfc4493 - static std::string DeriveKey(const std::string& key, const std::string& label, - const std::string& context, - const uint32_t size_bits); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Returns a std::string containing the Widevine License Server SDK version in the - // form .. . - static std::string GetSdkVersionString(); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // If set to true, adds SDK and server version information to the license - // response. - static void SetIncludeVersionInfoInLicense(bool include_version_info); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Sets the service version information which can be included with the license - // response. If SetIncludeVersionInfoInLicense() is set to true and the server - // version is not empty, then the server version will be included in the - // license response. The host_version must be <= 32 characters and limited to - // alphanumeric and '_', '-', ':', ';', ' ', '/' and '.'. - static void SetHostServerVersion(const std::string& host_version); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Generate a signed request to be sent to Widevine Certificate Provisioning - // Server to retrieve 'DeviceCertificateStatusList'. - static Status GenerateDeviceStatusListRequest( - std::string* signed_device_certificate_status_list_request); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Set the custom device security profile list which is returned, from a call - // to Widevine PublishedDevicesService. - static Status SetCustomDeviceSecurityProfiles( - const DrmRootCertificate* root_cert, - absl::string_view serialized_signed_device_security_profiles); - virtual ~Session(); virtual const LicenseRequest& request() const; virtual const std::string& GetSessionId(); @@ -385,47 +150,6 @@ class Session { // 'Provider' making the request. virtual void set_provider(const std::string& provider); - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Obtain the owner list for custom profiles. - virtual Status GetCustomDeviceSecurityProfileOwners( - std::vector* custom_profile_owners) const; - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Return a list of custom profile names associated with |owner_name|. - virtual Status GetCustomDeviceSecurityProfileNames( - absl::string_view owner_name, - std::vector* profile_names) const; - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Return the custom profiles associated with |owner_name|. - virtual Status GetCustomDeviceSecurityProfiles( - absl::string_view owner_name, - std::vector* custom_device_security_profiles) const; - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Return a list of default profile names obtained from default profiles. - // The input argument |profile_names| cannot be null and it will be replaced - // by the results. - // For any non-ok status, |profile_names| won't be modified. - virtual Status GetDefaultDeviceSecurityProfileNames( - std::vector* profile_names) const; - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Return the default profile associated with |profile_name|. - virtual Status GetDefaultDeviceSecurityProfile( - absl::string_view profile_name, - SecurityProfile* device_security_profile) const; - // Return the device status such as as RELEASED or REVOKED. virtual DeviceCertificateStatus::Status GetDeviceStatus() const; @@ -445,28 +169,6 @@ class Session { // Retrieves the request type. virtual LicenseRequest::RequestType request_type() const; - // Deprecated. - // TODO(b/200839386): This API is now available in environment.h. It will be - // removed from this header file in the Q4 2021 SDK release. - // If |auto_set_provider_session_token| is 'true', the provider session token - // will be automatically set, - // * if the provider session token has not been specified. - // * for OFFLINE requests - // * if Policy.can_persist is set to 'true'. - // * if Policy.can_renew is set to 'true'. - // * if OEMCryptoVersion of the client making the request is at least 16. - // - // The default setting for |auto_set_provider_session_token| is 'true'. - virtual void set_auto_set_provider_session_token( - bool auto_set_provider_session_token); - - // Deprecated. - // TODO(b/200839386): This API is now available in environment.h. It will be - // removed from this header file in the Q4 2021 SDK release. - // Returns the setting as to whether the provider session token will be - // automatically set. - virtual bool auto_set_provider_session_token() const; - protected: Session(std::shared_ptr env_impl, std::unique_ptr impl); @@ -484,26 +186,12 @@ class Session { Session& operator=(const Session&) = delete; #endif - // Session::Create which also fills in the parsed - // ExternalLicenseRequest. Used to create a Session object. - static Status Create(const DrmRootCertificate* root_cert, - SignedMessage* signed_message, Session** session, - ExternalLicenseRequest* parsed_request_out); - - explicit Session(std::unique_ptr impl); - - explicit Session(std::unique_ptr - external_playready_session_impl); - std::shared_ptr env_impl_; std::unique_ptr impl_; std::unique_ptr external_playready_session_impl_; - static absl::Mutex profile_mutex_; - static std::unique_ptr security_profile_list_ - ABSL_GUARDED_BY(profile_mutex_); }; } // namespace video_widevine -#endif // VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_SESSION_H__ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_SESSION_H_ diff --git a/centos/cc_header/wvpl_license_counter.h b/centos/cc_header/wvpl_license_counter.h index 788e1ad..12388cf 100644 --- a/centos/cc_header/wvpl_license_counter.h +++ b/centos/cc_header/wvpl_license_counter.h @@ -1,14 +1,15 @@ // Copyright 2017 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_LICENSE_COUNTER_H_ -#define VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_LICENSE_COUNTER_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_LICENSE_COUNTER_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_LICENSE_COUNTER_H_ #include + #include #include #include "absl/synchronization/mutex.h" -#include "sdk/external/common/wvpl/wvpl_types.h" +#include "sdk/external/cpp/wvpl/common/wvpl_types.h" #include "protos/public/provisioned_device_info.pb.h" #include "protos/public/sdk_stats.pb.h" @@ -99,4 +100,4 @@ class WvPLLicenseCounter { } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_LICENSE_COUNTER_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_LICENSE_COUNTER_H_ diff --git a/centos/cc_header/wvpl_sdk_environment.h b/centos/cc_header/wvpl_sdk_environment.h index e0b8e8b..69fd01e 100644 --- a/centos/cc_header/wvpl_sdk_environment.h +++ b/centos/cc_header/wvpl_sdk_environment.h @@ -1,15 +1,16 @@ // Copyright 2017 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_ENVIRONMENT_H_ -#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_ENVIRONMENT_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_ENVIRONMENT_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_ENVIRONMENT_H_ #include #include #include "absl/synchronization/mutex.h" -#include "sdk/external/common/wvpl/wvpl_types.h" +#include "sdk/external/cpp/wvpl/common/wvpl_types.h" #include "protos/public/client_identification.pb.h" #include "protos/public/device_security_profile_list.pb.h" +#include "protos/public/provider_key.pb.h" #include "protos/public/security_profile.pb.h" namespace video_widevine { @@ -152,6 +153,22 @@ class WvPLSDKEnvironment { */ static WvPLDeviceInfo GetDeviceInfo(uint32_t system_id); + /** + * Set the provider key used for L3 CDM. + * |provider_key_config_bytes| is a serialized ProviderKeyConfig proto + * message. Returns OK if parsing is successful, otherwise an error is + * returned. + */ + virtual WvPLStatus SetProviderKeyConfig( + const std::string& provider_key_config_bytes); + + /** + * Returns the provider key config used for L3 CDM. + */ + const video_widevine::ProviderKeyConfig& GetProviderKeyConfig() const { + return provider_key_config_; + } + protected: // Return the signature for the provider specified in the |config_values| // parameter in the constructor. |signature| is owned by the caller. @@ -197,6 +214,8 @@ class WvPLSDKEnvironment { // List of device system Ids to succeed even if the device is revoked. std::vector allowed_revoked_devices_ ABSL_GUARDED_BY(allowed_revoked_devices_mutex_); + // Provider key config used with L3 CDM. + video_widevine::ProviderKeyConfig provider_key_config_; private: // Get the expected service type for drm service certificate. @@ -244,4 +263,4 @@ class WvPLSDKEnvironment { } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_ENVIRONMENT_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_ENVIRONMENT_H_ diff --git a/centos/cc_header/wvpl_sdk_session.h b/centos/cc_header/wvpl_sdk_session.h index 089c466..a1304bb 100644 --- a/centos/cc_header/wvpl_sdk_session.h +++ b/centos/cc_header/wvpl_sdk_session.h @@ -1,12 +1,12 @@ // Copyright 2018 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_SESSION_H_ -#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_SESSION_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_SESSION_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_SESSION_H_ #include #include "common/security_profile_list.h" -#include "sdk/external/common/wvpl/wvpl_types.h" +#include "sdk/external/cpp/wvpl/common/wvpl_types.h" #include "protos/public/device_certificate_status.pb.h" namespace video_widevine { @@ -219,6 +219,7 @@ class WvPLSDKSession { WvPLRequestType request_type_; bool has_session_state_ = false; bool has_encrypted_client_id_ = false; + bool using_generated_content_id_ = false; std::string provider_; std::string provider_iv_; std::string provider_key_; @@ -331,6 +332,10 @@ class WvPLSDKSession { DeviceStatus GetDeviceStatus(video_widevine::DeviceCertificateStatus::Status device_certificate_status) const; + bool using_generated_content_id() const { + return using_generated_content_id_; + } + private: std::unique_ptr system_id_; bool has_policy_ = false; @@ -344,4 +349,4 @@ class WvPLSDKSession { } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_SESSION_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_SESSION_H_ diff --git a/centos/cc_header/wvpl_session.h b/centos/cc_header/wvpl_session.h index 857d3b2..7836e4b 100644 --- a/centos/cc_header/wvpl_session.h +++ b/centos/cc_header/wvpl_session.h @@ -1,16 +1,16 @@ // Copyright 2017 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_SESSION_H_ -#define VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_SESSION_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_SESSION_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_SESSION_H_ #include #include #include -#include "license_server_sdk/public/session.h" -#include "sdk/external/common/wvpl/wvpl_sdk_session.h" -#include "sdk/external/common/wvpl/wvpl_types.h" +#include "sdk/external/cpp/wvdrm/license_server_sdk/session.h" +#include "sdk/external/cpp/wvpl/common/wvpl_sdk_session.h" +#include "sdk/external/cpp/wvpl/common/wvpl_types.h" #include "protos/public/errors.pb.h" #include "protos/public/license_server_sdk.pb.h" #include "protos/public/oem_key_container.pb.h" @@ -28,9 +28,9 @@ namespace wv_pl_sdk { class WvPLLicenseCounter; // major version to line up with latest released OEMCryptoAPI version. -const uint32_t kMajorVersion = 16; -const uint32_t kMinorVersion = 5; -const uint32_t kRelease = 0; +const uint32_t kMajorVersion = 17; +const uint32_t kMinorVersion = 0; +const uint32_t kRelease = 1; // Once a Widevine environment object is successfully initialized, generate a // Widevine session object for each license request. CreateSession() parses @@ -116,4 +116,4 @@ class WvPLSession : public WvPLSDKSession { } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_SESSION_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_SESSION_H_ diff --git a/centos/javadoc/allclasses-index.html b/centos/javadoc/allclasses-index.html index de359e8..1294fa9 100644 --- a/centos/javadoc/allclasses-index.html +++ b/centos/javadoc/allclasses-index.html @@ -2,10 +2,10 @@ - + All Classes - + diff --git a/centos/javadoc/allclasses.html b/centos/javadoc/allclasses.html index 0fe58f7..305f0bc 100644 --- a/centos/javadoc/allclasses.html +++ b/centos/javadoc/allclasses.html @@ -2,10 +2,10 @@ - + All Classes - + diff --git a/centos/javadoc/allpackages-index.html b/centos/javadoc/allpackages-index.html index 672421f..e1a4dde 100644 --- a/centos/javadoc/allpackages-index.html +++ b/centos/javadoc/allpackages-index.html @@ -2,10 +2,10 @@ - + All Packages - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLAnalogOutputCapabilities.AnalogOutputCapabilities.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLAnalogOutputCapabilities.AnalogOutputCapabilities.html index 966a076..7a71e50 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLAnalogOutputCapabilities.AnalogOutputCapabilities.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLAnalogOutputCapabilities.AnalogOutputCapabilities.html @@ -2,10 +2,10 @@ - + WvPLAnalogOutputCapabilities.AnalogOutputCapabilities - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLAnalogOutputCapabilities.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLAnalogOutputCapabilities.html index 2150b21..fe74955 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLAnalogOutputCapabilities.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLAnalogOutputCapabilities.html @@ -2,10 +2,10 @@ - + WvPLAnalogOutputCapabilities - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseEnvironment.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseEnvironment.html index da103e5..0d6e866 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseEnvironment.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseEnvironment.html @@ -2,10 +2,10 @@ - + WvPLBaseEnvironment - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseKey.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseKey.html index 38bf4f3..7022fe0 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseKey.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseKey.html @@ -2,10 +2,10 @@ - + WvPLBaseKey - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseSession.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseSession.html index 19714bf..864bb76 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseSession.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseSession.html @@ -2,10 +2,10 @@ - + WvPLBaseSession - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBrowserRequirement.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBrowserRequirement.html index b8efb62..bdc2f5f 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBrowserRequirement.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBrowserRequirement.html @@ -2,10 +2,10 @@ - + WvPLBrowserRequirement - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCertificateKeyType.CertificateKeyType.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCertificateKeyType.CertificateKeyType.html index c839971..dc68a1a 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCertificateKeyType.CertificateKeyType.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCertificateKeyType.CertificateKeyType.html @@ -2,10 +2,10 @@ - + WvPLCertificateKeyType.CertificateKeyType - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCertificateKeyType.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCertificateKeyType.html index 8289481..f1cfff9 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCertificateKeyType.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCertificateKeyType.html @@ -2,10 +2,10 @@ - + WvPLCertificateKeyType - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCgms.Cgms.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCgms.Cgms.html index 867e384..56aa113 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCgms.Cgms.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCgms.Cgms.html @@ -2,10 +2,10 @@ - + WvPLCgms.Cgms - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCgms.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCgms.html index fc2caae..3aa482c 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCgms.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCgms.html @@ -2,10 +2,10 @@ - + WvPLCgms - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLClientCapabilities.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLClientCapabilities.html index 45d1013..0cdc9d1 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLClientCapabilities.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLClientCapabilities.html @@ -2,10 +2,10 @@ - + WvPLClientCapabilities - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLClientInfo.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLClientInfo.html index afb493c..00c1ac8 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLClientInfo.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLClientInfo.html @@ -2,10 +2,10 @@ - + WvPLClientInfo - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceInfo.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceInfo.html index 2a2a1dc..9a8f33f 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceInfo.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceInfo.html @@ -2,10 +2,10 @@ - + WvPLDeviceInfo - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceModelStatus.DeviceModelStatus.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceModelStatus.DeviceModelStatus.html index 62efa58..4b2e165 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceModelStatus.DeviceModelStatus.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceModelStatus.DeviceModelStatus.html @@ -2,10 +2,10 @@ - + WvPLDeviceModelStatus.DeviceModelStatus - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceModelStatus.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceModelStatus.html index 864be92..266a5af 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceModelStatus.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceModelStatus.html @@ -2,10 +2,10 @@ - + WvPLDeviceModelStatus - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDevicePlatform.Platform.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDevicePlatform.Platform.html index f51d17c..0345b72 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDevicePlatform.Platform.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDevicePlatform.Platform.html @@ -2,10 +2,10 @@ - + WvPLDevicePlatform.Platform - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDevicePlatform.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDevicePlatform.html index 4703ee7..4c9261c 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDevicePlatform.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDevicePlatform.html @@ -2,10 +2,10 @@ - + WvPLDevicePlatform - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityLevel.DeviceSecurityLevel.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityLevel.DeviceSecurityLevel.html index 73e1a9f..a6e710b 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityLevel.DeviceSecurityLevel.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityLevel.DeviceSecurityLevel.html @@ -2,10 +2,10 @@ - + WvPLDeviceSecurityLevel.DeviceSecurityLevel - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityLevel.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityLevel.html index ab77806..5c3d32d 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityLevel.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityLevel.html @@ -2,10 +2,10 @@ - + WvPLDeviceSecurityLevel - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityProfile.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityProfile.html index f02947b..f238261 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityProfile.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityProfile.html @@ -2,10 +2,10 @@ - + WvPLDeviceSecurityProfile - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceState.DeviceState.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceState.DeviceState.html index a581b0a..75c27ba 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceState.DeviceState.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceState.DeviceState.html @@ -2,10 +2,10 @@ - + WvPLDeviceState.DeviceState - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceState.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceState.html index 4dadf2c..576f45f 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceState.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceState.html @@ -2,10 +2,10 @@ - + WvPLDeviceState - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceStatus.DeviceStatus.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceStatus.DeviceStatus.html index b6894a7..3619f15 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceStatus.DeviceStatus.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceStatus.DeviceStatus.html @@ -2,10 +2,10 @@ - + WvPLDeviceStatus.DeviceStatus - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceStatus.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceStatus.html index 6d5f232..61edefb 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceStatus.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceStatus.html @@ -2,10 +2,10 @@ - + WvPLDeviceStatus - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLEntitledKey.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLEntitledKey.html index 8558f34..b47b2fb 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLEntitledKey.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLEntitledKey.html @@ -2,10 +2,10 @@ - + WvPLEntitledKey - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLEnvironment.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLEnvironment.html index 0a772ca..df4fd7c 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLEnvironment.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLEnvironment.html @@ -2,10 +2,10 @@ - + WvPLEnvironment - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLHdcp.HDCP.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLHdcp.HDCP.html index 2ebc2b0..ee9d67b 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLHdcp.HDCP.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLHdcp.HDCP.html @@ -2,10 +2,10 @@ - + WvPLHdcp.HDCP - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLHdcp.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLHdcp.html index 496cecd..50015be 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLHdcp.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLHdcp.html @@ -2,10 +2,10 @@ - + WvPLHdcp - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKey.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKey.html index 9cd7174..6dc78e6 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKey.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKey.html @@ -2,10 +2,10 @@ - + WvPLKey - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategory.KeyCategory.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategory.KeyCategory.html index caf8f08..ae5f82a 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategory.KeyCategory.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategory.KeyCategory.html @@ -2,10 +2,10 @@ - + WvPLKeyCategory.KeyCategory - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategory.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategory.html index fbd9e9d..8450373 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategory.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategory.html @@ -2,10 +2,10 @@ - + WvPLKeyCategory - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategorySpec.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategorySpec.html index dd207e8..d373595 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategorySpec.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategorySpec.html @@ -2,10 +2,10 @@ - + WvPLKeyCategorySpec - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyType.KeyType.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyType.KeyType.html index 063e954..d038961 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyType.KeyType.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyType.KeyType.html @@ -2,10 +2,10 @@ - + WvPLKeyType.KeyType - + @@ -178,10 +178,14 @@ extends java.lang.Enum<  -PROVIDER_ECM_VERIFIER_PUBLIC_KEY +OEM_ENTITLEMENT   +PROVIDER_ECM_VERIFIER_PUBLIC_KEY +  + + UNKNOWN_KEY   @@ -288,12 +292,21 @@ the order they are declared. - diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyType.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyType.html index 968999b..80825de 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyType.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyType.html @@ -2,10 +2,10 @@ - + WvPLKeyType - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategory.LicenseCategory.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategory.LicenseCategory.html index cef34e9..23e2d7c 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategory.LicenseCategory.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategory.LicenseCategory.html @@ -2,10 +2,10 @@ - + WvPLLicenseCategory.LicenseCategory - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategory.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategory.html index 34bb38e..96f58b5 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategory.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategory.html @@ -2,10 +2,10 @@ - + WvPLLicenseCategory - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategorySpec.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategorySpec.html index 04135fb..891cc11 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategorySpec.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategorySpec.html @@ -2,10 +2,10 @@ - + WvPLLicenseCategorySpec - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseIdentification.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseIdentification.html index 7d83d89..3a296f9 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseIdentification.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseIdentification.html @@ -2,10 +2,10 @@ - + WvPLLicenseIdentification - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseRequestType.LicenseRequestType.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseRequestType.LicenseRequestType.html index 5f169ea..b7ace69 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseRequestType.LicenseRequestType.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseRequestType.LicenseRequestType.html @@ -2,10 +2,10 @@ - + WvPLLicenseRequestType.LicenseRequestType - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseRequestType.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseRequestType.html index 2007809..6599185 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseRequestType.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseRequestType.html @@ -2,10 +2,10 @@ - + WvPLLicenseRequestType - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseType.LicenseType.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseType.LicenseType.html index 2c7c053..795e04e 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseType.LicenseType.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseType.LicenseType.html @@ -2,10 +2,10 @@ - + WvPLLicenseType.LicenseType - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseType.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseType.html index 90a53ef..f00bb61 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseType.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseType.html @@ -2,10 +2,10 @@ - + WvPLLicenseType - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLMessageType.MessageType.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLMessageType.MessageType.html index 9eff851..f51facc 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLMessageType.MessageType.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLMessageType.MessageType.html @@ -2,10 +2,10 @@ - + WvPLMessageType.MessageType - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLMessageType.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLMessageType.html index 8829ed3..d7f15af 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLMessageType.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLMessageType.html @@ -2,10 +2,10 @@ - + WvPLMessageType - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLOutputProtection.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLOutputProtection.html index c8bf57a..228eb9c 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLOutputProtection.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLOutputProtection.html @@ -2,10 +2,10 @@ - + WvPLOutputProtection - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlatformVerificationStatus.PlatformVerificationStatus.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlatformVerificationStatus.PlatformVerificationStatus.html index 6590e49..1756a1e 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlatformVerificationStatus.PlatformVerificationStatus.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlatformVerificationStatus.PlatformVerificationStatus.html @@ -2,10 +2,10 @@ - + WvPLPlatformVerificationStatus.PlatformVerificationStatus - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlatformVerificationStatus.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlatformVerificationStatus.html index 3873b62..f4a20f9 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlatformVerificationStatus.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlatformVerificationStatus.html @@ -2,10 +2,10 @@ - + WvPLPlatformVerificationStatus - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlaybackPolicy.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlaybackPolicy.html index e1b6b1c..538babd 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlaybackPolicy.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlaybackPolicy.html @@ -2,10 +2,10 @@ - + WvPLPlaybackPolicy - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLRequestType.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLRequestType.html index f1343d3..840a7fd 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLRequestType.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLRequestType.html @@ -2,10 +2,10 @@ - + WvPLRequestType - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSecurityLevel.SecurityLevel.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSecurityLevel.SecurityLevel.html index bc85821..adaf573 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSecurityLevel.SecurityLevel.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSecurityLevel.SecurityLevel.html @@ -2,10 +2,10 @@ - + WvPLSecurityLevel.SecurityLevel - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSecurityLevel.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSecurityLevel.html index 356bdb4..4aa20aa 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSecurityLevel.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSecurityLevel.html @@ -2,10 +2,10 @@ - + WvPLSecurityLevel - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSession.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSession.html index 123fece..b4aa744 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSession.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSession.html @@ -2,10 +2,10 @@ - + WvPLSession - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionCreateOptions.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionCreateOptions.html index 5d639b2..adb2d94 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionCreateOptions.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionCreateOptions.html @@ -2,10 +2,10 @@ - + WvPLSessionCreateOptions - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionInit.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionInit.html index d990565..bdb2061 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionInit.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionInit.html @@ -2,10 +2,10 @@ - + WvPLSessionInit - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionState.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionState.html index 09f3ebd..331b5db 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionState.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionState.html @@ -2,10 +2,10 @@ - + WvPLSessionState - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatus.StatusCode.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatus.StatusCode.html index 1ce08af..d0017b6 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatus.StatusCode.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatus.StatusCode.html @@ -2,10 +2,10 @@ - + WvPLStatus.StatusCode - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatus.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatus.html index f9538e7..5d13207 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatus.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatus.html @@ -2,10 +2,10 @@ - + WvPLStatus - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatusException.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatusException.html index 8d3d6d0..af651f6 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatusException.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatusException.html @@ -2,10 +2,10 @@ - + WvPLStatusException - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLTrackType.TrackType.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLTrackType.TrackType.html index 4209322..822167a 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLTrackType.TrackType.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLTrackType.TrackType.html @@ -2,10 +2,10 @@ - + WvPLTrackType.TrackType - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLTrackType.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLTrackType.html index e0da39e..ed9a1fc 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLTrackType.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLTrackType.html @@ -2,10 +2,10 @@ - + WvPLTrackType - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoFeatureKeySet.VideoFeatureKeySet.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoFeatureKeySet.VideoFeatureKeySet.html index 8680cf8..7b3394c 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoFeatureKeySet.VideoFeatureKeySet.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoFeatureKeySet.VideoFeatureKeySet.html @@ -2,10 +2,10 @@ - + WvPLVideoFeatureKeySet.VideoFeatureKeySet - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoFeatureKeySet.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoFeatureKeySet.html index 7e3dc53..95a6ead 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoFeatureKeySet.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoFeatureKeySet.html @@ -2,10 +2,10 @@ - + WvPLVideoFeatureKeySet - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoResolutionConstraint.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoResolutionConstraint.html index 20f3b2f..a95314d 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoResolutionConstraint.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoResolutionConstraint.html @@ -2,10 +2,10 @@ - + WvPLVideoResolutionConstraint - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVulnerabilityLevel.VulnerabilityLevel.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVulnerabilityLevel.VulnerabilityLevel.html index 1e027c5..7114a20 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVulnerabilityLevel.VulnerabilityLevel.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVulnerabilityLevel.VulnerabilityLevel.html @@ -2,10 +2,10 @@ - + WvPLVulnerabilityLevel.VulnerabilityLevel - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVulnerabilityLevel.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVulnerabilityLevel.html index 99a3fe4..f80bef5 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVulnerabilityLevel.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVulnerabilityLevel.html @@ -2,10 +2,10 @@ - + WvPLVulnerabilityLevel - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLWidevinePsshData.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLWidevinePsshData.html index 25aaa53..bc1e16a 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLWidevinePsshData.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/WvPLWidevinePsshData.html @@ -2,10 +2,10 @@ - + WvPLWidevinePsshData - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/package-summary.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/package-summary.html index 05e0277..83a3cf3 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/package-summary.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/package-summary.html @@ -2,10 +2,10 @@ - + com.google.video.widevine.sdk.wvpl - + diff --git a/centos/javadoc/com/google/video/widevine/sdk/wvpl/package-tree.html b/centos/javadoc/com/google/video/widevine/sdk/wvpl/package-tree.html index 2b5414e..3cd1f83 100644 --- a/centos/javadoc/com/google/video/widevine/sdk/wvpl/package-tree.html +++ b/centos/javadoc/com/google/video/widevine/sdk/wvpl/package-tree.html @@ -2,10 +2,10 @@ - + com.google.video.widevine.sdk.wvpl Class Hierarchy - + diff --git a/centos/javadoc/constant-values.html b/centos/javadoc/constant-values.html index c29d635..a5ebbd1 100644 --- a/centos/javadoc/constant-values.html +++ b/centos/javadoc/constant-values.html @@ -2,10 +2,10 @@ - + Constant Field Values - + diff --git a/centos/javadoc/deprecated-list.html b/centos/javadoc/deprecated-list.html index c9809c9..31a5c39 100644 --- a/centos/javadoc/deprecated-list.html +++ b/centos/javadoc/deprecated-list.html @@ -2,10 +2,10 @@ - + Deprecated List - + diff --git a/centos/javadoc/help-doc.html b/centos/javadoc/help-doc.html index d515d89..3b4b534 100644 --- a/centos/javadoc/help-doc.html +++ b/centos/javadoc/help-doc.html @@ -2,10 +2,10 @@ - + API Help - + diff --git a/centos/javadoc/index-all.html b/centos/javadoc/index-all.html index 6b5f971..29515c9 100644 --- a/centos/javadoc/index-all.html +++ b/centos/javadoc/index-all.html @@ -2,10 +2,10 @@ - + Index - + @@ -1190,6 +1190,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
OEM_CONTENT - com.google.video.widevine.sdk.wvpl.WvPLKeyType.KeyType
 
+
OEM_ENTITLEMENT - com.google.video.widevine.sdk.wvpl.WvPLKeyType.KeyType
+
 
OFFLINE - com.google.video.widevine.sdk.wvpl.WvPLLicenseType.LicenseType
 
OK - com.google.video.widevine.sdk.wvpl.WvPLStatus.StatusCode
diff --git a/centos/javadoc/index.html b/centos/javadoc/index.html index 9f9da1e..22e80e1 100644 --- a/centos/javadoc/index.html +++ b/centos/javadoc/index.html @@ -2,7 +2,7 @@ - + Generated Documentation (Untitled) diff --git a/centos/javadoc/member-search-index.js b/centos/javadoc/member-search-index.js index 1270d2d..a80a054 100644 --- a/centos/javadoc/member-search-index.js +++ b/centos/javadoc/member-search-index.js @@ -1 +1 @@ -memberSearchIndex = [{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"addKey(T)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"addKey(WvPLKey)","url":"addKey(com.google.video.widevine.sdk.wvpl.WvPLKey)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"addModelInfo(WvPLDeviceModelInfo)","url":"addModelInfo(com.google.video.widevine.sdk.wvpl.WvPLDeviceModelInfo)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"addVideoResolutionConstraint(WvPLVideoResolutionConstraint)","url":"addVideoResolutionConstraint(com.google.video.widevine.sdk.wvpl.WvPLVideoResolutionConstraint)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"allowRevokedDevices(String)","url":"allowRevokedDevices(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"allowRevokedDevices(String)","url":"allowRevokedDevices(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"ALREADY_EXISTS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"ANALOG_OUTPUT_NONE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"ANALOG_OUTPUT_SUPPORTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"ANALOG_OUTPUT_SUPPORTS_CGMS_A"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"ANALOG_OUTPUT_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"ATSC_PROFILE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"AUDIO"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"AUTOMATIC"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"CERT_CHAIN_NOT_SELECTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"CERTIFICATE_STATUS_LIST_NOT_FOUND"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"CGMS_NONE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"CONTENT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"CONTENT_INFO_ENTRY_EMPTY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"COPY_FREE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"COPY_NEVER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"COPY_ONCE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"CREATE_RSA_PUBLIC_KEY_FAILED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"createSession(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"createSession(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"createSessionWithOptions(byte[], WvPLSessionCreateOptions)","url":"createSessionWithOptions(byte[],com.google.video.widevine.sdk.wvpl.WvPLSessionCreateOptions)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"DELETED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"destroySession(T)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"destroySession(WvPLSession)","url":"destroySession(com.google.video.widevine.sdk.wvpl.WvPLSession)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVELOPMENT_CERTIFICATE_NOT_ALLOWED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVICE_CAPABILITIES_TOO_LOW"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVICE_CERTIFICATE_REVOKED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVICE_CERTIFICATE_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"DEVICE_LEVEL_1"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"DEVICE_LEVEL_2"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"DEVICE_LEVEL_3"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"DEVICE_LEVEL_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVICE_NOT_SUPPORTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"DEVICE_STATE_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DRM_DEVICE_CERTIFICATE_ECC_KEYGEN_FAILED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DRM_DEVICE_CERTIFICATE_EMPTY_SERIAL_NUMBER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DRM_DEVICE_CERTIFICATE_EXPIRED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DRM_DEVICE_CERTIFICATE_SERIAL_NUMBER_REVOKED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"EMPTY_GROUP_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"ENCRYPT_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"ENTITLEMENT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"entitlementPeriodIndex()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"EXPIRED_CERTIFICATE_STATUS_LIST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"EXTERNAL_LICENSE_REQUEST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"EXTERNAL_LICENSE_REQUEST_PARSE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"EXTERNAL_LICENSE_REQUEST_TYPE_UNDEFINED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"findDeviceState(int)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"generateDeviceStatusListRequest()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"generateDeviceStatusListRequest()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"generateErrorResponse(WvPLStatus)","url":"generateErrorResponse(com.google.video.widevine.sdk.wvpl.WvPLStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"generateLicense()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getAllowRecord()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"getAllowRevokedDevice()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getAllowTamperedPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getAllowUnverifiedPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getAlwaysIncludeClientId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities","l":"getAnalogOutputCapabilities()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getAnalogOutputCapabilities()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getAntiRollbackUsageTable()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getCanDisableAnalogOutput()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getCanPersist()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getCanPlay()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getCanRenew()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getCanUpdateSrm()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getCdmVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType","l":"getCertificateKeyType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms","l":"getCgms()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getCgms()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getClientCapabilities()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getClientInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getClientInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getContentId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getContentId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getContentId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"getContentOrGroupId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"getContentOrGroupId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getControlTime()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getCustomDeviceSecurityProfileNames(String)","url":"getCustomDeviceSecurityProfileNames(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getCustomDeviceSecurityProfileNames(String)","url":"getCustomDeviceSecurityProfileNames(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getCustomDeviceSecurityProfileOwners()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getCustomDeviceSecurityProfileOwners()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getCustomDeviceSecurityProfiles(String)","url":"getCustomDeviceSecurityProfiles(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getCustomDeviceSecurityProfiles(String)","url":"getCustomDeviceSecurityProfiles(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getDefaultDeviceSecurityProfile(String)","url":"getDefaultDeviceSecurityProfile(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getDefaultDeviceSecurityProfile(String)","url":"getDefaultDeviceSecurityProfile(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getDefaultDeviceSecurityProfileNames()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getDefaultDeviceSecurityProfileNames()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getDeviceInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getDeviceInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus","l":"getDeviceModelStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"getDeviceModelStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform","l":"getDevicePlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getDeviceSecurityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel","l":"getDeviceSecurityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState","l":"getDeviceState()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"getDeviceState()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getDeviceStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus","l":"getDeviceStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"getDeviceStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getDeviceType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getDisableAnalogOutput()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getDisableDigitalOutput()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getDrmCertificateSerialNumber()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getDrmInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getDrmInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getEntitledKeys()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getEntitlementKeyId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getEntitlementKeyIv()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getEntitlementKeySize()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getEntitlementRotationEnabled()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getExceptions()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getGroupIds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getHdcp()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"getHdcp()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp","l":"getHDCP()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"getHDCP()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getKeyboxSystemId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getKeyBytes()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getKeyBytes()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"getKeyCategory()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getKeyId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getKeyId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getKeyIds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getKeys()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getKeys()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"getKeyType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getKeyType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"getLicenseCategory()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getLicenseCategorySpec()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getLicenseCounter()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getLicenseDurationSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getLicenseId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType","l":"getLicenseRequestType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"getLicenseRequestType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getLicenseStartTime()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getLicenseType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType","l":"getLicenseType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"getLicenseType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getManufacturer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getMasterSigningKey()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getMaxHdcpVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getMaxHdcpVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"getMaxResolutionPixels()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"getMessage()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType","l":"getMessageType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"getMessageType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"getMinResolutionPixels()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getModel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getModelInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getName()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getNamesValues()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"getNumericCode()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getOemCryptoApiVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getOemCryptoApiVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"getOutputProtection()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getOutputProtection()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getOutputRequirement()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getOverrideDeviceRevocation()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getOverrideProviderClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getOwner()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus","l":"getPlatformVerificationStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBrowserRequirement","l":"getPlatformVerificationStatuses()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getPlaybackDurationSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getPolicy()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getPolicy()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getProviderClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getProviderClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getProviderClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getProviderSessionToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getProviderSessionToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getProvisionedDeviceInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getPsshData()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getPsshData()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getPurchaseId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getPurchaseId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getQualifiedCustomDeviceSecurityProfiles(String)","url":"getQualifiedCustomDeviceSecurityProfiles(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getQualifiedCustomDeviceSecurityProfiles(String)","url":"getQualifiedCustomDeviceSecurityProfiles(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getQualifiedDefaultDeviceSecurityProfiles()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getQualifiedDefaultDeviceSecurityProfiles()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getRejectUnknownMakeModel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getRejectUnknownMakeModel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewalIntervalSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewalRecoveryDurationSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewalRetryIntervalSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewalUrl()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewWithUsage()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRentalDurationSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getRequestAsString(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getRequestAsString(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"getRequestedOutputProtection()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getRequestedOutputProtection()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getRequestId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getRequestType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getRequestType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getResourceRatingTier()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getSecuredataPath()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getSecurityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getSecurityRequirement()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getServiceId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getSessionId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getSessionId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getSessionInit()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getSessionInit()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getSessionState()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getSessionToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getSigningKey()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getSoc()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getSoftEnforcePlaybackDuration()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getSoftEnforceRentalDuration()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getSrmVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getStatsAsBytes(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getStatsAsString(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatusException","l":"getStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"getStatusCode()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getSupportedCertificateKeyType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getSystemId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getTestDevice()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"getTrackType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getTrackType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getVersionString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getVideoFeature()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"getVideoFeatureKeySet()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getVideoResolutionConstraint()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getVideoResolutionConstraints()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel","l":"getVulnerabilityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"getVulnerabilityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getWrappingKey()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategory.KeyCategory","l":"GROUP_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"GROUP_LICENSE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"hasSdkSession()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_NO_DIGITAL_OUTPUT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_NONE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V1"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V2"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V2_1"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V2_2"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V2_3"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"HW_SECURE_ALL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"HW_SECURE_CRYPTO"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"HW_SECURE_DECODE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"IN_TESTING"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"init(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INTERNAL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_ARGUMENT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CENC_INIT_DATA"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CERT_ALGORITHM"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CERTIFICATE_STATUS_LIST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CLIENT_CERT_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CONTENT_ID_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_DEVICE_CERTIFICATE_TOKEN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_DEVICE_SECURITY_PROFILE_LIST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_ENCRYPTED_CLIENT_IDENTIFICATION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_ENCRYPTED_LICENSE_CHALLENGE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_KEY_CONTROL_NONCE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_KEY_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_KEY_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_KEYBOX_TOKEN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_MASTER_SIGNING_KEY_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_MESSAGE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_MESSAGE_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_OFFLINE_CAN_PERSIST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_PARAMETER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_PROVIDER_SESSION_TOKEN_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_PSSH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_RELEASE_CAN_PLAY_VALUE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_RENEWAL_SIGNATURE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_RENEWAL_SIGNING_KEY_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SERVICE_CERTIFICATE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SERVICE_PRIVATE_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SERVICE_PUBLIC_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SESSION_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SESSION_USAGE_SIGNATURE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SESSION_USAGE_TABLE_ENTRY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SIGNATURE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SIGNED_DEVICE_SECURITY_PROFILES"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SIGNING_KEY_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SRM_LOCATION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SRM_SIGNATURE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SRM_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_WIDEVINE_PSSH_DATA"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"isChromeCDM()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"isExternalLicenseRequest()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"isRevokedDeviceAllowed(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"isRevokedDeviceAllowed(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"KEYBOX_DECRYPT_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"KEYBOX_TOKEN_KEYS_NOT_INITIALIZED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"KEYCONTROL_GENERATION_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"LICENSE_REQUEST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"LICENSE_REQUEST_PARSE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"LICENSE_TYPE_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_CLIENT_CERT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_CLIENT_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_CONTENT_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_ENCRYPTION_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_EVEN_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_EVEN_KEY_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_GROUP_MASTER_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_GROUP_MASTER_KEY_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_INIT_DATA"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_LICENSE_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_PRE_PROV_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_PROVIDER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_PROVIDER_IV"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_PROVIDER_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_REMOTE_ATTESTATION_CERTIFICATE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_RENEWAL_SIGNING_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_RSA_PUBLIC_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_SIGNING_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_REJECTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_UNVERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"MULTI_CONTENT_LICENSE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MULTIPLE_CLIENT_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"NEW"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"NOT_FOUND"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"OEM_CONTENT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"OFFLINE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"OK"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"PERMISSION_DENIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_ANDROID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_CHROME_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_CHROMECAST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_FIRE_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_FUCHSIA"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_HARDWARE_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_IOS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_IPAD_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_KAIOS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_LINUX"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_MAC_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_NO_VERIFICATION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_OTHER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_PLAYSTATION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_RDK"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_ROKU"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_SECURE_STORAGE_SOFTWARE_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_SOFTWARE_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_TAMPERED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_TIZEN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_TV_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_UNVERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_WEB_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_WINDOWS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_XBOX"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"PRE_RELEASE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"PROVIDER_ECM_VERIFIER_PUBLIC_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"PROVIDER_ID_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"PUBLIC_KEY_AND_PRIVATE_KEY_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"RELEASE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"RELEASED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"REMOTE_ATTESTATION_FAILED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"RENEWAL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"RENEWAL_LICENSE_ID_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"RENEWAL_WITH_CONTENT_KEYS_NOT_ALLOWED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"REQUEST_TYPE_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"REVOKED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"REVOKED_LICENSING"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"ROOT_CERTIFICATE_NOT_SET"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType.CertificateKeyType","l":"RSA_2048"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType.CertificateKeyType","l":"RSA_3072"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"SECURITY_LEVEL_UNDEFINED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SERVICE_CERTIFICATE_NOT_FOUND"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SERVICE_CERTIFICATE_NOT_SET"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"SERVICE_CERTIFICATE_REQUEST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SERVICE_CERTIFICATE_REQUEST_MESSAGE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SERVICE_PRIVATE_KEY_DECRYPT_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SESSION_ID_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SESSION_STATE_PARSE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setAllowRecord(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"setAllowRevokedDevice(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setAllowTamperedPlatform(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setAllowTamperedPlatform(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setAllowUnverifiedPlatform(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setAllowUnverifiedPlatform(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setAlwaysIncludeClientId(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setCanPersist(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setCanPlay(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setCanRenew(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setCgms(WvPLCgms.Cgms)","url":"setCgms(com.google.video.widevine.sdk.wvpl.WvPLCgms.Cgms)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"setContentOrGroupId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"setContentOrGroupId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"setCustomDeviceSecurityProfiles(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"setCustomDeviceSecurityProfiles(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"setDeviceCertificateStatusList(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"setDeviceCertificateStatusList(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setDeviceSecurityLevel(WvPLDeviceSecurityLevel.DeviceSecurityLevel)","url":"setDeviceSecurityLevel(com.google.video.widevine.sdk.wvpl.WvPLDeviceSecurityLevel.DeviceSecurityLevel)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setDeviceStatus(WvPLDeviceStatus.DeviceStatus)","url":"setDeviceStatus(com.google.video.widevine.sdk.wvpl.WvPLDeviceStatus.DeviceStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setDeviceType(String)","url":"setDeviceType(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setDisableAnalogOutput(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setDisableDigitalOutput(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setDrmCertificateSerialNumber(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setHdcp(WvPLHdcp.HDCP)","url":"setHdcp(com.google.video.widevine.sdk.wvpl.WvPLHdcp.HDCP)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"setHdcp(WvPLHdcp.HDCP)","url":"setHdcp(com.google.video.widevine.sdk.wvpl.WvPLHdcp.HDCP)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setIsExternalLicenseRequest(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setKeyboxSystemId(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setKeyBytes(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"setKeyCategory(WvPLKeyCategory.KeyCategory)","url":"setKeyCategory(com.google.video.widevine.sdk.wvpl.WvPLKeyCategory.KeyCategory)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setKeyId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"setKeyType(WvPLKeyType.KeyType)","url":"setKeyType(com.google.video.widevine.sdk.wvpl.WvPLKeyType.KeyType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setKeyType(WvPLKeyType.KeyType)","url":"setKeyType(com.google.video.widevine.sdk.wvpl.WvPLKeyType.KeyType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"setLicenseCategory(WvPLLicenseCategory.LicenseCategory)","url":"setLicenseCategory(com.google.video.widevine.sdk.wvpl.WvPLLicenseCategory.LicenseCategory)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setLicenseCategorySpec(WvPLLicenseCategorySpec)","url":"setLicenseCategorySpec(com.google.video.widevine.sdk.wvpl.WvPLLicenseCategorySpec)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setLicenseCounter(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setLicenseDurationSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setLicenseId(WvPLLicenseIdentification)","url":"setLicenseId(com.google.video.widevine.sdk.wvpl.WvPLLicenseIdentification)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setLicenseStartTime(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setLicenseType(WvPLLicenseType.LicenseType)","url":"setLicenseType(com.google.video.widevine.sdk.wvpl.WvPLLicenseType.LicenseType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setManufacturer(String)","url":"setManufacturer(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setMasterSigningKey(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setMasterSigningKey(String)","url":"setMasterSigningKey(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"setMaxResolutionPixels(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"setMinResolutionPixels(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setModel(String)","url":"setModel(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"setOutputProtection(WvPLOutputProtection)","url":"setOutputProtection(com.google.video.widevine.sdk.wvpl.WvPLOutputProtection)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setOutputProtection(WvPLOutputProtection)","url":"setOutputProtection(com.google.video.widevine.sdk.wvpl.WvPLOutputProtection)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setOverrideDeviceRevocation(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setOverrideProviderClientToken(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setPlatform(WvPLDevicePlatform.Platform)","url":"setPlatform(com.google.video.widevine.sdk.wvpl.WvPLDevicePlatform.Platform)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setPlaybackDurationSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setPolicy(WvPLPlaybackPolicy)","url":"setPolicy(com.google.video.widevine.sdk.wvpl.WvPLPlaybackPolicy)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setPolicy(WvPLPlaybackPolicy)","url":"setPolicy(com.google.video.widevine.sdk.wvpl.WvPLPlaybackPolicy)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"setPreProvisioningKeys(Map)","url":"setPreProvisioningKeys(java.util.Map)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setProviderClientToken(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setProviderClientToken(String)","url":"setProviderClientToken(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setProviderSessionToken(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setProviderSessionToken(String)","url":"setProviderSessionToken(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setPurchaseId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setPurchaseId(String)","url":"setPurchaseId(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setRejectUnknownMakeModel(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setRejectUnknownMakeModel(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewalIntervalSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewalRecoveryDurationSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewalRetryIntervalSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewalUrl(String)","url":"setRenewalUrl(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewWithUsage(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRentalDurationSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"setRequestedOutputProtection(WvPLOutputProtection)","url":"setRequestedOutputProtection(com.google.video.widevine.sdk.wvpl.WvPLOutputProtection)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setRequestedOutputProtection(WvPLOutputProtection)","url":"setRequestedOutputProtection(com.google.video.widevine.sdk.wvpl.WvPLOutputProtection)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setRequestId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setSecuredataPath(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setSecurityLevel(WvPLSecurityLevel.SecurityLevel)","url":"setSecurityLevel(com.google.video.widevine.sdk.wvpl.WvPLSecurityLevel.SecurityLevel)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"setServiceCertificate(byte[], byte[], byte[])","url":"setServiceCertificate(byte[],byte[],byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"setServiceCertificate(byte[], byte[], byte[])","url":"setServiceCertificate(byte[],byte[],byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setServiceId(String)","url":"setServiceId(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setSessionId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setSessionId(String)","url":"setSessionId(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setSessionInit(WvPLSessionInit)","url":"setSessionInit(com.google.video.widevine.sdk.wvpl.WvPLSessionInit)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setSessionInit(WvPLSessionInit)","url":"setSessionInit(com.google.video.widevine.sdk.wvpl.WvPLSessionInit)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setSigningKey(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setSoc(String)","url":"setSoc(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setSoftEnforcePlaybackDuration(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setSoftEnforceRentalDuration(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setSystemId(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setTestDevice(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"setTrackType(WvPLTrackType.TrackType)","url":"setTrackType(com.google.video.widevine.sdk.wvpl.WvPLTrackType.TrackType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setTrackType(WvPLTrackType.TrackType)","url":"setTrackType(com.google.video.widevine.sdk.wvpl.WvPLTrackType.TrackType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setVersion(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setWrappingKey(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SIGNATURE_VERIFICATION_FAILED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SIGNED_MESSAGE_PARSE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SIGNER_PROVIDER_ID_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SIGNING_KEY_EXPIRED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategory.KeyCategory","l":"SINGLE_CONTENT_KEY_DEFAULT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"SINGLE_CONTENT_LICENSE_DEFAULT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_IN_TESTING"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_RELEASED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_REVOKED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_TEST_ONLY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"STREAMING"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"SW_SECURE_CRYPTO"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"SW_SECURE_DECODE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"TEST_ONLY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"TOKEN_HASH_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBrowserRequirement","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"TRACK_TYPE_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNABLE_TO_SERIALIZE_SESSION_STATE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNABLE_TO_SERIALIZE_SIGNED_MESSAGE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNAVAILABLE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNIMPLEMENTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNKNOWN_INIT_DATA_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"UNKNOWN_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNKNOWN_MAKE_MODEL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNSUPPORTED_PSSH_VERSION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNSUPPORTED_SYSTEM_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"updateWithCertificates(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType.CertificateKeyType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategory.KeyCategory","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType.CertificateKeyType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategory.KeyCategory","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"verifyPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"verifyPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"VF_EXCLUDED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"VF_INCLUDED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"VF_ONLY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"VF_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"VIDEO_HD"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"VIDEO_SD"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"VIDEO_UHD1"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"VIDEO_UHD2"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"VMP_ERROR_PLATFORM_NOT_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"VMP_ERROR_PLATFORM_TAMPERED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_CRITICAL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_HIGH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_LEVEL_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_LOW"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_MEDIUM"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_NONE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities","l":"WvPLAnalogOutputCapabilities(WvPLAnalogOutputCapabilities.AnalogOutputCapabilities)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLAnalogOutputCapabilities.AnalogOutputCapabilities)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"WvPLBaseEnvironment()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"WvPLBaseKey()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"WvPLBaseSession()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType","l":"WvPLCertificateKeyType(WvPLCertificateKeyType.CertificateKeyType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLCertificateKeyType.CertificateKeyType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms","l":"WvPLCgms(WvPLCgms.Cgms)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLCgms.Cgms)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"WvPLDeviceInfo()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus","l":"WvPLDeviceModelStatus(WvPLDeviceModelStatus.DeviceModelStatus)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDeviceModelStatus.DeviceModelStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform","l":"WvPLDevicePlatform(WvPLDevicePlatform.Platform)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDevicePlatform.Platform)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel","l":"WvPLDeviceSecurityLevel(WvPLDeviceSecurityLevel.DeviceSecurityLevel)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDeviceSecurityLevel.DeviceSecurityLevel)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState","l":"WvPLDeviceState(WvPLDeviceState.DeviceState)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDeviceState.DeviceState)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus","l":"WvPLDeviceStatus(WvPLDeviceStatus.DeviceStatus)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDeviceStatus.DeviceStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"WvPLEnvironment(Map)","url":"%3Cinit%3E(java.util.Map)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp","l":"WvPLHdcp(WvPLHdcp.HDCP)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLHdcp.HDCP)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"WvPLKey()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"WvPLKeyCategorySpec()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType","l":"WvPLKeyType()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"WvPLLicenseCategorySpec()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"WvPLLicenseIdentification()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType","l":"WvPLLicenseRequestType(WvPLLicenseRequestType.LicenseRequestType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLLicenseRequestType.LicenseRequestType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType","l":"WvPLLicenseType(WvPLLicenseType.LicenseType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLLicenseType.LicenseType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType","l":"WvPLMessageType(WvPLMessageType.MessageType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLMessageType.MessageType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"WvPLOutputProtection()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus","l":"WvPLPlatformVerificationStatus(WvPLPlatformVerificationStatus.PlatformVerificationStatus)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLPlatformVerificationStatus.PlatformVerificationStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"WvPLPlaybackPolicy()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"WvPLPlaybackPolicy(long, long, long, long, long, long, boolean, boolean, boolean, boolean, String, boolean, boolean, boolean)","url":"%3Cinit%3E(long,long,long,long,long,long,boolean,boolean,boolean,boolean,java.lang.String,boolean,boolean,boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"WvPLRequestType()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"WvPLRequestType(WvPLMessageType.MessageType, WvPLLicenseRequestType.LicenseRequestType, WvPLLicenseType.LicenseType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLMessageType.MessageType,com.google.video.widevine.sdk.wvpl.WvPLLicenseRequestType.LicenseRequestType,com.google.video.widevine.sdk.wvpl.WvPLLicenseType.LicenseType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel","l":"WvPLSecurityLevel()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"WvPLSession()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"WvPLSessionCreateOptions()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"WvPLSessionInit()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"WvPLSessionState()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"WvPLStatus(WvPLStatus.StatusCode, String)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLStatus.StatusCode,java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatusException","l":"WvPLStatusException(WvPLStatus)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType","l":"WvPLTrackType()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"WvPLVideoResolutionConstraint()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel","l":"WvPLVulnerabilityLevel(WvPLVulnerabilityLevel.VulnerabilityLevel)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLVulnerabilityLevel.VulnerabilityLevel)"}] \ No newline at end of file +memberSearchIndex = [{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"addKey(T)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"addKey(WvPLKey)","url":"addKey(com.google.video.widevine.sdk.wvpl.WvPLKey)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"addModelInfo(WvPLDeviceModelInfo)","url":"addModelInfo(com.google.video.widevine.sdk.wvpl.WvPLDeviceModelInfo)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"addVideoResolutionConstraint(WvPLVideoResolutionConstraint)","url":"addVideoResolutionConstraint(com.google.video.widevine.sdk.wvpl.WvPLVideoResolutionConstraint)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"allowRevokedDevices(String)","url":"allowRevokedDevices(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"allowRevokedDevices(String)","url":"allowRevokedDevices(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"ALREADY_EXISTS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"ANALOG_OUTPUT_NONE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"ANALOG_OUTPUT_SUPPORTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"ANALOG_OUTPUT_SUPPORTS_CGMS_A"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"ANALOG_OUTPUT_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"ATSC_PROFILE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"AUDIO"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"AUTOMATIC"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"CERT_CHAIN_NOT_SELECTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"CERTIFICATE_STATUS_LIST_NOT_FOUND"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"CGMS_NONE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"CONTENT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"CONTENT_INFO_ENTRY_EMPTY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"COPY_FREE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"COPY_NEVER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"COPY_ONCE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"CREATE_RSA_PUBLIC_KEY_FAILED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"createSession(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"createSession(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"createSessionWithOptions(byte[], WvPLSessionCreateOptions)","url":"createSessionWithOptions(byte[],com.google.video.widevine.sdk.wvpl.WvPLSessionCreateOptions)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"DELETED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"destroySession(T)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"destroySession(WvPLSession)","url":"destroySession(com.google.video.widevine.sdk.wvpl.WvPLSession)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVELOPMENT_CERTIFICATE_NOT_ALLOWED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVICE_CAPABILITIES_TOO_LOW"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVICE_CERTIFICATE_REVOKED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVICE_CERTIFICATE_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"DEVICE_LEVEL_1"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"DEVICE_LEVEL_2"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"DEVICE_LEVEL_3"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"DEVICE_LEVEL_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVICE_NOT_SUPPORTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"DEVICE_STATE_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DRM_DEVICE_CERTIFICATE_ECC_KEYGEN_FAILED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DRM_DEVICE_CERTIFICATE_EMPTY_SERIAL_NUMBER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DRM_DEVICE_CERTIFICATE_EXPIRED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DRM_DEVICE_CERTIFICATE_SERIAL_NUMBER_REVOKED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"EMPTY_GROUP_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"ENCRYPT_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"ENTITLEMENT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"entitlementPeriodIndex()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"EXPIRED_CERTIFICATE_STATUS_LIST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"EXTERNAL_LICENSE_REQUEST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"EXTERNAL_LICENSE_REQUEST_PARSE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"EXTERNAL_LICENSE_REQUEST_TYPE_UNDEFINED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"findDeviceState(int)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"generateDeviceStatusListRequest()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"generateDeviceStatusListRequest()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"generateErrorResponse(WvPLStatus)","url":"generateErrorResponse(com.google.video.widevine.sdk.wvpl.WvPLStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"generateLicense()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getAllowRecord()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"getAllowRevokedDevice()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getAllowTamperedPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getAllowUnverifiedPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getAlwaysIncludeClientId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities","l":"getAnalogOutputCapabilities()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getAnalogOutputCapabilities()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getAntiRollbackUsageTable()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getCanDisableAnalogOutput()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getCanPersist()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getCanPlay()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getCanRenew()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getCanUpdateSrm()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getCdmVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType","l":"getCertificateKeyType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms","l":"getCgms()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getCgms()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getClientCapabilities()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getClientInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getClientInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getContentId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getContentId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getContentId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"getContentOrGroupId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"getContentOrGroupId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getControlTime()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getCustomDeviceSecurityProfileNames(String)","url":"getCustomDeviceSecurityProfileNames(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getCustomDeviceSecurityProfileNames(String)","url":"getCustomDeviceSecurityProfileNames(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getCustomDeviceSecurityProfileOwners()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getCustomDeviceSecurityProfileOwners()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getCustomDeviceSecurityProfiles(String)","url":"getCustomDeviceSecurityProfiles(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getCustomDeviceSecurityProfiles(String)","url":"getCustomDeviceSecurityProfiles(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getDefaultDeviceSecurityProfile(String)","url":"getDefaultDeviceSecurityProfile(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getDefaultDeviceSecurityProfile(String)","url":"getDefaultDeviceSecurityProfile(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getDefaultDeviceSecurityProfileNames()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getDefaultDeviceSecurityProfileNames()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getDeviceInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getDeviceInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus","l":"getDeviceModelStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"getDeviceModelStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform","l":"getDevicePlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getDeviceSecurityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel","l":"getDeviceSecurityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState","l":"getDeviceState()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"getDeviceState()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getDeviceStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus","l":"getDeviceStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"getDeviceStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getDeviceType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getDisableAnalogOutput()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getDisableDigitalOutput()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getDrmCertificateSerialNumber()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getDrmInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getDrmInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getEntitledKeys()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getEntitlementKeyId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getEntitlementKeyIv()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getEntitlementKeySize()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getEntitlementRotationEnabled()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getExceptions()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getGroupIds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getHdcp()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"getHdcp()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp","l":"getHDCP()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"getHDCP()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getKeyboxSystemId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getKeyBytes()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getKeyBytes()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"getKeyCategory()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getKeyId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getKeyId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getKeyIds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getKeys()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getKeys()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"getKeyType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getKeyType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"getLicenseCategory()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getLicenseCategorySpec()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getLicenseCounter()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getLicenseDurationSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getLicenseId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType","l":"getLicenseRequestType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"getLicenseRequestType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getLicenseStartTime()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getLicenseType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType","l":"getLicenseType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"getLicenseType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getManufacturer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getMasterSigningKey()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getMaxHdcpVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getMaxHdcpVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"getMaxResolutionPixels()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"getMessage()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType","l":"getMessageType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"getMessageType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"getMinResolutionPixels()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getModel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getModelInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getName()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getNamesValues()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"getNumericCode()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getOemCryptoApiVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getOemCryptoApiVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"getOutputProtection()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getOutputProtection()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getOutputRequirement()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getOverrideDeviceRevocation()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getOverrideProviderClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getOwner()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus","l":"getPlatformVerificationStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBrowserRequirement","l":"getPlatformVerificationStatuses()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getPlaybackDurationSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getPolicy()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getPolicy()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getProviderClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getProviderClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getProviderClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getProviderSessionToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getProviderSessionToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getProvisionedDeviceInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getPsshData()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getPsshData()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getPurchaseId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getPurchaseId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getQualifiedCustomDeviceSecurityProfiles(String)","url":"getQualifiedCustomDeviceSecurityProfiles(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getQualifiedCustomDeviceSecurityProfiles(String)","url":"getQualifiedCustomDeviceSecurityProfiles(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getQualifiedDefaultDeviceSecurityProfiles()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getQualifiedDefaultDeviceSecurityProfiles()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getRejectUnknownMakeModel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getRejectUnknownMakeModel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewalIntervalSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewalRecoveryDurationSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewalRetryIntervalSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewalUrl()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewWithUsage()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRentalDurationSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getRequestAsString(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getRequestAsString(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"getRequestedOutputProtection()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getRequestedOutputProtection()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getRequestId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getRequestType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getRequestType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getResourceRatingTier()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getSecuredataPath()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getSecurityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getSecurityRequirement()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getServiceId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getSessionId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getSessionId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getSessionInit()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getSessionInit()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getSessionState()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getSessionToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getSigningKey()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getSoc()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getSoftEnforcePlaybackDuration()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getSoftEnforceRentalDuration()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getSrmVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getStatsAsBytes(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getStatsAsString(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatusException","l":"getStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"getStatusCode()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getSupportedCertificateKeyType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getSystemId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getTestDevice()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"getTrackType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getTrackType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getVersionString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getVideoFeature()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"getVideoFeatureKeySet()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getVideoResolutionConstraint()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getVideoResolutionConstraints()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel","l":"getVulnerabilityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"getVulnerabilityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getWrappingKey()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategory.KeyCategory","l":"GROUP_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"GROUP_LICENSE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"hasSdkSession()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_NO_DIGITAL_OUTPUT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_NONE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V1"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V2"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V2_1"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V2_2"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V2_3"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"HW_SECURE_ALL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"HW_SECURE_CRYPTO"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"HW_SECURE_DECODE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"IN_TESTING"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"init(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INTERNAL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_ARGUMENT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CENC_INIT_DATA"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CERT_ALGORITHM"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CERTIFICATE_STATUS_LIST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CLIENT_CERT_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CONTENT_ID_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_DEVICE_CERTIFICATE_TOKEN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_DEVICE_SECURITY_PROFILE_LIST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_ENCRYPTED_CLIENT_IDENTIFICATION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_ENCRYPTED_LICENSE_CHALLENGE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_KEY_CONTROL_NONCE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_KEY_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_KEY_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_KEYBOX_TOKEN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_MASTER_SIGNING_KEY_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_MESSAGE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_MESSAGE_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_OFFLINE_CAN_PERSIST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_PARAMETER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_PROVIDER_SESSION_TOKEN_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_PSSH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_RELEASE_CAN_PLAY_VALUE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_RENEWAL_SIGNATURE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_RENEWAL_SIGNING_KEY_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SERVICE_CERTIFICATE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SERVICE_PRIVATE_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SERVICE_PUBLIC_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SESSION_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SESSION_USAGE_SIGNATURE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SESSION_USAGE_TABLE_ENTRY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SIGNATURE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SIGNED_DEVICE_SECURITY_PROFILES"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SIGNING_KEY_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SRM_LOCATION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SRM_SIGNATURE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SRM_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_WIDEVINE_PSSH_DATA"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"isChromeCDM()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"isExternalLicenseRequest()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"isRevokedDeviceAllowed(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"isRevokedDeviceAllowed(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"KEYBOX_DECRYPT_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"KEYBOX_TOKEN_KEYS_NOT_INITIALIZED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"KEYCONTROL_GENERATION_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"LICENSE_REQUEST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"LICENSE_REQUEST_PARSE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"LICENSE_TYPE_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_CLIENT_CERT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_CLIENT_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_CONTENT_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_ENCRYPTION_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_EVEN_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_EVEN_KEY_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_GROUP_MASTER_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_GROUP_MASTER_KEY_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_INIT_DATA"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_LICENSE_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_PRE_PROV_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_PROVIDER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_PROVIDER_IV"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_PROVIDER_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_REMOTE_ATTESTATION_CERTIFICATE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_RENEWAL_SIGNING_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_RSA_PUBLIC_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_SIGNING_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_REJECTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_UNVERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"MULTI_CONTENT_LICENSE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MULTIPLE_CLIENT_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"NEW"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"NOT_FOUND"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"OEM_CONTENT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"OEM_ENTITLEMENT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"OFFLINE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"OK"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"PERMISSION_DENIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_ANDROID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_CHROME_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_CHROMECAST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_FIRE_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_FUCHSIA"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_HARDWARE_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_IOS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_IPAD_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_KAIOS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_LINUX"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_MAC_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_NO_VERIFICATION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_OTHER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_PLAYSTATION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_RDK"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_ROKU"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_SECURE_STORAGE_SOFTWARE_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_SOFTWARE_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_TAMPERED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_TIZEN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_TV_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_UNVERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_WEB_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_WINDOWS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_XBOX"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"PRE_RELEASE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"PROVIDER_ECM_VERIFIER_PUBLIC_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"PROVIDER_ID_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"PUBLIC_KEY_AND_PRIVATE_KEY_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"RELEASE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"RELEASED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"REMOTE_ATTESTATION_FAILED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"RENEWAL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"RENEWAL_LICENSE_ID_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"RENEWAL_WITH_CONTENT_KEYS_NOT_ALLOWED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"REQUEST_TYPE_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"REVOKED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"REVOKED_LICENSING"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"ROOT_CERTIFICATE_NOT_SET"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType.CertificateKeyType","l":"RSA_2048"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType.CertificateKeyType","l":"RSA_3072"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"SECURITY_LEVEL_UNDEFINED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SERVICE_CERTIFICATE_NOT_FOUND"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SERVICE_CERTIFICATE_NOT_SET"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"SERVICE_CERTIFICATE_REQUEST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SERVICE_CERTIFICATE_REQUEST_MESSAGE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SERVICE_PRIVATE_KEY_DECRYPT_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SESSION_ID_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SESSION_STATE_PARSE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setAllowRecord(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"setAllowRevokedDevice(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setAllowTamperedPlatform(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setAllowTamperedPlatform(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setAllowUnverifiedPlatform(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setAllowUnverifiedPlatform(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setAlwaysIncludeClientId(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setCanPersist(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setCanPlay(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setCanRenew(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setCgms(WvPLCgms.Cgms)","url":"setCgms(com.google.video.widevine.sdk.wvpl.WvPLCgms.Cgms)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"setContentOrGroupId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"setContentOrGroupId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"setCustomDeviceSecurityProfiles(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"setCustomDeviceSecurityProfiles(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"setDeviceCertificateStatusList(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"setDeviceCertificateStatusList(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setDeviceSecurityLevel(WvPLDeviceSecurityLevel.DeviceSecurityLevel)","url":"setDeviceSecurityLevel(com.google.video.widevine.sdk.wvpl.WvPLDeviceSecurityLevel.DeviceSecurityLevel)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setDeviceStatus(WvPLDeviceStatus.DeviceStatus)","url":"setDeviceStatus(com.google.video.widevine.sdk.wvpl.WvPLDeviceStatus.DeviceStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setDeviceType(String)","url":"setDeviceType(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setDisableAnalogOutput(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setDisableDigitalOutput(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setDrmCertificateSerialNumber(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setHdcp(WvPLHdcp.HDCP)","url":"setHdcp(com.google.video.widevine.sdk.wvpl.WvPLHdcp.HDCP)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"setHdcp(WvPLHdcp.HDCP)","url":"setHdcp(com.google.video.widevine.sdk.wvpl.WvPLHdcp.HDCP)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setIsExternalLicenseRequest(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setKeyboxSystemId(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setKeyBytes(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"setKeyCategory(WvPLKeyCategory.KeyCategory)","url":"setKeyCategory(com.google.video.widevine.sdk.wvpl.WvPLKeyCategory.KeyCategory)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setKeyId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"setKeyType(WvPLKeyType.KeyType)","url":"setKeyType(com.google.video.widevine.sdk.wvpl.WvPLKeyType.KeyType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setKeyType(WvPLKeyType.KeyType)","url":"setKeyType(com.google.video.widevine.sdk.wvpl.WvPLKeyType.KeyType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"setLicenseCategory(WvPLLicenseCategory.LicenseCategory)","url":"setLicenseCategory(com.google.video.widevine.sdk.wvpl.WvPLLicenseCategory.LicenseCategory)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setLicenseCategorySpec(WvPLLicenseCategorySpec)","url":"setLicenseCategorySpec(com.google.video.widevine.sdk.wvpl.WvPLLicenseCategorySpec)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setLicenseCounter(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setLicenseDurationSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setLicenseId(WvPLLicenseIdentification)","url":"setLicenseId(com.google.video.widevine.sdk.wvpl.WvPLLicenseIdentification)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setLicenseStartTime(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setLicenseType(WvPLLicenseType.LicenseType)","url":"setLicenseType(com.google.video.widevine.sdk.wvpl.WvPLLicenseType.LicenseType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setManufacturer(String)","url":"setManufacturer(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setMasterSigningKey(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setMasterSigningKey(String)","url":"setMasterSigningKey(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"setMaxResolutionPixels(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"setMinResolutionPixels(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setModel(String)","url":"setModel(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"setOutputProtection(WvPLOutputProtection)","url":"setOutputProtection(com.google.video.widevine.sdk.wvpl.WvPLOutputProtection)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setOutputProtection(WvPLOutputProtection)","url":"setOutputProtection(com.google.video.widevine.sdk.wvpl.WvPLOutputProtection)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setOverrideDeviceRevocation(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setOverrideProviderClientToken(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setPlatform(WvPLDevicePlatform.Platform)","url":"setPlatform(com.google.video.widevine.sdk.wvpl.WvPLDevicePlatform.Platform)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setPlaybackDurationSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setPolicy(WvPLPlaybackPolicy)","url":"setPolicy(com.google.video.widevine.sdk.wvpl.WvPLPlaybackPolicy)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setPolicy(WvPLPlaybackPolicy)","url":"setPolicy(com.google.video.widevine.sdk.wvpl.WvPLPlaybackPolicy)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"setPreProvisioningKeys(Map)","url":"setPreProvisioningKeys(java.util.Map)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setProviderClientToken(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setProviderClientToken(String)","url":"setProviderClientToken(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setProviderSessionToken(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setProviderSessionToken(String)","url":"setProviderSessionToken(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setPurchaseId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setPurchaseId(String)","url":"setPurchaseId(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setRejectUnknownMakeModel(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setRejectUnknownMakeModel(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewalIntervalSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewalRecoveryDurationSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewalRetryIntervalSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewalUrl(String)","url":"setRenewalUrl(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewWithUsage(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRentalDurationSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"setRequestedOutputProtection(WvPLOutputProtection)","url":"setRequestedOutputProtection(com.google.video.widevine.sdk.wvpl.WvPLOutputProtection)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setRequestedOutputProtection(WvPLOutputProtection)","url":"setRequestedOutputProtection(com.google.video.widevine.sdk.wvpl.WvPLOutputProtection)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setRequestId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setSecuredataPath(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setSecurityLevel(WvPLSecurityLevel.SecurityLevel)","url":"setSecurityLevel(com.google.video.widevine.sdk.wvpl.WvPLSecurityLevel.SecurityLevel)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"setServiceCertificate(byte[], byte[], byte[])","url":"setServiceCertificate(byte[],byte[],byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"setServiceCertificate(byte[], byte[], byte[])","url":"setServiceCertificate(byte[],byte[],byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setServiceId(String)","url":"setServiceId(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setSessionId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setSessionId(String)","url":"setSessionId(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setSessionInit(WvPLSessionInit)","url":"setSessionInit(com.google.video.widevine.sdk.wvpl.WvPLSessionInit)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setSessionInit(WvPLSessionInit)","url":"setSessionInit(com.google.video.widevine.sdk.wvpl.WvPLSessionInit)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setSigningKey(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setSoc(String)","url":"setSoc(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setSoftEnforcePlaybackDuration(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setSoftEnforceRentalDuration(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setSystemId(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setTestDevice(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"setTrackType(WvPLTrackType.TrackType)","url":"setTrackType(com.google.video.widevine.sdk.wvpl.WvPLTrackType.TrackType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setTrackType(WvPLTrackType.TrackType)","url":"setTrackType(com.google.video.widevine.sdk.wvpl.WvPLTrackType.TrackType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setVersion(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setWrappingKey(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SIGNATURE_VERIFICATION_FAILED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SIGNED_MESSAGE_PARSE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SIGNER_PROVIDER_ID_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SIGNING_KEY_EXPIRED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategory.KeyCategory","l":"SINGLE_CONTENT_KEY_DEFAULT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"SINGLE_CONTENT_LICENSE_DEFAULT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_IN_TESTING"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_RELEASED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_REVOKED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_TEST_ONLY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"STREAMING"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"SW_SECURE_CRYPTO"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"SW_SECURE_DECODE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"TEST_ONLY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"TOKEN_HASH_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBrowserRequirement","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"TRACK_TYPE_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNABLE_TO_SERIALIZE_SESSION_STATE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNABLE_TO_SERIALIZE_SIGNED_MESSAGE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNAVAILABLE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNIMPLEMENTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNKNOWN_INIT_DATA_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"UNKNOWN_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNKNOWN_MAKE_MODEL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNSUPPORTED_PSSH_VERSION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNSUPPORTED_SYSTEM_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"updateWithCertificates(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType.CertificateKeyType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategory.KeyCategory","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType.CertificateKeyType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategory.KeyCategory","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"verifyPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"verifyPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"VF_EXCLUDED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"VF_INCLUDED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"VF_ONLY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"VF_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"VIDEO_HD"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"VIDEO_SD"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"VIDEO_UHD1"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"VIDEO_UHD2"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"VMP_ERROR_PLATFORM_NOT_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"VMP_ERROR_PLATFORM_TAMPERED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_CRITICAL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_HIGH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_LEVEL_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_LOW"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_MEDIUM"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_NONE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities","l":"WvPLAnalogOutputCapabilities(WvPLAnalogOutputCapabilities.AnalogOutputCapabilities)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLAnalogOutputCapabilities.AnalogOutputCapabilities)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"WvPLBaseEnvironment()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"WvPLBaseKey()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"WvPLBaseSession()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType","l":"WvPLCertificateKeyType(WvPLCertificateKeyType.CertificateKeyType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLCertificateKeyType.CertificateKeyType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms","l":"WvPLCgms(WvPLCgms.Cgms)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLCgms.Cgms)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"WvPLDeviceInfo()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus","l":"WvPLDeviceModelStatus(WvPLDeviceModelStatus.DeviceModelStatus)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDeviceModelStatus.DeviceModelStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform","l":"WvPLDevicePlatform(WvPLDevicePlatform.Platform)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDevicePlatform.Platform)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel","l":"WvPLDeviceSecurityLevel(WvPLDeviceSecurityLevel.DeviceSecurityLevel)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDeviceSecurityLevel.DeviceSecurityLevel)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState","l":"WvPLDeviceState(WvPLDeviceState.DeviceState)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDeviceState.DeviceState)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus","l":"WvPLDeviceStatus(WvPLDeviceStatus.DeviceStatus)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDeviceStatus.DeviceStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"WvPLEnvironment(Map)","url":"%3Cinit%3E(java.util.Map)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp","l":"WvPLHdcp(WvPLHdcp.HDCP)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLHdcp.HDCP)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"WvPLKey()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"WvPLKeyCategorySpec()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType","l":"WvPLKeyType()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"WvPLLicenseCategorySpec()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"WvPLLicenseIdentification()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType","l":"WvPLLicenseRequestType(WvPLLicenseRequestType.LicenseRequestType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLLicenseRequestType.LicenseRequestType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType","l":"WvPLLicenseType(WvPLLicenseType.LicenseType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLLicenseType.LicenseType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType","l":"WvPLMessageType(WvPLMessageType.MessageType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLMessageType.MessageType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"WvPLOutputProtection()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus","l":"WvPLPlatformVerificationStatus(WvPLPlatformVerificationStatus.PlatformVerificationStatus)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLPlatformVerificationStatus.PlatformVerificationStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"WvPLPlaybackPolicy()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"WvPLPlaybackPolicy(long, long, long, long, long, long, boolean, boolean, boolean, boolean, String, boolean, boolean, boolean)","url":"%3Cinit%3E(long,long,long,long,long,long,boolean,boolean,boolean,boolean,java.lang.String,boolean,boolean,boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"WvPLRequestType()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"WvPLRequestType(WvPLMessageType.MessageType, WvPLLicenseRequestType.LicenseRequestType, WvPLLicenseType.LicenseType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLMessageType.MessageType,com.google.video.widevine.sdk.wvpl.WvPLLicenseRequestType.LicenseRequestType,com.google.video.widevine.sdk.wvpl.WvPLLicenseType.LicenseType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel","l":"WvPLSecurityLevel()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"WvPLSession()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"WvPLSessionCreateOptions()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"WvPLSessionInit()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"WvPLSessionState()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"WvPLStatus(WvPLStatus.StatusCode, String)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLStatus.StatusCode,java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatusException","l":"WvPLStatusException(WvPLStatus)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType","l":"WvPLTrackType()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"WvPLVideoResolutionConstraint()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel","l":"WvPLVulnerabilityLevel(WvPLVulnerabilityLevel.VulnerabilityLevel)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLVulnerabilityLevel.VulnerabilityLevel)"}] \ No newline at end of file diff --git a/centos/javadoc/member-search-index.zip b/centos/javadoc/member-search-index.zip index 4e06614..9bcd888 100644 Binary files a/centos/javadoc/member-search-index.zip and b/centos/javadoc/member-search-index.zip differ diff --git a/centos/javadoc/overview-tree.html b/centos/javadoc/overview-tree.html index 65de256..ed96cf2 100644 --- a/centos/javadoc/overview-tree.html +++ b/centos/javadoc/overview-tree.html @@ -2,10 +2,10 @@ - + Class Hierarchy - + diff --git a/centos/javadoc/package-search-index.zip b/centos/javadoc/package-search-index.zip index bf26beb..47072a5 100644 Binary files a/centos/javadoc/package-search-index.zip and b/centos/javadoc/package-search-index.zip differ diff --git a/centos/javadoc/serialized-form.html b/centos/javadoc/serialized-form.html index f7c712f..655aa25 100644 --- a/centos/javadoc/serialized-form.html +++ b/centos/javadoc/serialized-form.html @@ -2,10 +2,10 @@ - + Serialized Form - + diff --git a/centos/javadoc/type-search-index.zip b/centos/javadoc/type-search-index.zip index a38d63b..272b70d 100644 Binary files a/centos/javadoc/type-search-index.zip and b/centos/javadoc/type-search-index.zip differ diff --git a/centos/libexported_wvpl_license_server_sdk_proto-speed.jar b/centos/libexported_wvpl_license_server_sdk_proto-speed.jar index 2009337..58222b0 100755 Binary files a/centos/libexported_wvpl_license_server_sdk_proto-speed.jar and b/centos/libexported_wvpl_license_server_sdk_proto-speed.jar differ diff --git a/centos/libplay_ready_impl.jar b/centos/libplay_ready_impl.jar index 6ab85d3..296b924 100755 Binary files a/centos/libplay_ready_impl.jar and b/centos/libplay_ready_impl.jar differ diff --git a/centos/libplayready_lib.jar b/centos/libplayready_lib.jar index dd00853..9cc031a 100755 Binary files a/centos/libplayready_lib.jar and b/centos/libplayready_lib.jar differ diff --git a/centos/libplayready_rmsdk.so b/centos/libplayready_rmsdk.so index 2d208b8..6197f4c 100755 Binary files a/centos/libplayready_rmsdk.so and b/centos/libplayready_rmsdk.so differ diff --git a/centos/libsdk_utils.jar b/centos/libsdk_utils.jar index c97edec..f973bc5 100755 Binary files a/centos/libsdk_utils.jar and b/centos/libsdk_utils.jar differ diff --git a/centos/libwidevine_license_wvpl_sdk_lib.jar b/centos/libwidevine_license_wvpl_sdk_lib.jar index cf8f517..a37c4a2 100755 Binary files a/centos/libwidevine_license_wvpl_sdk_lib.jar and b/centos/libwidevine_license_wvpl_sdk_lib.jar differ diff --git a/centos/libwidevine_playready_revocation_constants.jar b/centos/libwidevine_playready_revocation_constants.jar index 9601072..d2259a4 100755 Binary files a/centos/libwidevine_playready_revocation_constants.jar and b/centos/libwidevine_playready_revocation_constants.jar differ diff --git a/centos/libwvpl_license_sdk.so b/centos/libwvpl_license_sdk.so index fea369e..0a569c7 100755 Binary files a/centos/libwvpl_license_sdk.so and b/centos/libwvpl_license_sdk.so differ diff --git a/centos/libwvpl_playready_utils.jar b/centos/libwvpl_playready_utils.jar index 96ca453..e95e3a4 100755 Binary files a/centos/libwvpl_playready_utils.jar and b/centos/libwvpl_playready_utils.jar differ diff --git a/centos/libwvpl_utils.jar b/centos/libwvpl_utils.jar index cc186a4..9aaafea 100755 Binary files a/centos/libwvpl_utils.jar and b/centos/libwvpl_utils.jar differ diff --git a/centos/license_server_sdk/public/session.h b/centos/license_server_sdk/public/session.h deleted file mode 100755 index 4e02e23..0000000 --- a/centos/license_server_sdk/public/session.h +++ /dev/null @@ -1,509 +0,0 @@ -// Copyright 2017 Google LLC. All rights reserved. - -#ifndef VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_SESSION_H__ -#define VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_SESSION_H__ - -#include -#include -#include -#include -#include - -#include "absl/strings/string_view.h" -#include "absl/synchronization/mutex.h" -#include "common/status.h" -#include "protos/public/client_identification.pb.h" -#include "protos/public/device_certificate_status.pb.h" -#include "protos/public/drm_certificate.pb.h" -#include "protos/public/external_license.pb.h" -#include "protos/public/license_protocol.pb.h" -#include "protos/public/license_server_sdk.pb.h" -#include "protos/public/oem_key_container.pb.h" -#include "protos/public/security_profile.pb.h" - -namespace video_widevine { - -class ClientIdentification; -class ContentInfo; -class DrmRootCertificate; -class ExternalPlayReadySessionImpl; -class License; -class LicenseRequest; -class ProvisionedDeviceInfo; -class SecurityProfile; -class SecurityProfileList; -class SessionImpl; -class EnvironmentImpl; -class SessionInit; -class SessionState; -class SessionUsage; - -// TODO(tinskip): Rename this to LicenseSession and add LicenseEngine to hold -// global settings and create new sessions. -class Session { - public: - // Specify a comma separated list of system Ids that can support having - // OEMCrypto version, as specified in the license request, reflected back in - // the Key Control Block which is used by partner. Otherwise, only 'kctl' or - // 'kc09' is returned in KCB. - // TODO(tinskip): What is this, and can we do it better? Seems like something - // that would be better in the ClientCapabilities or device metadata. - static void SetDevicesToHandleOEMCryptoVersionInKCB( - const std::string& system_id_list); - // Set pre-provisioning keys system-wide. Map key is system_id, value. - // Value should be human-readable hex digits encoded bytes. - // Must be called before any other calls to this class. Calls are - // thread-safe, so the keys can be updated at any time. - static void SetPreProvisioningKeys( - const std::map& keys); - static void SetPreProvisioningKeys( - const std::multimap& keys); - // Set the certificate status list system-wide. |root_cert| is the root - // certificate which signed the DCSL. - // |expiration_period| is the number of seconds until the - // certificate_status_list expires after its creation time - // (creation_time_seconds). If |allow_unknown_devices| is false, an error is - // returned if the device does not appear in the certificate_status_list. - static Status SetCertificateStatusList( - const DrmRootCertificate* root_cert, - const std::string& certificate_status_list, - uint32_t expiration_period_seconds, bool allow_unknown_devices); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Add a service certificate system-wide. |root_cert| is the root certificate - // which signed the service certificate; |service_certificate| is a - // Google-generated certificate used to authenticate the service provider for - // purposes of device privacy; |service_private_key| is the encrypted PKCS#8 - // private RSA key corresponding to the service certificate; and - // |service_private_key_passphrase| is the password required to decrypt - // |service_private_key|. - static Status AddDrmServiceCertificate( - const DrmRootCertificate* root_cert, - const std::string& service_certificate, - const std::string& service_private_key, - const std::string& service_private_key_passphrase); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Enable delivery of licenses to client devices. This includes devices with - // TEST_ONLY status, and development platform verification certificates. - // Defaults to false. - static void AllowDevelopmentClients(bool enable); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Enable delivery of licenses to TEST_ONLY client devices. - // |device_list_make| is a comma separated list of devices to allow even - // if the device is in a TEST_ONLY state. This list wil be used only if - // AllowDevelopmentClient(false) is in use. - static void AllowTestOnlyDevices(const std::string& device_list_make) { - AllowTestOnlyDevicesByMake(device_list_make); - } - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - static void AllowTestOnlyDevicesByMake(const std::string& device_list_make); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Enable delivery of licenses to TEST_ONLY client devices. - // |device_list_provider| is a comma separated list of provider to allow - // even if the device is in a TEST_ONLY state. This list wil be used only if - // AllowDevelopmentClient(false) is in use. - static void AllowTestOnlyDevicesByProvider( - const std::string& device_list_provider); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Enable delivery of licenses to revoked client devices. |system_id_list| is - // a comma separated list of systems Ids to allow even if revoked. - static void AllowRevokedDevices(const std::string& system_id_list); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // A comma separated list of DRM Certificate Serial Numbers that are revoked. - static void RevokedDrmCertificateSerialNumbers( - const std::string& drm_certificate_serial_numbers); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Restriction on core message features. If this is an empty string, the - // default feature set is used. If it is an integer, that is the ODK version - // supported. - static void SetCoreMessageFeatures(const std::string& core_message_features); - - // Creates a Session object. - // |root_cert| is the root certificate to be used to validate client - // credentials. - // |signed_license_request| is the serialized SignedMessage received from the - // client. |session| points to a Session*, which must be initialized to NULL - // on entry, but |session| itself may not be NULL. The new Session object will - // be owned by the caller. This method returns Status::OK if successful, - // or an appropriate error status, in which case - // Session::GenerateErrorResponse should be invoked. - // Example usage: - // Session* session = NULL; - // Status status = Session::Create(root_cert, request_from_client, - // &session); - // if (!status.ok()) { - // std::string error_license; - // if (Session::GenerateErrorResponse(status, &error_license)) { - // // Send error_license to the client. - // } else { - // // Handle error - // } - // return ... - // } - // // Create license, invoke GenerateSignedLicense, etc. - static Status Create(const DrmRootCertificate* root_cert, - const std::string& signed_license_request, - Session** session); - - // Create a session for generating a license. This variation of Create takes - // options to allow for the creation of the session to succeed even if the - // device is revoked. - static Status CreateWithOptions(const DrmRootCertificate* root_cert, - const std::string& signed_license_request, - const SessionCreateOptions& options, - Session** session); - - // Variation of Session::Create which also fills in the parsed LicenseRequest, - // for use in logging or debugging. - static Status Create(const DrmRootCertificate* root_cert, - const std::string& signed_license_request, - const SessionCreateOptions& options, Session** session, - LicenseRequest* parsed_request_out); - - // Same as Create(), but caller can specify the ClientIdentification - // message and/or PlatformVerificationStatus. If ClientIdentification is - // specified, this variation of Create() will use the specified |client_id| - // instead of what is specified in |signed_license_request|. If - // PlatformVerificationStatus is specified, this method will use the specified - // |platform_verification_status| instead of attempting to determine it. - // Background for this function is to support cases where the client - // identification is encrypted with the provider's service certificate in - // which case we won't be able to decrypt OR when the provider determines - // platform verification. The provider will specify the - // clear client identification in |client_id| and the platform verification - // in |platform_verification_status|. - static Status CreateForProxy( - const DrmRootCertificate* root_cert, - const std::string& signed_license_request, - const PlatformVerificationStatus platform_verification_status, - const ClientIdentification* client_id, - const SessionCreateOptions& options, Session** session, - LicenseRequest* parsed_request_out); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Generates a SignedMessage containing a message generated in response to - // an error condition. |status| is a previous error status returned by the - // Session or Status(error::UNAVAILABLE, ...) to indicate that the - // backend is unavailable, |signed_message| points to a std::string to contain the - // serialized SignedMessage, and may not be NULL. This method returns true if - // there is an error license to be sent to the client, or false otherwise. - // Example usage in the Session::Create comments above. - static bool GenerateErrorResponse(const Status& status, - std::string* signed_message_bytes); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Generates a SignedMessage containing a service certificate for the - // specified |provider_id|. This method returns true if a service certificate - // exist for the provider. - static bool GenerateServiceCertificateResponse( - const std::string& provider_id, std::string* signed_message_bytes); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // DeriveKey uses the NIST 800-108 KDF recommendation, using AES-CMAC PRF. - // NIST 800-108: - // http://csrc.nist.gov/publications/nistpubs/800-108/sp800-108.pdf - // AES-CMAC: - // http://tools.ietf.org/html/rfc4493 - static std::string DeriveKey(const std::string& key, const std::string& label, - const std::string& context, - const uint32_t size_bits); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Returns a std::string containing the Widevine License Server SDK version in the - // form .. . - static std::string GetSdkVersionString(); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // If set to true, adds SDK and server version information to the license - // response. - static void SetIncludeVersionInfoInLicense(bool include_version_info); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Sets the service version information which can be included with the license - // response. If SetIncludeVersionInfoInLicense() is set to true and the server - // version is not empty, then the server version will be included in the - // license response. The host_version must be <= 32 characters and limited to - // alphanumeric and '_', '-', ':', ';', ' ', '/' and '.'. - static void SetHostServerVersion(const std::string& host_version); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Generate a signed request to be sent to Widevine Certificate Provisioning - // Server to retrieve 'DeviceCertificateStatusList'. - static Status GenerateDeviceStatusListRequest( - std::string* signed_device_certificate_status_list_request); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Set the custom device security profile list which is returned, from a call - // to Widevine PublishedDevicesService. - static Status SetCustomDeviceSecurityProfiles( - const DrmRootCertificate* root_cert, - absl::string_view serialized_signed_device_security_profiles); - - virtual ~Session(); - virtual const LicenseRequest& request() const; - virtual const std::string& GetSessionId(); - - // Return list of Widevine profiles meeting the DRM requirements for this - // session. - virtual Status GetQualifiedDefaultDeviceSecurityProfiles( - std::vector* qualified_profiles) const; - - // Retrieves qualifying Custom Security Profiles names given the owner name. - virtual Status GetQualifiedCustomDeviceSecurityProfiles( - absl::string_view owner_name, - std::vector* custom_qualified_profile_names) const; - - // Returns true if a provisioned device info exists. Caller - // owns |provisioned_device_info| and it must not be null. - virtual bool GetProvisionedDeviceInfo( - video_widevine::ProvisionedDeviceInfo* device_info); - - // Accessor for request_id field which may be encoded in one of multiple - // places in the liciense request protcol buffer. Use this method instead - // of accessing directly. |request_id| is a pointer to a std::string to contain - // the request ID upon successful return. - virtual Status GetRequestId(std::string* request_id) const; - - // Accessor for license_type field which may be encoded in one of multiple - // places in the license request protocol buffer. Use this method instead - // of accessing directly. |license_type| is a pointer to a value to contain - // the license type upon successful return. - virtual Status GetLicenseType(LicenseType* license_type) const; - - // Method used to get ContentIdentification in a consistent message regardless - // of the type or version of initialization data contained in the content_id - // field of the license request. Use this method instead of accessing the - // fields of ContentIdentification directly. |content_info| is a pointer to a - // message to contain the parsed values from content_id upon successful - // return. - virtual Status GetContentInfo(ContentInfo* content_info) const; - - // Returns the serial number of certificate associated with this device and - // content provider. - virtual std::string GetDrmDeviceId() const; - - // Copies the session usage table from license request to |usage_report|. - // Returns true if session usage exist in the license request, otherwise - // returns false. - bool GetSessionUsage(SessionUsage* usage_report) const; - - // Returns true if client info exists, otherwise returns false. Populate the - // specified |client_info| structure. - virtual bool GetClientInfo(ClientIdentification* client_info) const; - - // Generates a serialized signed License response, emptying |policy| and - // |key_container|, encrypting the keys therein. |session_init| and - // |session_state| are returned to be cached and provided in subsequent - // calls to the function. If no additional PolicyItem or KeyContainer objects - // are necessary to fulfill the request (such as the case with license - // renewal), |policy| and/or |key_container| may be NULL. - // The response is expected to be sent to the Widevine CDM. - virtual Status GenerateSignedLicense( - /*IN*/ const License::Policy* policy, - /*IN*/ const std::list* key_container, - /*IN*/ const SessionInit* session_init, - /*INOUT*/ SessionState* session_state, - /*OUT*/ std::string* signed_message_bytes); - - virtual PlatformVerificationStatus GetPlatformVerificationStatus() const; - - // Returns the service id of the provider that owns the device certificate. - virtual std::string GetDrmDeviceServiceId() const; - - // Returns true, if the license request for this session included a key - // control nonce, else false. - virtual bool HasKeyControlNonce() const; - - // If set to 'true', allow licenses to be generated even if VMP data was - // determined to be video_widevine::PLATFORM_UNVERIFIED. - virtual void set_allow_unverified_platform(bool allow_unverified_platform); - - // Return the setting of whether licenses are allowed to be generated even - // when VMP data was determined to be video_widevine::PLATFORM_UNVERIFIED. - virtual bool allow_unverified_platform() const; - - // If set to 'true', allow licenses to be generated even if VMP data was - // determined to be video_widevine::PLATFORM_TAMPERED. - virtual void set_allow_tampered_platform(bool allow_tampered_platform); - - /** - * If set to true, reject WvDrm SDK to reject licensing behaviors to unknown - * make model. Default value is false. - */ - virtual void set_reject_unknown_make_model(bool reject_unknown_make_model); - - /** - * Retrieves the setting of whether unknown make model is rejected. - */ - virtual bool reject_unknown_make_model() const; - - // Return the setting of whether licenses are allowed to be generated even - // when VMP data was determined to be video_widevine::PLATFORM_TAMPERED. - virtual bool allow_tampered_platform() const; - - virtual void SetKeys(std::list* oem_key_container); - - // 'Provider' making the request. - virtual void set_provider(const std::string& provider); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Obtain the owner list for custom profiles. - virtual Status GetCustomDeviceSecurityProfileOwners( - std::vector* custom_profile_owners) const; - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Return a list of custom profile names associated with |owner_name|. - virtual Status GetCustomDeviceSecurityProfileNames( - absl::string_view owner_name, - std::vector* profile_names) const; - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Return the custom profiles associated with |owner_name|. - virtual Status GetCustomDeviceSecurityProfiles( - absl::string_view owner_name, - std::vector* custom_device_security_profiles) const; - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Return a list of default profile names obtained from default profiles. - // The input argument |profile_names| cannot be null and it will be replaced - // by the results. - // For any non-ok status, |profile_names| won't be modified. - virtual Status GetDefaultDeviceSecurityProfileNames( - std::vector* profile_names) const; - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Return the default profile associated with |profile_name|. - virtual Status GetDefaultDeviceSecurityProfile( - absl::string_view profile_name, - SecurityProfile* device_security_profile) const; - - // Return the device status such as as RELEASED or REVOKED. - virtual DeviceCertificateStatus::Status GetDeviceStatus() const; - - // Returns message type such as LICENSE_REQUEST, SERVICE_CERTIFICATE_REQUEST - // or EXTERNAL_LICENSE_REQUEST. - virtual SignedMessage::MessageType message_type() const; - - // Retrieves Widevine Security Profile DrmInfo of the device. - // Returns true if |drm_info| was successully populated, else false. - virtual bool GetDrmInfo(SecurityProfile::DrmInfo* drm_info) const; - - // Retrieves the ContentIdentification from the request. Returns OK, if - // successful, else failure. - virtual Status GetContentId( - LicenseRequest::ContentIdentification* content_id) const; - - // Retrieves the request type. - virtual LicenseRequest::RequestType request_type() const; - - // Deprecated. - // TODO(b/200839386): This API is now available in environment.h. It will be - // removed from this header file in the Q4 2021 SDK release. - // If |auto_set_provider_session_token| is 'true', the provider session token - // will be automatically set, - // * if the provider session token has not been specified. - // * for OFFLINE requests - // * if Policy.can_persist is set to 'true'. - // * if Policy.can_renew is set to 'true'. - // * if OEMCryptoVersion of the client making the request is at least 16. - // - // The default setting for |auto_set_provider_session_token| is 'true'. - virtual void set_auto_set_provider_session_token( - bool auto_set_provider_session_token); - - // Deprecated. - // TODO(b/200839386): This API is now available in environment.h. It will be - // removed from this header file in the Q4 2021 SDK release. - // Returns the setting as to whether the provider session token will be - // automatically set. - virtual bool auto_set_provider_session_token() const; - - protected: - Session(std::shared_ptr env_impl, - std::unique_ptr impl); - Session(std::shared_ptr env_impl, - std::unique_ptr - external_playready_session_impl); - // For testing only. This allows unit tests to define a mock Session class. - Session(); - - friend class Environment; - - private: -#ifndef SWIG - Session(const Session&) = delete; - Session& operator=(const Session&) = delete; -#endif - - // Session::Create which also fills in the parsed - // ExternalLicenseRequest. Used to create a Session object. - static Status Create(const DrmRootCertificate* root_cert, - SignedMessage* signed_message, Session** session, - ExternalLicenseRequest* parsed_request_out); - - explicit Session(std::unique_ptr impl); - - explicit Session(std::unique_ptr - external_playready_session_impl); - - std::shared_ptr env_impl_; - std::unique_ptr impl_; - std::unique_ptr - external_playready_session_impl_; - static absl::Mutex profile_mutex_; - static std::unique_ptr security_profile_list_ - ABSL_GUARDED_BY(profile_mutex_); -}; - -} // namespace video_widevine - -#endif // VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_SESSION_H__ diff --git a/centos/protos/public/client_identification.pb.h b/centos/protos/public/client_identification.pb.h index f1dad1b..a1fea6f 100755 --- a/centos/protos/public/client_identification.pb.h +++ b/centos/protos/public/client_identification.pb.h @@ -164,6 +164,31 @@ inline bool ClientIdentification_ClientCapabilities_AnalogOutputCapabilities_Par return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( ClientIdentification_ClientCapabilities_AnalogOutputCapabilities_descriptor(), name, value); } +enum ClientIdentification_ClientCapabilities_WatermarkingSupport : int { + ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_SUPPORT_UNKNOWN = 0, + ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_NOT_SUPPORTED = 1, + ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_CONFIGURABLE = 2, + ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_ALWAYS_ON = 3 +}; +bool ClientIdentification_ClientCapabilities_WatermarkingSupport_IsValid(int value); +constexpr ClientIdentification_ClientCapabilities_WatermarkingSupport ClientIdentification_ClientCapabilities_WatermarkingSupport_WatermarkingSupport_MIN = ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_SUPPORT_UNKNOWN; +constexpr ClientIdentification_ClientCapabilities_WatermarkingSupport ClientIdentification_ClientCapabilities_WatermarkingSupport_WatermarkingSupport_MAX = ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_ALWAYS_ON; +constexpr int ClientIdentification_ClientCapabilities_WatermarkingSupport_WatermarkingSupport_ARRAYSIZE = ClientIdentification_ClientCapabilities_WatermarkingSupport_WatermarkingSupport_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ClientIdentification_ClientCapabilities_WatermarkingSupport_descriptor(); +template +inline const std::string& ClientIdentification_ClientCapabilities_WatermarkingSupport_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function ClientIdentification_ClientCapabilities_WatermarkingSupport_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + ClientIdentification_ClientCapabilities_WatermarkingSupport_descriptor(), enum_t_value); +} +inline bool ClientIdentification_ClientCapabilities_WatermarkingSupport_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClientIdentification_ClientCapabilities_WatermarkingSupport* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + ClientIdentification_ClientCapabilities_WatermarkingSupport_descriptor(), name, value); +} enum ClientIdentification_TokenType : int { ClientIdentification_TokenType_KEYBOX = 0, ClientIdentification_TokenType_DRM_DEVICE_CERTIFICATE = 1, @@ -607,6 +632,40 @@ class ClientIdentification_ClientCapabilities final : return ClientIdentification_ClientCapabilities_AnalogOutputCapabilities_Parse(name, value); } + typedef ClientIdentification_ClientCapabilities_WatermarkingSupport WatermarkingSupport; + static constexpr WatermarkingSupport WATERMARKING_SUPPORT_UNKNOWN = + ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_SUPPORT_UNKNOWN; + static constexpr WatermarkingSupport WATERMARKING_NOT_SUPPORTED = + ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_NOT_SUPPORTED; + static constexpr WatermarkingSupport WATERMARKING_CONFIGURABLE = + ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_CONFIGURABLE; + static constexpr WatermarkingSupport WATERMARKING_ALWAYS_ON = + ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_ALWAYS_ON; + static inline bool WatermarkingSupport_IsValid(int value) { + return ClientIdentification_ClientCapabilities_WatermarkingSupport_IsValid(value); + } + static constexpr WatermarkingSupport WatermarkingSupport_MIN = + ClientIdentification_ClientCapabilities_WatermarkingSupport_WatermarkingSupport_MIN; + static constexpr WatermarkingSupport WatermarkingSupport_MAX = + ClientIdentification_ClientCapabilities_WatermarkingSupport_WatermarkingSupport_MAX; + static constexpr int WatermarkingSupport_ARRAYSIZE = + ClientIdentification_ClientCapabilities_WatermarkingSupport_WatermarkingSupport_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + WatermarkingSupport_descriptor() { + return ClientIdentification_ClientCapabilities_WatermarkingSupport_descriptor(); + } + template + static inline const std::string& WatermarkingSupport_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function WatermarkingSupport_Name."); + return ClientIdentification_ClientCapabilities_WatermarkingSupport_Name(enum_t_value); + } + static inline bool WatermarkingSupport_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + WatermarkingSupport* value) { + return ClientIdentification_ClientCapabilities_WatermarkingSupport_Parse(name, value); + } + // accessors ------------------------------------------------------- enum : int { @@ -622,6 +681,7 @@ class ClientIdentification_ClientCapabilities final : kCanDisableAnalogOutputFieldNumber = 11, kAnalogOutputCapabilitiesFieldNumber = 10, kResourceRatingTierFieldNumber = 12, + kWatermarkingSupportFieldNumber = 13, }; // repeated .video_widevine.ClientIdentification.ClientCapabilities.CertificateKeyType supported_certificate_key_type = 9; int supported_certificate_key_type_size() const; @@ -783,6 +843,19 @@ class ClientIdentification_ClientCapabilities final : void _internal_set_resource_rating_tier(::PROTOBUF_NAMESPACE_ID::uint32 value); public: + // optional .video_widevine.ClientIdentification.ClientCapabilities.WatermarkingSupport watermarking_support = 13; + bool has_watermarking_support() const; + private: + bool _internal_has_watermarking_support() const; + public: + void clear_watermarking_support(); + ::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport watermarking_support() const; + void set_watermarking_support(::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport value); + private: + ::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport _internal_watermarking_support() const; + void _internal_set_watermarking_support(::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport value); + public: + // @@protoc_insertion_point(class_scope:video_widevine.ClientIdentification.ClientCapabilities) private: class _Internal; @@ -804,6 +877,7 @@ class ClientIdentification_ClientCapabilities final : bool can_disable_analog_output_; int analog_output_capabilities_; ::PROTOBUF_NAMESPACE_ID::uint32 resource_rating_tier_; + int watermarking_support_; friend struct ::TableStruct_protos_2fpublic_2fclient_5fidentification_2eproto; }; // ------------------------------------------------------------------- @@ -2025,6 +2099,35 @@ inline void ClientIdentification_ClientCapabilities::set_resource_rating_tier(:: // @@protoc_insertion_point(field_set:video_widevine.ClientIdentification.ClientCapabilities.resource_rating_tier) } +// optional .video_widevine.ClientIdentification.ClientCapabilities.WatermarkingSupport watermarking_support = 13; +inline bool ClientIdentification_ClientCapabilities::_internal_has_watermarking_support() const { + bool value = (_has_bits_[0] & 0x00000800u) != 0; + return value; +} +inline bool ClientIdentification_ClientCapabilities::has_watermarking_support() const { + return _internal_has_watermarking_support(); +} +inline void ClientIdentification_ClientCapabilities::clear_watermarking_support() { + watermarking_support_ = 0; + _has_bits_[0] &= ~0x00000800u; +} +inline ::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport ClientIdentification_ClientCapabilities::_internal_watermarking_support() const { + return static_cast< ::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport >(watermarking_support_); +} +inline ::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport ClientIdentification_ClientCapabilities::watermarking_support() const { + // @@protoc_insertion_point(field_get:video_widevine.ClientIdentification.ClientCapabilities.watermarking_support) + return _internal_watermarking_support(); +} +inline void ClientIdentification_ClientCapabilities::_internal_set_watermarking_support(::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport value) { + assert(::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport_IsValid(value)); + _has_bits_[0] |= 0x00000800u; + watermarking_support_ = value; +} +inline void ClientIdentification_ClientCapabilities::set_watermarking_support(::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport value) { + _internal_set_watermarking_support(value); + // @@protoc_insertion_point(field_set:video_widevine.ClientIdentification.ClientCapabilities.watermarking_support) +} + // ------------------------------------------------------------------- // ClientIdentification_ClientCredentials @@ -2898,6 +3001,11 @@ template <> inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::ClientIdentification_ClientCapabilities_AnalogOutputCapabilities>() { return ::video_widevine::ClientIdentification_ClientCapabilities_AnalogOutputCapabilities_descriptor(); } +template <> struct is_proto_enum< ::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport>() { + return ::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport_descriptor(); +} template <> struct is_proto_enum< ::video_widevine::ClientIdentification_TokenType> : ::std::true_type {}; template <> inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::ClientIdentification_TokenType>() { diff --git a/centos/protos/public/device_certificate_status.pb.h b/centos/protos/public/device_certificate_status.pb.h index 43bd2ae..9ae9dc3 100755 --- a/centos/protos/public/device_certificate_status.pb.h +++ b/centos/protos/public/device_certificate_status.pb.h @@ -49,7 +49,7 @@ struct TableStruct_protos_2fpublic_2fdevice_5fcertificate_5fstatus_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[5] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[7] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -66,6 +66,12 @@ extern DeviceCertificateStatusListDefaultTypeInternal _DeviceCertificateStatusLi class DeviceCertificateStatus_RevokedIdentifiers; struct DeviceCertificateStatus_RevokedIdentifiersDefaultTypeInternal; extern DeviceCertificateStatus_RevokedIdentifiersDefaultTypeInternal _DeviceCertificateStatus_RevokedIdentifiers_default_instance_; +class ImpactAnalysis; +struct ImpactAnalysisDefaultTypeInternal; +extern ImpactAnalysisDefaultTypeInternal _ImpactAnalysis_default_instance_; +class ImpactAnalysis_ImpactAnalysisMetrics; +struct ImpactAnalysis_ImpactAnalysisMetricsDefaultTypeInternal; +extern ImpactAnalysis_ImpactAnalysisMetricsDefaultTypeInternal _ImpactAnalysis_ImpactAnalysisMetrics_default_instance_; class PublishedDevicesList; struct PublishedDevicesListDefaultTypeInternal; extern PublishedDevicesListDefaultTypeInternal _PublishedDevicesList_default_instance_; @@ -77,6 +83,8 @@ PROTOBUF_NAMESPACE_OPEN template<> ::video_widevine::DeviceCertificateStatus* Arena::CreateMaybeMessage<::video_widevine::DeviceCertificateStatus>(Arena*); template<> ::video_widevine::DeviceCertificateStatusList* Arena::CreateMaybeMessage<::video_widevine::DeviceCertificateStatusList>(Arena*); template<> ::video_widevine::DeviceCertificateStatus_RevokedIdentifiers* Arena::CreateMaybeMessage<::video_widevine::DeviceCertificateStatus_RevokedIdentifiers>(Arena*); +template<> ::video_widevine::ImpactAnalysis* Arena::CreateMaybeMessage<::video_widevine::ImpactAnalysis>(Arena*); +template<> ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* Arena::CreateMaybeMessage<::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics>(Arena*); template<> ::video_widevine::PublishedDevicesList* Arena::CreateMaybeMessage<::video_widevine::PublishedDevicesList>(Arena*); template<> ::video_widevine::SignedDeviceCertificateStatusList* Arena::CreateMaybeMessage<::video_widevine::SignedDeviceCertificateStatusList>(Arena*); PROTOBUF_NAMESPACE_CLOSE @@ -131,32 +139,55 @@ inline bool DeviceCertificateStatus_Status_Parse( return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( DeviceCertificateStatus_Status_descriptor(), name, value); } -enum DeviceCertificateStatus_DeviceVulnerabilityLevel : int { - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_UNSPECIFIED = 0, - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_NONE = 1, - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_LOW = 2, - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_MEDIUM = 3, - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_HIGH = 4, - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_CRITICAL = 5 +enum ImpactAnalysis_DeviceStatusOperation : int { + ImpactAnalysis_DeviceStatusOperation_DEVICE_STATUS_OPERATION_UNSPECIFIED = 0, + ImpactAnalysis_DeviceStatusOperation_DEVICE_STATUS_UPDATE = 1, + ImpactAnalysis_DeviceStatusOperation_DEVICE_STATUS_REVOKE = 2 }; -bool DeviceCertificateStatus_DeviceVulnerabilityLevel_IsValid(int value); -constexpr DeviceCertificateStatus_DeviceVulnerabilityLevel DeviceCertificateStatus_DeviceVulnerabilityLevel_DeviceVulnerabilityLevel_MIN = DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_UNSPECIFIED; -constexpr DeviceCertificateStatus_DeviceVulnerabilityLevel DeviceCertificateStatus_DeviceVulnerabilityLevel_DeviceVulnerabilityLevel_MAX = DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_CRITICAL; -constexpr int DeviceCertificateStatus_DeviceVulnerabilityLevel_DeviceVulnerabilityLevel_ARRAYSIZE = DeviceCertificateStatus_DeviceVulnerabilityLevel_DeviceVulnerabilityLevel_MAX + 1; +bool ImpactAnalysis_DeviceStatusOperation_IsValid(int value); +constexpr ImpactAnalysis_DeviceStatusOperation ImpactAnalysis_DeviceStatusOperation_DeviceStatusOperation_MIN = ImpactAnalysis_DeviceStatusOperation_DEVICE_STATUS_OPERATION_UNSPECIFIED; +constexpr ImpactAnalysis_DeviceStatusOperation ImpactAnalysis_DeviceStatusOperation_DeviceStatusOperation_MAX = ImpactAnalysis_DeviceStatusOperation_DEVICE_STATUS_REVOKE; +constexpr int ImpactAnalysis_DeviceStatusOperation_DeviceStatusOperation_ARRAYSIZE = ImpactAnalysis_DeviceStatusOperation_DeviceStatusOperation_MAX + 1; -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DeviceCertificateStatus_DeviceVulnerabilityLevel_descriptor(); +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ImpactAnalysis_DeviceStatusOperation_descriptor(); template -inline const std::string& DeviceCertificateStatus_DeviceVulnerabilityLevel_Name(T enum_t_value) { - static_assert(::std::is_same::value || +inline const std::string& ImpactAnalysis_DeviceStatusOperation_Name(T enum_t_value) { + static_assert(::std::is_same::value || ::std::is_integral::value, - "Incorrect type passed to function DeviceCertificateStatus_DeviceVulnerabilityLevel_Name."); + "Incorrect type passed to function ImpactAnalysis_DeviceStatusOperation_Name."); return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - DeviceCertificateStatus_DeviceVulnerabilityLevel_descriptor(), enum_t_value); + ImpactAnalysis_DeviceStatusOperation_descriptor(), enum_t_value); } -inline bool DeviceCertificateStatus_DeviceVulnerabilityLevel_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DeviceCertificateStatus_DeviceVulnerabilityLevel* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - DeviceCertificateStatus_DeviceVulnerabilityLevel_descriptor(), name, value); +inline bool ImpactAnalysis_DeviceStatusOperation_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ImpactAnalysis_DeviceStatusOperation* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + ImpactAnalysis_DeviceStatusOperation_descriptor(), name, value); +} +enum ImpactAnalysis_DeviceStatusImpact : int { + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_UNSPECIFIED = 0, + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_NONE = 1, + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_LOW = 2, + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_MEDIUM = 3, + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_HIGH = 4 +}; +bool ImpactAnalysis_DeviceStatusImpact_IsValid(int value); +constexpr ImpactAnalysis_DeviceStatusImpact ImpactAnalysis_DeviceStatusImpact_DeviceStatusImpact_MIN = ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_UNSPECIFIED; +constexpr ImpactAnalysis_DeviceStatusImpact ImpactAnalysis_DeviceStatusImpact_DeviceStatusImpact_MAX = ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_HIGH; +constexpr int ImpactAnalysis_DeviceStatusImpact_DeviceStatusImpact_ARRAYSIZE = ImpactAnalysis_DeviceStatusImpact_DeviceStatusImpact_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ImpactAnalysis_DeviceStatusImpact_descriptor(); +template +inline const std::string& ImpactAnalysis_DeviceStatusImpact_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function ImpactAnalysis_DeviceStatusImpact_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + ImpactAnalysis_DeviceStatusImpact_descriptor(), enum_t_value); +} +inline bool ImpactAnalysis_DeviceStatusImpact_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ImpactAnalysis_DeviceStatusImpact* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + ImpactAnalysis_DeviceStatusImpact_descriptor(), name, value); } // =================================================================== @@ -534,44 +565,6 @@ class DeviceCertificateStatus final : return DeviceCertificateStatus_Status_Parse(name, value); } - typedef DeviceCertificateStatus_DeviceVulnerabilityLevel DeviceVulnerabilityLevel; - static constexpr DeviceVulnerabilityLevel DEVICE_VULNERABILITY_LEVEL_UNSPECIFIED = - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_UNSPECIFIED; - static constexpr DeviceVulnerabilityLevel DEVICE_VULNERABILITY_LEVEL_NONE = - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_NONE; - static constexpr DeviceVulnerabilityLevel DEVICE_VULNERABILITY_LEVEL_LOW = - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_LOW; - static constexpr DeviceVulnerabilityLevel DEVICE_VULNERABILITY_LEVEL_MEDIUM = - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_MEDIUM; - static constexpr DeviceVulnerabilityLevel DEVICE_VULNERABILITY_LEVEL_HIGH = - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_HIGH; - static constexpr DeviceVulnerabilityLevel DEVICE_VULNERABILITY_LEVEL_CRITICAL = - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_CRITICAL; - static inline bool DeviceVulnerabilityLevel_IsValid(int value) { - return DeviceCertificateStatus_DeviceVulnerabilityLevel_IsValid(value); - } - static constexpr DeviceVulnerabilityLevel DeviceVulnerabilityLevel_MIN = - DeviceCertificateStatus_DeviceVulnerabilityLevel_DeviceVulnerabilityLevel_MIN; - static constexpr DeviceVulnerabilityLevel DeviceVulnerabilityLevel_MAX = - DeviceCertificateStatus_DeviceVulnerabilityLevel_DeviceVulnerabilityLevel_MAX; - static constexpr int DeviceVulnerabilityLevel_ARRAYSIZE = - DeviceCertificateStatus_DeviceVulnerabilityLevel_DeviceVulnerabilityLevel_ARRAYSIZE; - static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* - DeviceVulnerabilityLevel_descriptor() { - return DeviceCertificateStatus_DeviceVulnerabilityLevel_descriptor(); - } - template - static inline const std::string& DeviceVulnerabilityLevel_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function DeviceVulnerabilityLevel_Name."); - return DeviceCertificateStatus_DeviceVulnerabilityLevel_Name(enum_t_value); - } - static inline bool DeviceVulnerabilityLevel_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, - DeviceVulnerabilityLevel* value) { - return DeviceCertificateStatus_DeviceVulnerabilityLevel_Parse(name, value); - } - // accessors ------------------------------------------------------- enum : int { @@ -581,7 +574,6 @@ class DeviceCertificateStatus final : kRevokedIdentifiersFieldNumber = 7, kDeprecatedStatusFieldNumber = 2, kStatusFieldNumber = 6, - kDeviceVulnerabilityLevelFieldNumber = 8, }; // optional bytes drm_serial_number = 1; bool has_drm_serial_number() const; @@ -681,19 +673,6 @@ class DeviceCertificateStatus final : void _internal_set_status(::video_widevine::DeviceCertificateStatus_Status value); public: - // optional .video_widevine.DeviceCertificateStatus.DeviceVulnerabilityLevel device_vulnerability_level = 8; - bool has_device_vulnerability_level() const; - private: - bool _internal_has_device_vulnerability_level() const; - public: - void clear_device_vulnerability_level(); - ::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel device_vulnerability_level() const; - void set_device_vulnerability_level(::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel value); - private: - ::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel _internal_device_vulnerability_level() const; - void _internal_set_device_vulnerability_level(::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel value); - public: - // @@protoc_insertion_point(class_scope:video_widevine.DeviceCertificateStatus) private: class _Internal; @@ -709,7 +688,473 @@ class DeviceCertificateStatus final : ::video_widevine::DeviceCertificateStatus_RevokedIdentifiers* revoked_identifiers_; int deprecated_status_; int status_; - int device_vulnerability_level_; + friend struct ::TableStruct_protos_2fpublic_2fdevice_5fcertificate_5fstatus_2eproto; +}; +// ------------------------------------------------------------------- + +class ImpactAnalysis_ImpactAnalysisMetrics final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.ImpactAnalysis.ImpactAnalysisMetrics) */ { + public: + inline ImpactAnalysis_ImpactAnalysisMetrics() : ImpactAnalysis_ImpactAnalysisMetrics(nullptr) {} + ~ImpactAnalysis_ImpactAnalysisMetrics() override; + explicit constexpr ImpactAnalysis_ImpactAnalysisMetrics(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ImpactAnalysis_ImpactAnalysisMetrics(const ImpactAnalysis_ImpactAnalysisMetrics& from); + ImpactAnalysis_ImpactAnalysisMetrics(ImpactAnalysis_ImpactAnalysisMetrics&& from) noexcept + : ImpactAnalysis_ImpactAnalysisMetrics() { + *this = ::std::move(from); + } + + inline ImpactAnalysis_ImpactAnalysisMetrics& operator=(const ImpactAnalysis_ImpactAnalysisMetrics& from) { + CopyFrom(from); + return *this; + } + inline ImpactAnalysis_ImpactAnalysisMetrics& operator=(ImpactAnalysis_ImpactAnalysisMetrics&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ImpactAnalysis_ImpactAnalysisMetrics& default_instance() { + return *internal_default_instance(); + } + static inline const ImpactAnalysis_ImpactAnalysisMetrics* internal_default_instance() { + return reinterpret_cast( + &_ImpactAnalysis_ImpactAnalysisMetrics_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + friend void swap(ImpactAnalysis_ImpactAnalysisMetrics& a, ImpactAnalysis_ImpactAnalysisMetrics& b) { + a.Swap(&b); + } + inline void Swap(ImpactAnalysis_ImpactAnalysisMetrics* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ImpactAnalysis_ImpactAnalysisMetrics* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ImpactAnalysis_ImpactAnalysisMetrics* New() const final { + return new ImpactAnalysis_ImpactAnalysisMetrics(); + } + + ImpactAnalysis_ImpactAnalysisMetrics* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ImpactAnalysis_ImpactAnalysisMetrics& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const ImpactAnalysis_ImpactAnalysisMetrics& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ImpactAnalysis_ImpactAnalysisMetrics* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "video_widevine.ImpactAnalysis.ImpactAnalysisMetrics"; + } + protected: + explicit ImpactAnalysis_ImpactAnalysisMetrics(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kImpactValueFieldNumber = 1, + kRequestNumberFieldNumber = 2, + kRequestDurationDaysFieldNumber = 3, + }; + // optional float impact_value = 1; + bool has_impact_value() const; + private: + bool _internal_has_impact_value() const; + public: + void clear_impact_value(); + float impact_value() const; + void set_impact_value(float value); + private: + float _internal_impact_value() const; + void _internal_set_impact_value(float value); + public: + + // optional uint32 request_number = 2; + bool has_request_number() const; + private: + bool _internal_has_request_number() const; + public: + void clear_request_number(); + ::PROTOBUF_NAMESPACE_ID::uint32 request_number() const; + void set_request_number(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_request_number() const; + void _internal_set_request_number(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + + // optional uint32 request_duration_days = 3; + bool has_request_duration_days() const; + private: + bool _internal_has_request_duration_days() const; + public: + void clear_request_duration_days(); + ::PROTOBUF_NAMESPACE_ID::uint32 request_duration_days() const; + void set_request_duration_days(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_request_duration_days() const; + void _internal_set_request_duration_days(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + + // @@protoc_insertion_point(class_scope:video_widevine.ImpactAnalysis.ImpactAnalysisMetrics) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + float impact_value_; + ::PROTOBUF_NAMESPACE_ID::uint32 request_number_; + ::PROTOBUF_NAMESPACE_ID::uint32 request_duration_days_; + friend struct ::TableStruct_protos_2fpublic_2fdevice_5fcertificate_5fstatus_2eproto; +}; +// ------------------------------------------------------------------- + +class ImpactAnalysis final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.ImpactAnalysis) */ { + public: + inline ImpactAnalysis() : ImpactAnalysis(nullptr) {} + ~ImpactAnalysis() override; + explicit constexpr ImpactAnalysis(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ImpactAnalysis(const ImpactAnalysis& from); + ImpactAnalysis(ImpactAnalysis&& from) noexcept + : ImpactAnalysis() { + *this = ::std::move(from); + } + + inline ImpactAnalysis& operator=(const ImpactAnalysis& from) { + CopyFrom(from); + return *this; + } + inline ImpactAnalysis& operator=(ImpactAnalysis&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ImpactAnalysis& default_instance() { + return *internal_default_instance(); + } + static inline const ImpactAnalysis* internal_default_instance() { + return reinterpret_cast( + &_ImpactAnalysis_default_instance_); + } + static constexpr int kIndexInFileMessages = + 3; + + friend void swap(ImpactAnalysis& a, ImpactAnalysis& b) { + a.Swap(&b); + } + inline void Swap(ImpactAnalysis* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ImpactAnalysis* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ImpactAnalysis* New() const final { + return new ImpactAnalysis(); + } + + ImpactAnalysis* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ImpactAnalysis& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const ImpactAnalysis& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ImpactAnalysis* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "video_widevine.ImpactAnalysis"; + } + protected: + explicit ImpactAnalysis(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef ImpactAnalysis_ImpactAnalysisMetrics ImpactAnalysisMetrics; + + typedef ImpactAnalysis_DeviceStatusOperation DeviceStatusOperation; + static constexpr DeviceStatusOperation DEVICE_STATUS_OPERATION_UNSPECIFIED = + ImpactAnalysis_DeviceStatusOperation_DEVICE_STATUS_OPERATION_UNSPECIFIED; + static constexpr DeviceStatusOperation DEVICE_STATUS_UPDATE = + ImpactAnalysis_DeviceStatusOperation_DEVICE_STATUS_UPDATE; + static constexpr DeviceStatusOperation DEVICE_STATUS_REVOKE = + ImpactAnalysis_DeviceStatusOperation_DEVICE_STATUS_REVOKE; + static inline bool DeviceStatusOperation_IsValid(int value) { + return ImpactAnalysis_DeviceStatusOperation_IsValid(value); + } + static constexpr DeviceStatusOperation DeviceStatusOperation_MIN = + ImpactAnalysis_DeviceStatusOperation_DeviceStatusOperation_MIN; + static constexpr DeviceStatusOperation DeviceStatusOperation_MAX = + ImpactAnalysis_DeviceStatusOperation_DeviceStatusOperation_MAX; + static constexpr int DeviceStatusOperation_ARRAYSIZE = + ImpactAnalysis_DeviceStatusOperation_DeviceStatusOperation_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + DeviceStatusOperation_descriptor() { + return ImpactAnalysis_DeviceStatusOperation_descriptor(); + } + template + static inline const std::string& DeviceStatusOperation_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DeviceStatusOperation_Name."); + return ImpactAnalysis_DeviceStatusOperation_Name(enum_t_value); + } + static inline bool DeviceStatusOperation_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + DeviceStatusOperation* value) { + return ImpactAnalysis_DeviceStatusOperation_Parse(name, value); + } + + typedef ImpactAnalysis_DeviceStatusImpact DeviceStatusImpact; + static constexpr DeviceStatusImpact DEVICE_STATUS_IMPACT_UNSPECIFIED = + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_UNSPECIFIED; + static constexpr DeviceStatusImpact DEVICE_STATUS_IMPACT_NONE = + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_NONE; + static constexpr DeviceStatusImpact DEVICE_STATUS_IMPACT_LOW = + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_LOW; + static constexpr DeviceStatusImpact DEVICE_STATUS_IMPACT_MEDIUM = + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_MEDIUM; + static constexpr DeviceStatusImpact DEVICE_STATUS_IMPACT_HIGH = + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_HIGH; + static inline bool DeviceStatusImpact_IsValid(int value) { + return ImpactAnalysis_DeviceStatusImpact_IsValid(value); + } + static constexpr DeviceStatusImpact DeviceStatusImpact_MIN = + ImpactAnalysis_DeviceStatusImpact_DeviceStatusImpact_MIN; + static constexpr DeviceStatusImpact DeviceStatusImpact_MAX = + ImpactAnalysis_DeviceStatusImpact_DeviceStatusImpact_MAX; + static constexpr int DeviceStatusImpact_ARRAYSIZE = + ImpactAnalysis_DeviceStatusImpact_DeviceStatusImpact_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + DeviceStatusImpact_descriptor() { + return ImpactAnalysis_DeviceStatusImpact_descriptor(); + } + template + static inline const std::string& DeviceStatusImpact_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DeviceStatusImpact_Name."); + return ImpactAnalysis_DeviceStatusImpact_Name(enum_t_value); + } + static inline bool DeviceStatusImpact_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + DeviceStatusImpact* value) { + return ImpactAnalysis_DeviceStatusImpact_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + enum : int { + kImpactAnalysisMetricsFieldNumber = 5, + kSystemIdFieldNumber = 1, + kImpactFieldNumber = 2, + kOperationFieldNumber = 3, + kOperationTimeSecondsFieldNumber = 4, + }; + // optional .video_widevine.ImpactAnalysis.ImpactAnalysisMetrics impact_analysis_metrics = 5; + bool has_impact_analysis_metrics() const; + private: + bool _internal_has_impact_analysis_metrics() const; + public: + void clear_impact_analysis_metrics(); + const ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics& impact_analysis_metrics() const; + PROTOBUF_MUST_USE_RESULT ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* release_impact_analysis_metrics(); + ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* mutable_impact_analysis_metrics(); + void set_allocated_impact_analysis_metrics(::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* impact_analysis_metrics); + private: + const ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics& _internal_impact_analysis_metrics() const; + ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* _internal_mutable_impact_analysis_metrics(); + public: + void unsafe_arena_set_allocated_impact_analysis_metrics( + ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* impact_analysis_metrics); + ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* unsafe_arena_release_impact_analysis_metrics(); + + // optional uint32 system_id = 1; + bool has_system_id() const; + private: + bool _internal_has_system_id() const; + public: + void clear_system_id(); + ::PROTOBUF_NAMESPACE_ID::uint32 system_id() const; + void set_system_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_system_id() const; + void _internal_set_system_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + + // optional .video_widevine.ImpactAnalysis.DeviceStatusImpact impact = 2; + bool has_impact() const; + private: + bool _internal_has_impact() const; + public: + void clear_impact(); + ::video_widevine::ImpactAnalysis_DeviceStatusImpact impact() const; + void set_impact(::video_widevine::ImpactAnalysis_DeviceStatusImpact value); + private: + ::video_widevine::ImpactAnalysis_DeviceStatusImpact _internal_impact() const; + void _internal_set_impact(::video_widevine::ImpactAnalysis_DeviceStatusImpact value); + public: + + // optional .video_widevine.ImpactAnalysis.DeviceStatusOperation operation = 3; + bool has_operation() const; + private: + bool _internal_has_operation() const; + public: + void clear_operation(); + ::video_widevine::ImpactAnalysis_DeviceStatusOperation operation() const; + void set_operation(::video_widevine::ImpactAnalysis_DeviceStatusOperation value); + private: + ::video_widevine::ImpactAnalysis_DeviceStatusOperation _internal_operation() const; + void _internal_set_operation(::video_widevine::ImpactAnalysis_DeviceStatusOperation value); + public: + + // optional uint32 operation_time_seconds = 4; + bool has_operation_time_seconds() const; + private: + bool _internal_has_operation_time_seconds() const; + public: + void clear_operation_time_seconds(); + ::PROTOBUF_NAMESPACE_ID::uint32 operation_time_seconds() const; + void set_operation_time_seconds(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_operation_time_seconds() const; + void _internal_set_operation_time_seconds(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + + // @@protoc_insertion_point(class_scope:video_widevine.ImpactAnalysis) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* impact_analysis_metrics_; + ::PROTOBUF_NAMESPACE_ID::uint32 system_id_; + int impact_; + int operation_; + ::PROTOBUF_NAMESPACE_ID::uint32 operation_time_seconds_; friend struct ::TableStruct_protos_2fpublic_2fdevice_5fcertificate_5fstatus_2eproto; }; // ------------------------------------------------------------------- @@ -765,7 +1210,7 @@ class DeviceCertificateStatusList final : &_DeviceCertificateStatusList_default_instance_); } static constexpr int kIndexInFileMessages = - 2; + 4; friend void swap(DeviceCertificateStatusList& a, DeviceCertificateStatusList& b) { a.Swap(&b); @@ -837,6 +1282,7 @@ class DeviceCertificateStatusList final : enum : int { kCertificateStatusFieldNumber = 2, + kImpactAnalysisFieldNumber = 3, kCreationTimeSecondsFieldNumber = 1, }; // repeated .video_widevine.DeviceCertificateStatus certificate_status = 2; @@ -857,6 +1303,24 @@ class DeviceCertificateStatusList final : const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::DeviceCertificateStatus >& certificate_status() const; + // repeated .video_widevine.ImpactAnalysis impact_analysis = 3; + int impact_analysis_size() const; + private: + int _internal_impact_analysis_size() const; + public: + void clear_impact_analysis(); + ::video_widevine::ImpactAnalysis* mutable_impact_analysis(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis >* + mutable_impact_analysis(); + private: + const ::video_widevine::ImpactAnalysis& _internal_impact_analysis(int index) const; + ::video_widevine::ImpactAnalysis* _internal_add_impact_analysis(); + public: + const ::video_widevine::ImpactAnalysis& impact_analysis(int index) const; + ::video_widevine::ImpactAnalysis* add_impact_analysis(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis >& + impact_analysis() const; + // optional uint32 creation_time_seconds = 1; bool has_creation_time_seconds() const; private: @@ -880,6 +1344,7 @@ class DeviceCertificateStatusList final : ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::DeviceCertificateStatus > certificate_status_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis > impact_analysis_; ::PROTOBUF_NAMESPACE_ID::uint32 creation_time_seconds_; friend struct ::TableStruct_protos_2fpublic_2fdevice_5fcertificate_5fstatus_2eproto; }; @@ -936,7 +1401,7 @@ class PublishedDevicesList final : &_PublishedDevicesList_default_instance_); } static constexpr int kIndexInFileMessages = - 3; + 5; friend void swap(PublishedDevicesList& a, PublishedDevicesList& b) { a.Swap(&b); @@ -1008,6 +1473,7 @@ class PublishedDevicesList final : enum : int { kDeviceCertificateStatusFieldNumber = 2, + kImpactAnalysisFieldNumber = 3, kCreationTimeSecondsFieldNumber = 1, }; // repeated .video_widevine.DeviceCertificateStatus device_certificate_status = 2; @@ -1028,6 +1494,24 @@ class PublishedDevicesList final : const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::DeviceCertificateStatus >& device_certificate_status() const; + // repeated .video_widevine.ImpactAnalysis impact_analysis = 3; + int impact_analysis_size() const; + private: + int _internal_impact_analysis_size() const; + public: + void clear_impact_analysis(); + ::video_widevine::ImpactAnalysis* mutable_impact_analysis(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis >* + mutable_impact_analysis(); + private: + const ::video_widevine::ImpactAnalysis& _internal_impact_analysis(int index) const; + ::video_widevine::ImpactAnalysis* _internal_add_impact_analysis(); + public: + const ::video_widevine::ImpactAnalysis& impact_analysis(int index) const; + ::video_widevine::ImpactAnalysis* add_impact_analysis(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis >& + impact_analysis() const; + // optional uint32 creation_time_seconds = 1; bool has_creation_time_seconds() const; private: @@ -1051,6 +1535,7 @@ class PublishedDevicesList final : ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::DeviceCertificateStatus > device_certificate_status_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis > impact_analysis_; ::PROTOBUF_NAMESPACE_ID::uint32 creation_time_seconds_; friend struct ::TableStruct_protos_2fpublic_2fdevice_5fcertificate_5fstatus_2eproto; }; @@ -1107,7 +1592,7 @@ class SignedDeviceCertificateStatusList final : &_SignedDeviceCertificateStatusList_default_instance_); } static constexpr int kIndexInFileMessages = - 4; + 6; friend void swap(SignedDeviceCertificateStatusList& a, SignedDeviceCertificateStatusList& b) { a.Swap(&b); @@ -1762,33 +2247,300 @@ inline void DeviceCertificateStatus::set_allocated_revoked_identifiers(::video_w // @@protoc_insertion_point(field_set_allocated:video_widevine.DeviceCertificateStatus.revoked_identifiers) } -// optional .video_widevine.DeviceCertificateStatus.DeviceVulnerabilityLevel device_vulnerability_level = 8; -inline bool DeviceCertificateStatus::_internal_has_device_vulnerability_level() const { - bool value = (_has_bits_[0] & 0x00000040u) != 0; +// ------------------------------------------------------------------- + +// ImpactAnalysis_ImpactAnalysisMetrics + +// optional float impact_value = 1; +inline bool ImpactAnalysis_ImpactAnalysisMetrics::_internal_has_impact_value() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; return value; } -inline bool DeviceCertificateStatus::has_device_vulnerability_level() const { - return _internal_has_device_vulnerability_level(); +inline bool ImpactAnalysis_ImpactAnalysisMetrics::has_impact_value() const { + return _internal_has_impact_value(); } -inline void DeviceCertificateStatus::clear_device_vulnerability_level() { - device_vulnerability_level_ = 0; - _has_bits_[0] &= ~0x00000040u; +inline void ImpactAnalysis_ImpactAnalysisMetrics::clear_impact_value() { + impact_value_ = 0; + _has_bits_[0] &= ~0x00000001u; } -inline ::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel DeviceCertificateStatus::_internal_device_vulnerability_level() const { - return static_cast< ::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel >(device_vulnerability_level_); +inline float ImpactAnalysis_ImpactAnalysisMetrics::_internal_impact_value() const { + return impact_value_; } -inline ::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel DeviceCertificateStatus::device_vulnerability_level() const { - // @@protoc_insertion_point(field_get:video_widevine.DeviceCertificateStatus.device_vulnerability_level) - return _internal_device_vulnerability_level(); +inline float ImpactAnalysis_ImpactAnalysisMetrics::impact_value() const { + // @@protoc_insertion_point(field_get:video_widevine.ImpactAnalysis.ImpactAnalysisMetrics.impact_value) + return _internal_impact_value(); } -inline void DeviceCertificateStatus::_internal_set_device_vulnerability_level(::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel value) { - assert(::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel_IsValid(value)); - _has_bits_[0] |= 0x00000040u; - device_vulnerability_level_ = value; +inline void ImpactAnalysis_ImpactAnalysisMetrics::_internal_set_impact_value(float value) { + _has_bits_[0] |= 0x00000001u; + impact_value_ = value; } -inline void DeviceCertificateStatus::set_device_vulnerability_level(::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel value) { - _internal_set_device_vulnerability_level(value); - // @@protoc_insertion_point(field_set:video_widevine.DeviceCertificateStatus.device_vulnerability_level) +inline void ImpactAnalysis_ImpactAnalysisMetrics::set_impact_value(float value) { + _internal_set_impact_value(value); + // @@protoc_insertion_point(field_set:video_widevine.ImpactAnalysis.ImpactAnalysisMetrics.impact_value) +} + +// optional uint32 request_number = 2; +inline bool ImpactAnalysis_ImpactAnalysisMetrics::_internal_has_request_number() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool ImpactAnalysis_ImpactAnalysisMetrics::has_request_number() const { + return _internal_has_request_number(); +} +inline void ImpactAnalysis_ImpactAnalysisMetrics::clear_request_number() { + request_number_ = 0u; + _has_bits_[0] &= ~0x00000002u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ImpactAnalysis_ImpactAnalysisMetrics::_internal_request_number() const { + return request_number_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ImpactAnalysis_ImpactAnalysisMetrics::request_number() const { + // @@protoc_insertion_point(field_get:video_widevine.ImpactAnalysis.ImpactAnalysisMetrics.request_number) + return _internal_request_number(); +} +inline void ImpactAnalysis_ImpactAnalysisMetrics::_internal_set_request_number(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00000002u; + request_number_ = value; +} +inline void ImpactAnalysis_ImpactAnalysisMetrics::set_request_number(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_request_number(value); + // @@protoc_insertion_point(field_set:video_widevine.ImpactAnalysis.ImpactAnalysisMetrics.request_number) +} + +// optional uint32 request_duration_days = 3; +inline bool ImpactAnalysis_ImpactAnalysisMetrics::_internal_has_request_duration_days() const { + bool value = (_has_bits_[0] & 0x00000004u) != 0; + return value; +} +inline bool ImpactAnalysis_ImpactAnalysisMetrics::has_request_duration_days() const { + return _internal_has_request_duration_days(); +} +inline void ImpactAnalysis_ImpactAnalysisMetrics::clear_request_duration_days() { + request_duration_days_ = 0u; + _has_bits_[0] &= ~0x00000004u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ImpactAnalysis_ImpactAnalysisMetrics::_internal_request_duration_days() const { + return request_duration_days_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ImpactAnalysis_ImpactAnalysisMetrics::request_duration_days() const { + // @@protoc_insertion_point(field_get:video_widevine.ImpactAnalysis.ImpactAnalysisMetrics.request_duration_days) + return _internal_request_duration_days(); +} +inline void ImpactAnalysis_ImpactAnalysisMetrics::_internal_set_request_duration_days(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00000004u; + request_duration_days_ = value; +} +inline void ImpactAnalysis_ImpactAnalysisMetrics::set_request_duration_days(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_request_duration_days(value); + // @@protoc_insertion_point(field_set:video_widevine.ImpactAnalysis.ImpactAnalysisMetrics.request_duration_days) +} + +// ------------------------------------------------------------------- + +// ImpactAnalysis + +// optional uint32 system_id = 1; +inline bool ImpactAnalysis::_internal_has_system_id() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool ImpactAnalysis::has_system_id() const { + return _internal_has_system_id(); +} +inline void ImpactAnalysis::clear_system_id() { + system_id_ = 0u; + _has_bits_[0] &= ~0x00000002u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ImpactAnalysis::_internal_system_id() const { + return system_id_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ImpactAnalysis::system_id() const { + // @@protoc_insertion_point(field_get:video_widevine.ImpactAnalysis.system_id) + return _internal_system_id(); +} +inline void ImpactAnalysis::_internal_set_system_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00000002u; + system_id_ = value; +} +inline void ImpactAnalysis::set_system_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_system_id(value); + // @@protoc_insertion_point(field_set:video_widevine.ImpactAnalysis.system_id) +} + +// optional .video_widevine.ImpactAnalysis.DeviceStatusImpact impact = 2; +inline bool ImpactAnalysis::_internal_has_impact() const { + bool value = (_has_bits_[0] & 0x00000004u) != 0; + return value; +} +inline bool ImpactAnalysis::has_impact() const { + return _internal_has_impact(); +} +inline void ImpactAnalysis::clear_impact() { + impact_ = 0; + _has_bits_[0] &= ~0x00000004u; +} +inline ::video_widevine::ImpactAnalysis_DeviceStatusImpact ImpactAnalysis::_internal_impact() const { + return static_cast< ::video_widevine::ImpactAnalysis_DeviceStatusImpact >(impact_); +} +inline ::video_widevine::ImpactAnalysis_DeviceStatusImpact ImpactAnalysis::impact() const { + // @@protoc_insertion_point(field_get:video_widevine.ImpactAnalysis.impact) + return _internal_impact(); +} +inline void ImpactAnalysis::_internal_set_impact(::video_widevine::ImpactAnalysis_DeviceStatusImpact value) { + assert(::video_widevine::ImpactAnalysis_DeviceStatusImpact_IsValid(value)); + _has_bits_[0] |= 0x00000004u; + impact_ = value; +} +inline void ImpactAnalysis::set_impact(::video_widevine::ImpactAnalysis_DeviceStatusImpact value) { + _internal_set_impact(value); + // @@protoc_insertion_point(field_set:video_widevine.ImpactAnalysis.impact) +} + +// optional .video_widevine.ImpactAnalysis.DeviceStatusOperation operation = 3; +inline bool ImpactAnalysis::_internal_has_operation() const { + bool value = (_has_bits_[0] & 0x00000008u) != 0; + return value; +} +inline bool ImpactAnalysis::has_operation() const { + return _internal_has_operation(); +} +inline void ImpactAnalysis::clear_operation() { + operation_ = 0; + _has_bits_[0] &= ~0x00000008u; +} +inline ::video_widevine::ImpactAnalysis_DeviceStatusOperation ImpactAnalysis::_internal_operation() const { + return static_cast< ::video_widevine::ImpactAnalysis_DeviceStatusOperation >(operation_); +} +inline ::video_widevine::ImpactAnalysis_DeviceStatusOperation ImpactAnalysis::operation() const { + // @@protoc_insertion_point(field_get:video_widevine.ImpactAnalysis.operation) + return _internal_operation(); +} +inline void ImpactAnalysis::_internal_set_operation(::video_widevine::ImpactAnalysis_DeviceStatusOperation value) { + assert(::video_widevine::ImpactAnalysis_DeviceStatusOperation_IsValid(value)); + _has_bits_[0] |= 0x00000008u; + operation_ = value; +} +inline void ImpactAnalysis::set_operation(::video_widevine::ImpactAnalysis_DeviceStatusOperation value) { + _internal_set_operation(value); + // @@protoc_insertion_point(field_set:video_widevine.ImpactAnalysis.operation) +} + +// optional uint32 operation_time_seconds = 4; +inline bool ImpactAnalysis::_internal_has_operation_time_seconds() const { + bool value = (_has_bits_[0] & 0x00000010u) != 0; + return value; +} +inline bool ImpactAnalysis::has_operation_time_seconds() const { + return _internal_has_operation_time_seconds(); +} +inline void ImpactAnalysis::clear_operation_time_seconds() { + operation_time_seconds_ = 0u; + _has_bits_[0] &= ~0x00000010u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ImpactAnalysis::_internal_operation_time_seconds() const { + return operation_time_seconds_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ImpactAnalysis::operation_time_seconds() const { + // @@protoc_insertion_point(field_get:video_widevine.ImpactAnalysis.operation_time_seconds) + return _internal_operation_time_seconds(); +} +inline void ImpactAnalysis::_internal_set_operation_time_seconds(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00000010u; + operation_time_seconds_ = value; +} +inline void ImpactAnalysis::set_operation_time_seconds(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_operation_time_seconds(value); + // @@protoc_insertion_point(field_set:video_widevine.ImpactAnalysis.operation_time_seconds) +} + +// optional .video_widevine.ImpactAnalysis.ImpactAnalysisMetrics impact_analysis_metrics = 5; +inline bool ImpactAnalysis::_internal_has_impact_analysis_metrics() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || impact_analysis_metrics_ != nullptr); + return value; +} +inline bool ImpactAnalysis::has_impact_analysis_metrics() const { + return _internal_has_impact_analysis_metrics(); +} +inline void ImpactAnalysis::clear_impact_analysis_metrics() { + if (impact_analysis_metrics_ != nullptr) impact_analysis_metrics_->Clear(); + _has_bits_[0] &= ~0x00000001u; +} +inline const ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics& ImpactAnalysis::_internal_impact_analysis_metrics() const { + const ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* p = impact_analysis_metrics_; + return p != nullptr ? *p : reinterpret_cast( + ::video_widevine::_ImpactAnalysis_ImpactAnalysisMetrics_default_instance_); +} +inline const ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics& ImpactAnalysis::impact_analysis_metrics() const { + // @@protoc_insertion_point(field_get:video_widevine.ImpactAnalysis.impact_analysis_metrics) + return _internal_impact_analysis_metrics(); +} +inline void ImpactAnalysis::unsafe_arena_set_allocated_impact_analysis_metrics( + ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* impact_analysis_metrics) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(impact_analysis_metrics_); + } + impact_analysis_metrics_ = impact_analysis_metrics; + if (impact_analysis_metrics) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:video_widevine.ImpactAnalysis.impact_analysis_metrics) +} +inline ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* ImpactAnalysis::release_impact_analysis_metrics() { + _has_bits_[0] &= ~0x00000001u; + ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* temp = impact_analysis_metrics_; + impact_analysis_metrics_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* ImpactAnalysis::unsafe_arena_release_impact_analysis_metrics() { + // @@protoc_insertion_point(field_release:video_widevine.ImpactAnalysis.impact_analysis_metrics) + _has_bits_[0] &= ~0x00000001u; + ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* temp = impact_analysis_metrics_; + impact_analysis_metrics_ = nullptr; + return temp; +} +inline ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* ImpactAnalysis::_internal_mutable_impact_analysis_metrics() { + _has_bits_[0] |= 0x00000001u; + if (impact_analysis_metrics_ == nullptr) { + auto* p = CreateMaybeMessage<::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics>(GetArenaForAllocation()); + impact_analysis_metrics_ = p; + } + return impact_analysis_metrics_; +} +inline ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* ImpactAnalysis::mutable_impact_analysis_metrics() { + ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* _msg = _internal_mutable_impact_analysis_metrics(); + // @@protoc_insertion_point(field_mutable:video_widevine.ImpactAnalysis.impact_analysis_metrics) + return _msg; +} +inline void ImpactAnalysis::set_allocated_impact_analysis_metrics(::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* impact_analysis_metrics) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete impact_analysis_metrics_; + } + if (impact_analysis_metrics) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics>::GetOwningArena(impact_analysis_metrics); + if (message_arena != submessage_arena) { + impact_analysis_metrics = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, impact_analysis_metrics, submessage_arena); + } + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + impact_analysis_metrics_ = impact_analysis_metrics; + // @@protoc_insertion_point(field_set_allocated:video_widevine.ImpactAnalysis.impact_analysis_metrics) } // ------------------------------------------------------------------- @@ -1863,6 +2615,46 @@ DeviceCertificateStatusList::certificate_status() const { return certificate_status_; } +// repeated .video_widevine.ImpactAnalysis impact_analysis = 3; +inline int DeviceCertificateStatusList::_internal_impact_analysis_size() const { + return impact_analysis_.size(); +} +inline int DeviceCertificateStatusList::impact_analysis_size() const { + return _internal_impact_analysis_size(); +} +inline void DeviceCertificateStatusList::clear_impact_analysis() { + impact_analysis_.Clear(); +} +inline ::video_widevine::ImpactAnalysis* DeviceCertificateStatusList::mutable_impact_analysis(int index) { + // @@protoc_insertion_point(field_mutable:video_widevine.DeviceCertificateStatusList.impact_analysis) + return impact_analysis_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis >* +DeviceCertificateStatusList::mutable_impact_analysis() { + // @@protoc_insertion_point(field_mutable_list:video_widevine.DeviceCertificateStatusList.impact_analysis) + return &impact_analysis_; +} +inline const ::video_widevine::ImpactAnalysis& DeviceCertificateStatusList::_internal_impact_analysis(int index) const { + return impact_analysis_.Get(index); +} +inline const ::video_widevine::ImpactAnalysis& DeviceCertificateStatusList::impact_analysis(int index) const { + // @@protoc_insertion_point(field_get:video_widevine.DeviceCertificateStatusList.impact_analysis) + return _internal_impact_analysis(index); +} +inline ::video_widevine::ImpactAnalysis* DeviceCertificateStatusList::_internal_add_impact_analysis() { + return impact_analysis_.Add(); +} +inline ::video_widevine::ImpactAnalysis* DeviceCertificateStatusList::add_impact_analysis() { + ::video_widevine::ImpactAnalysis* _add = _internal_add_impact_analysis(); + // @@protoc_insertion_point(field_add:video_widevine.DeviceCertificateStatusList.impact_analysis) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis >& +DeviceCertificateStatusList::impact_analysis() const { + // @@protoc_insertion_point(field_list:video_widevine.DeviceCertificateStatusList.impact_analysis) + return impact_analysis_; +} + // ------------------------------------------------------------------- // PublishedDevicesList @@ -1935,6 +2727,46 @@ PublishedDevicesList::device_certificate_status() const { return device_certificate_status_; } +// repeated .video_widevine.ImpactAnalysis impact_analysis = 3; +inline int PublishedDevicesList::_internal_impact_analysis_size() const { + return impact_analysis_.size(); +} +inline int PublishedDevicesList::impact_analysis_size() const { + return _internal_impact_analysis_size(); +} +inline void PublishedDevicesList::clear_impact_analysis() { + impact_analysis_.Clear(); +} +inline ::video_widevine::ImpactAnalysis* PublishedDevicesList::mutable_impact_analysis(int index) { + // @@protoc_insertion_point(field_mutable:video_widevine.PublishedDevicesList.impact_analysis) + return impact_analysis_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis >* +PublishedDevicesList::mutable_impact_analysis() { + // @@protoc_insertion_point(field_mutable_list:video_widevine.PublishedDevicesList.impact_analysis) + return &impact_analysis_; +} +inline const ::video_widevine::ImpactAnalysis& PublishedDevicesList::_internal_impact_analysis(int index) const { + return impact_analysis_.Get(index); +} +inline const ::video_widevine::ImpactAnalysis& PublishedDevicesList::impact_analysis(int index) const { + // @@protoc_insertion_point(field_get:video_widevine.PublishedDevicesList.impact_analysis) + return _internal_impact_analysis(index); +} +inline ::video_widevine::ImpactAnalysis* PublishedDevicesList::_internal_add_impact_analysis() { + return impact_analysis_.Add(); +} +inline ::video_widevine::ImpactAnalysis* PublishedDevicesList::add_impact_analysis() { + ::video_widevine::ImpactAnalysis* _add = _internal_add_impact_analysis(); + // @@protoc_insertion_point(field_add:video_widevine.PublishedDevicesList.impact_analysis) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis >& +PublishedDevicesList::impact_analysis() const { + // @@protoc_insertion_point(field_list:video_widevine.PublishedDevicesList.impact_analysis) + return impact_analysis_; +} + // ------------------------------------------------------------------- // SignedDeviceCertificateStatusList @@ -2095,6 +2927,10 @@ inline void SignedDeviceCertificateStatusList::set_hash_algorithm(::video_widevi // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) @@ -2112,10 +2948,15 @@ template <> inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DeviceCertificateStatus_Status>() { return ::video_widevine::DeviceCertificateStatus_Status_descriptor(); } -template <> struct is_proto_enum< ::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel> : ::std::true_type {}; +template <> struct is_proto_enum< ::video_widevine::ImpactAnalysis_DeviceStatusOperation> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel>() { - return ::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel_descriptor(); +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::ImpactAnalysis_DeviceStatusOperation>() { + return ::video_widevine::ImpactAnalysis_DeviceStatusOperation_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::ImpactAnalysis_DeviceStatusImpact> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::ImpactAnalysis_DeviceStatusImpact>() { + return ::video_widevine::ImpactAnalysis_DeviceStatusImpact_descriptor(); } PROTOBUF_NAMESPACE_CLOSE diff --git a/centos/protos/public/device_common.pb.h b/centos/protos/public/device_common.pb.h index a45d76f..dc69097 100755 --- a/centos/protos/public/device_common.pb.h +++ b/centos/protos/public/device_common.pb.h @@ -47,7 +47,7 @@ struct TableStruct_protos_2fpublic_2fdevice_5fcommon_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[4] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -61,6 +61,9 @@ extern AndroidAttestationKeyboxDefaultTypeInternal _AndroidAttestationKeybox_def class DeviceModel; struct DeviceModelDefaultTypeInternal; extern DeviceModelDefaultTypeInternal _DeviceModel_default_instance_; +class VerificationInfo; +struct VerificationInfoDefaultTypeInternal; +extern VerificationInfoDefaultTypeInternal _VerificationInfo_default_instance_; class VulnerabilityInfo; struct VulnerabilityInfoDefaultTypeInternal; extern VulnerabilityInfoDefaultTypeInternal _VulnerabilityInfo_default_instance_; @@ -68,6 +71,7 @@ extern VulnerabilityInfoDefaultTypeInternal _VulnerabilityInfo_default_instance_ PROTOBUF_NAMESPACE_OPEN template<> ::video_widevine::AndroidAttestationKeybox* Arena::CreateMaybeMessage<::video_widevine::AndroidAttestationKeybox>(Arena*); template<> ::video_widevine::DeviceModel* Arena::CreateMaybeMessage<::video_widevine::DeviceModel>(Arena*); +template<> ::video_widevine::VerificationInfo* Arena::CreateMaybeMessage<::video_widevine::VerificationInfo>(Arena*); template<> ::video_widevine::VulnerabilityInfo* Arena::CreateMaybeMessage<::video_widevine::VulnerabilityInfo>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace video_widevine { @@ -382,6 +386,33 @@ inline bool VulnerabilityLevel_Parse( return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( VulnerabilityLevel_descriptor(), name, value); } +enum VerificationLevel : int { + VERIFICATION_LEVEL_UNSPECIFIED = 0, + VERIFICATION_LEVEL_UNVERIFIED = 1, + VERIFICATION_LEVEL_VERIFIED = 2, + VERIFICATION_LEVEL_VERIFIED_GTS = 3, + VerificationLevel_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(), + VerificationLevel_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max() +}; +bool VerificationLevel_IsValid(int value); +constexpr VerificationLevel VerificationLevel_MIN = VERIFICATION_LEVEL_UNSPECIFIED; +constexpr VerificationLevel VerificationLevel_MAX = VERIFICATION_LEVEL_VERIFIED_GTS; +constexpr int VerificationLevel_ARRAYSIZE = VerificationLevel_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* VerificationLevel_descriptor(); +template +inline const std::string& VerificationLevel_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function VerificationLevel_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + VerificationLevel_descriptor(), enum_t_value); +} +inline bool VerificationLevel_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, VerificationLevel* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + VerificationLevel_descriptor(), name, value); +} // =================================================================== class DeviceModel final : @@ -768,6 +799,177 @@ class VulnerabilityInfo final : }; // ------------------------------------------------------------------- +class VerificationInfo final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.VerificationInfo) */ { + public: + inline VerificationInfo() : VerificationInfo(nullptr) {} + ~VerificationInfo() override; + explicit constexpr VerificationInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + VerificationInfo(const VerificationInfo& from); + VerificationInfo(VerificationInfo&& from) noexcept + : VerificationInfo() { + *this = ::std::move(from); + } + + inline VerificationInfo& operator=(const VerificationInfo& from) { + CopyFrom(from); + return *this; + } + inline VerificationInfo& operator=(VerificationInfo&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const VerificationInfo& default_instance() { + return *internal_default_instance(); + } + static inline const VerificationInfo* internal_default_instance() { + return reinterpret_cast( + &_VerificationInfo_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + friend void swap(VerificationInfo& a, VerificationInfo& b) { + a.Swap(&b); + } + inline void Swap(VerificationInfo* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(VerificationInfo* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline VerificationInfo* New() const final { + return new VerificationInfo(); + } + + VerificationInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const VerificationInfo& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const VerificationInfo& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(VerificationInfo* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "video_widevine.VerificationInfo"; + } + protected: + explicit VerificationInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kProofFieldNumber = 2, + kNotesFieldNumber = 3, + kLevelFieldNumber = 1, + }; + // string proof = 2; + void clear_proof(); + const std::string& proof() const; + template + void set_proof(ArgT0&& arg0, ArgT... args); + std::string* mutable_proof(); + PROTOBUF_MUST_USE_RESULT std::string* release_proof(); + void set_allocated_proof(std::string* proof); + private: + const std::string& _internal_proof() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_proof(const std::string& value); + std::string* _internal_mutable_proof(); + public: + + // string notes = 3; + void clear_notes(); + const std::string& notes() const; + template + void set_notes(ArgT0&& arg0, ArgT... args); + std::string* mutable_notes(); + PROTOBUF_MUST_USE_RESULT std::string* release_notes(); + void set_allocated_notes(std::string* notes); + private: + const std::string& _internal_notes() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_notes(const std::string& value); + std::string* _internal_mutable_notes(); + public: + + // .video_widevine.VerificationLevel level = 1; + void clear_level(); + ::video_widevine::VerificationLevel level() const; + void set_level(::video_widevine::VerificationLevel value); + private: + ::video_widevine::VerificationLevel _internal_level() const; + void _internal_set_level(::video_widevine::VerificationLevel value); + public: + + // @@protoc_insertion_point(class_scope:video_widevine.VerificationInfo) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr proof_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr notes_; + int level_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_protos_2fpublic_2fdevice_5fcommon_2eproto; +}; +// ------------------------------------------------------------------- + class AndroidAttestationKeybox final : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.AndroidAttestationKeybox) */ { public: @@ -812,7 +1014,7 @@ class AndroidAttestationKeybox final : &_AndroidAttestationKeybox_default_instance_); } static constexpr int kIndexInFileMessages = - 2; + 3; friend void swap(AndroidAttestationKeybox& a, AndroidAttestationKeybox& b) { a.Swap(&b); @@ -887,6 +1089,7 @@ class AndroidAttestationKeybox final : kRsaCertFieldNumber = 4, kEcdsaPrivateKeyFieldNumber = 1, kRsaPrivateKeyFieldNumber = 3, + kAttestationKeyboxIdFieldNumber = 5, }; // repeated bytes ecdsa_cert = 2; int ecdsa_cert_size() const; @@ -964,6 +1167,15 @@ class AndroidAttestationKeybox final : std::string* _internal_mutable_rsa_private_key(); public: + // uint32 attestation_keybox_id = 5; + void clear_attestation_keybox_id(); + ::PROTOBUF_NAMESPACE_ID::uint32 attestation_keybox_id() const; + void set_attestation_keybox_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_attestation_keybox_id() const; + void _internal_set_attestation_keybox_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + // @@protoc_insertion_point(class_scope:video_widevine.AndroidAttestationKeybox) private: class _Internal; @@ -975,6 +1187,7 @@ class AndroidAttestationKeybox final : ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField rsa_cert_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ecdsa_private_key_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr rsa_private_key_; + ::PROTOBUF_NAMESPACE_ID::uint32 attestation_keybox_id_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_protos_2fpublic_2fdevice_5fcommon_2eproto; }; @@ -1213,6 +1426,122 @@ inline void VulnerabilityInfo::set_vulnerability_level(::video_widevine::Vulnera // ------------------------------------------------------------------- +// VerificationInfo + +// .video_widevine.VerificationLevel level = 1; +inline void VerificationInfo::clear_level() { + level_ = 0; +} +inline ::video_widevine::VerificationLevel VerificationInfo::_internal_level() const { + return static_cast< ::video_widevine::VerificationLevel >(level_); +} +inline ::video_widevine::VerificationLevel VerificationInfo::level() const { + // @@protoc_insertion_point(field_get:video_widevine.VerificationInfo.level) + return _internal_level(); +} +inline void VerificationInfo::_internal_set_level(::video_widevine::VerificationLevel value) { + + level_ = value; +} +inline void VerificationInfo::set_level(::video_widevine::VerificationLevel value) { + _internal_set_level(value); + // @@protoc_insertion_point(field_set:video_widevine.VerificationInfo.level) +} + +// string proof = 2; +inline void VerificationInfo::clear_proof() { + proof_.ClearToEmpty(); +} +inline const std::string& VerificationInfo::proof() const { + // @@protoc_insertion_point(field_get:video_widevine.VerificationInfo.proof) + return _internal_proof(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void VerificationInfo::set_proof(ArgT0&& arg0, ArgT... args) { + + proof_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:video_widevine.VerificationInfo.proof) +} +inline std::string* VerificationInfo::mutable_proof() { + std::string* _s = _internal_mutable_proof(); + // @@protoc_insertion_point(field_mutable:video_widevine.VerificationInfo.proof) + return _s; +} +inline const std::string& VerificationInfo::_internal_proof() const { + return proof_.Get(); +} +inline void VerificationInfo::_internal_set_proof(const std::string& value) { + + proof_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* VerificationInfo::_internal_mutable_proof() { + + return proof_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* VerificationInfo::release_proof() { + // @@protoc_insertion_point(field_release:video_widevine.VerificationInfo.proof) + return proof_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void VerificationInfo::set_allocated_proof(std::string* proof) { + if (proof != nullptr) { + + } else { + + } + proof_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), proof, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:video_widevine.VerificationInfo.proof) +} + +// string notes = 3; +inline void VerificationInfo::clear_notes() { + notes_.ClearToEmpty(); +} +inline const std::string& VerificationInfo::notes() const { + // @@protoc_insertion_point(field_get:video_widevine.VerificationInfo.notes) + return _internal_notes(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void VerificationInfo::set_notes(ArgT0&& arg0, ArgT... args) { + + notes_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:video_widevine.VerificationInfo.notes) +} +inline std::string* VerificationInfo::mutable_notes() { + std::string* _s = _internal_mutable_notes(); + // @@protoc_insertion_point(field_mutable:video_widevine.VerificationInfo.notes) + return _s; +} +inline const std::string& VerificationInfo::_internal_notes() const { + return notes_.Get(); +} +inline void VerificationInfo::_internal_set_notes(const std::string& value) { + + notes_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* VerificationInfo::_internal_mutable_notes() { + + return notes_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* VerificationInfo::release_notes() { + // @@protoc_insertion_point(field_release:video_widevine.VerificationInfo.notes) + return notes_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void VerificationInfo::set_allocated_notes(std::string* notes) { + if (notes != nullptr) { + + } else { + + } + notes_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), notes, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:video_widevine.VerificationInfo.notes) +} + +// ------------------------------------------------------------------- + // AndroidAttestationKeybox // bytes ecdsa_private_key = 1; @@ -1457,6 +1786,26 @@ AndroidAttestationKeybox::mutable_rsa_cert() { return &rsa_cert_; } +// uint32 attestation_keybox_id = 5; +inline void AndroidAttestationKeybox::clear_attestation_keybox_id() { + attestation_keybox_id_ = 0u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 AndroidAttestationKeybox::_internal_attestation_keybox_id() const { + return attestation_keybox_id_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 AndroidAttestationKeybox::attestation_keybox_id() const { + // @@protoc_insertion_point(field_get:video_widevine.AndroidAttestationKeybox.attestation_keybox_id) + return _internal_attestation_keybox_id(); +} +inline void AndroidAttestationKeybox::_internal_set_attestation_keybox_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + + attestation_keybox_id_ = value; +} +inline void AndroidAttestationKeybox::set_attestation_keybox_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_attestation_keybox_id(value); + // @@protoc_insertion_point(field_set:video_widevine.AndroidAttestationKeybox.attestation_keybox_id) +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ @@ -1464,6 +1813,8 @@ AndroidAttestationKeybox::mutable_rsa_cert() { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) @@ -1521,6 +1872,11 @@ template <> inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::VulnerabilityLevel>() { return ::video_widevine::VulnerabilityLevel_descriptor(); } +template <> struct is_proto_enum< ::video_widevine::VerificationLevel> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::VerificationLevel>() { + return ::video_widevine::VerificationLevel_descriptor(); +} PROTOBUF_NAMESPACE_CLOSE diff --git a/centos/protos/public/drm_certificate.pb.h b/centos/protos/public/drm_certificate.pb.h index 3250c10..963a42e 100755 --- a/centos/protos/public/drm_certificate.pb.h +++ b/centos/protos/public/drm_certificate.pb.h @@ -32,6 +32,7 @@ #include // IWYU pragma: export #include #include +#include "protos/public/root_of_trust_id.pb.h" // @@protoc_insertion_point(includes) #include #define PROTOBUF_INTERNAL_EXPORT_protos_2fpublic_2fdrm_5fcertificate_2eproto @@ -47,7 +48,7 @@ struct TableStruct_protos_2fpublic_2fdrm_5fcertificate_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[2] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -61,40 +62,13 @@ extern DrmCertificateDefaultTypeInternal _DrmCertificate_default_instance_; class DrmCertificate_EncryptionKey; struct DrmCertificate_EncryptionKeyDefaultTypeInternal; extern DrmCertificate_EncryptionKeyDefaultTypeInternal _DrmCertificate_EncryptionKey_default_instance_; -class RootOfTrustId; -struct RootOfTrustIdDefaultTypeInternal; -extern RootOfTrustIdDefaultTypeInternal _RootOfTrustId_default_instance_; } // namespace video_widevine PROTOBUF_NAMESPACE_OPEN template<> ::video_widevine::DrmCertificate* Arena::CreateMaybeMessage<::video_widevine::DrmCertificate>(Arena*); template<> ::video_widevine::DrmCertificate_EncryptionKey* Arena::CreateMaybeMessage<::video_widevine::DrmCertificate_EncryptionKey>(Arena*); -template<> ::video_widevine::RootOfTrustId* Arena::CreateMaybeMessage<::video_widevine::RootOfTrustId>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace video_widevine { -enum RootOfTrustId_RootOfTrustIdVersion : int { - RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_UNSPECIFIED = 0, - RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_1 = 1 -}; -bool RootOfTrustId_RootOfTrustIdVersion_IsValid(int value); -constexpr RootOfTrustId_RootOfTrustIdVersion RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MIN = RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_UNSPECIFIED; -constexpr RootOfTrustId_RootOfTrustIdVersion RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MAX = RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_1; -constexpr int RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_ARRAYSIZE = RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RootOfTrustId_RootOfTrustIdVersion_descriptor(); -template -inline const std::string& RootOfTrustId_RootOfTrustIdVersion_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function RootOfTrustId_RootOfTrustIdVersion_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - RootOfTrustId_RootOfTrustIdVersion_descriptor(), enum_t_value); -} -inline bool RootOfTrustId_RootOfTrustIdVersion_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, RootOfTrustId_RootOfTrustIdVersion* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - RootOfTrustId_RootOfTrustIdVersion_descriptor(), name, value); -} enum DrmCertificate_Type : int { DrmCertificate_Type_ROOT = 0, DrmCertificate_Type_DEVICE_MODEL = 1, @@ -175,242 +149,6 @@ inline bool DrmCertificate_Algorithm_Parse( } // =================================================================== -class RootOfTrustId final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.RootOfTrustId) */ { - public: - inline RootOfTrustId() : RootOfTrustId(nullptr) {} - ~RootOfTrustId() override; - explicit constexpr RootOfTrustId(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - RootOfTrustId(const RootOfTrustId& from); - RootOfTrustId(RootOfTrustId&& from) noexcept - : RootOfTrustId() { - *this = ::std::move(from); - } - - inline RootOfTrustId& operator=(const RootOfTrustId& from) { - CopyFrom(from); - return *this; - } - inline RootOfTrustId& operator=(RootOfTrustId&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena()) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const RootOfTrustId& default_instance() { - return *internal_default_instance(); - } - static inline const RootOfTrustId* internal_default_instance() { - return reinterpret_cast( - &_RootOfTrustId_default_instance_); - } - static constexpr int kIndexInFileMessages = - 0; - - friend void swap(RootOfTrustId& a, RootOfTrustId& b) { - a.Swap(&b); - } - inline void Swap(RootOfTrustId* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(RootOfTrustId* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline RootOfTrustId* New() const final { - return new RootOfTrustId(); - } - - RootOfTrustId* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RootOfTrustId& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const RootOfTrustId& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RootOfTrustId* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "video_widevine.RootOfTrustId"; - } - protected: - explicit RootOfTrustId(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - typedef RootOfTrustId_RootOfTrustIdVersion RootOfTrustIdVersion; - static constexpr RootOfTrustIdVersion ROOT_OF_TRUST_ID_VERSION_UNSPECIFIED = - RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_UNSPECIFIED; - static constexpr RootOfTrustIdVersion ROOT_OF_TRUST_ID_VERSION_1 = - RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_1; - static inline bool RootOfTrustIdVersion_IsValid(int value) { - return RootOfTrustId_RootOfTrustIdVersion_IsValid(value); - } - static constexpr RootOfTrustIdVersion RootOfTrustIdVersion_MIN = - RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MIN; - static constexpr RootOfTrustIdVersion RootOfTrustIdVersion_MAX = - RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MAX; - static constexpr int RootOfTrustIdVersion_ARRAYSIZE = - RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_ARRAYSIZE; - static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* - RootOfTrustIdVersion_descriptor() { - return RootOfTrustId_RootOfTrustIdVersion_descriptor(); - } - template - static inline const std::string& RootOfTrustIdVersion_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function RootOfTrustIdVersion_Name."); - return RootOfTrustId_RootOfTrustIdVersion_Name(enum_t_value); - } - static inline bool RootOfTrustIdVersion_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, - RootOfTrustIdVersion* value) { - return RootOfTrustId_RootOfTrustIdVersion_Parse(name, value); - } - - // accessors ------------------------------------------------------- - - enum : int { - kEncryptedUniqueIdFieldNumber = 3, - kUniqueIdHashFieldNumber = 4, - kVersionFieldNumber = 1, - kKeyIdFieldNumber = 2, - }; - // optional bytes encrypted_unique_id = 3; - bool has_encrypted_unique_id() const; - private: - bool _internal_has_encrypted_unique_id() const; - public: - void clear_encrypted_unique_id(); - const std::string& encrypted_unique_id() const; - template - void set_encrypted_unique_id(ArgT0&& arg0, ArgT... args); - std::string* mutable_encrypted_unique_id(); - PROTOBUF_MUST_USE_RESULT std::string* release_encrypted_unique_id(); - void set_allocated_encrypted_unique_id(std::string* encrypted_unique_id); - private: - const std::string& _internal_encrypted_unique_id() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_encrypted_unique_id(const std::string& value); - std::string* _internal_mutable_encrypted_unique_id(); - public: - - // optional bytes unique_id_hash = 4; - bool has_unique_id_hash() const; - private: - bool _internal_has_unique_id_hash() const; - public: - void clear_unique_id_hash(); - const std::string& unique_id_hash() const; - template - void set_unique_id_hash(ArgT0&& arg0, ArgT... args); - std::string* mutable_unique_id_hash(); - PROTOBUF_MUST_USE_RESULT std::string* release_unique_id_hash(); - void set_allocated_unique_id_hash(std::string* unique_id_hash); - private: - const std::string& _internal_unique_id_hash() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_unique_id_hash(const std::string& value); - std::string* _internal_mutable_unique_id_hash(); - public: - - // optional .video_widevine.RootOfTrustId.RootOfTrustIdVersion version = 1; - bool has_version() const; - private: - bool _internal_has_version() const; - public: - void clear_version(); - ::video_widevine::RootOfTrustId_RootOfTrustIdVersion version() const; - void set_version(::video_widevine::RootOfTrustId_RootOfTrustIdVersion value); - private: - ::video_widevine::RootOfTrustId_RootOfTrustIdVersion _internal_version() const; - void _internal_set_version(::video_widevine::RootOfTrustId_RootOfTrustIdVersion value); - public: - - // optional uint32 key_id = 2; - bool has_key_id() const; - private: - bool _internal_has_key_id() const; - public: - void clear_key_id(); - ::PROTOBUF_NAMESPACE_ID::uint32 key_id() const; - void set_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value); - private: - ::PROTOBUF_NAMESPACE_ID::uint32 _internal_key_id() const; - void _internal_set_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value); - public: - - // @@protoc_insertion_point(class_scope:video_widevine.RootOfTrustId) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr encrypted_unique_id_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr unique_id_hash_; - int version_; - ::PROTOBUF_NAMESPACE_ID::uint32 key_id_; - friend struct ::TableStruct_protos_2fpublic_2fdrm_5fcertificate_2eproto; -}; -// ------------------------------------------------------------------- - class DrmCertificate_EncryptionKey final : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.DrmCertificate.EncryptionKey) */ { public: @@ -462,7 +200,7 @@ class DrmCertificate_EncryptionKey final : &_DrmCertificate_EncryptionKey_default_instance_); } static constexpr int kIndexInFileMessages = - 1; + 0; friend void swap(DrmCertificate_EncryptionKey& a, DrmCertificate_EncryptionKey& b) { a.Swap(&b); @@ -633,7 +371,7 @@ class DrmCertificate final : &_DrmCertificate_default_instance_); } static constexpr int kIndexInFileMessages = - 2; + 1; friend void swap(DrmCertificate& a, DrmCertificate& b) { a.Swap(&b); @@ -1044,183 +782,6 @@ class DrmCertificate final : #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wstrict-aliasing" #endif // __GNUC__ -// RootOfTrustId - -// optional .video_widevine.RootOfTrustId.RootOfTrustIdVersion version = 1; -inline bool RootOfTrustId::_internal_has_version() const { - bool value = (_has_bits_[0] & 0x00000004u) != 0; - return value; -} -inline bool RootOfTrustId::has_version() const { - return _internal_has_version(); -} -inline void RootOfTrustId::clear_version() { - version_ = 0; - _has_bits_[0] &= ~0x00000004u; -} -inline ::video_widevine::RootOfTrustId_RootOfTrustIdVersion RootOfTrustId::_internal_version() const { - return static_cast< ::video_widevine::RootOfTrustId_RootOfTrustIdVersion >(version_); -} -inline ::video_widevine::RootOfTrustId_RootOfTrustIdVersion RootOfTrustId::version() const { - // @@protoc_insertion_point(field_get:video_widevine.RootOfTrustId.version) - return _internal_version(); -} -inline void RootOfTrustId::_internal_set_version(::video_widevine::RootOfTrustId_RootOfTrustIdVersion value) { - assert(::video_widevine::RootOfTrustId_RootOfTrustIdVersion_IsValid(value)); - _has_bits_[0] |= 0x00000004u; - version_ = value; -} -inline void RootOfTrustId::set_version(::video_widevine::RootOfTrustId_RootOfTrustIdVersion value) { - _internal_set_version(value); - // @@protoc_insertion_point(field_set:video_widevine.RootOfTrustId.version) -} - -// optional uint32 key_id = 2; -inline bool RootOfTrustId::_internal_has_key_id() const { - bool value = (_has_bits_[0] & 0x00000008u) != 0; - return value; -} -inline bool RootOfTrustId::has_key_id() const { - return _internal_has_key_id(); -} -inline void RootOfTrustId::clear_key_id() { - key_id_ = 0u; - _has_bits_[0] &= ~0x00000008u; -} -inline ::PROTOBUF_NAMESPACE_ID::uint32 RootOfTrustId::_internal_key_id() const { - return key_id_; -} -inline ::PROTOBUF_NAMESPACE_ID::uint32 RootOfTrustId::key_id() const { - // @@protoc_insertion_point(field_get:video_widevine.RootOfTrustId.key_id) - return _internal_key_id(); -} -inline void RootOfTrustId::_internal_set_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { - _has_bits_[0] |= 0x00000008u; - key_id_ = value; -} -inline void RootOfTrustId::set_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { - _internal_set_key_id(value); - // @@protoc_insertion_point(field_set:video_widevine.RootOfTrustId.key_id) -} - -// optional bytes encrypted_unique_id = 3; -inline bool RootOfTrustId::_internal_has_encrypted_unique_id() const { - bool value = (_has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool RootOfTrustId::has_encrypted_unique_id() const { - return _internal_has_encrypted_unique_id(); -} -inline void RootOfTrustId::clear_encrypted_unique_id() { - encrypted_unique_id_.ClearToEmpty(); - _has_bits_[0] &= ~0x00000001u; -} -inline const std::string& RootOfTrustId::encrypted_unique_id() const { - // @@protoc_insertion_point(field_get:video_widevine.RootOfTrustId.encrypted_unique_id) - return _internal_encrypted_unique_id(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void RootOfTrustId::set_encrypted_unique_id(ArgT0&& arg0, ArgT... args) { - _has_bits_[0] |= 0x00000001u; - encrypted_unique_id_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:video_widevine.RootOfTrustId.encrypted_unique_id) -} -inline std::string* RootOfTrustId::mutable_encrypted_unique_id() { - std::string* _s = _internal_mutable_encrypted_unique_id(); - // @@protoc_insertion_point(field_mutable:video_widevine.RootOfTrustId.encrypted_unique_id) - return _s; -} -inline const std::string& RootOfTrustId::_internal_encrypted_unique_id() const { - return encrypted_unique_id_.Get(); -} -inline void RootOfTrustId::_internal_set_encrypted_unique_id(const std::string& value) { - _has_bits_[0] |= 0x00000001u; - encrypted_unique_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* RootOfTrustId::_internal_mutable_encrypted_unique_id() { - _has_bits_[0] |= 0x00000001u; - return encrypted_unique_id_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* RootOfTrustId::release_encrypted_unique_id() { - // @@protoc_insertion_point(field_release:video_widevine.RootOfTrustId.encrypted_unique_id) - if (!_internal_has_encrypted_unique_id()) { - return nullptr; - } - _has_bits_[0] &= ~0x00000001u; - return encrypted_unique_id_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void RootOfTrustId::set_allocated_encrypted_unique_id(std::string* encrypted_unique_id) { - if (encrypted_unique_id != nullptr) { - _has_bits_[0] |= 0x00000001u; - } else { - _has_bits_[0] &= ~0x00000001u; - } - encrypted_unique_id_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), encrypted_unique_id, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:video_widevine.RootOfTrustId.encrypted_unique_id) -} - -// optional bytes unique_id_hash = 4; -inline bool RootOfTrustId::_internal_has_unique_id_hash() const { - bool value = (_has_bits_[0] & 0x00000002u) != 0; - return value; -} -inline bool RootOfTrustId::has_unique_id_hash() const { - return _internal_has_unique_id_hash(); -} -inline void RootOfTrustId::clear_unique_id_hash() { - unique_id_hash_.ClearToEmpty(); - _has_bits_[0] &= ~0x00000002u; -} -inline const std::string& RootOfTrustId::unique_id_hash() const { - // @@protoc_insertion_point(field_get:video_widevine.RootOfTrustId.unique_id_hash) - return _internal_unique_id_hash(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void RootOfTrustId::set_unique_id_hash(ArgT0&& arg0, ArgT... args) { - _has_bits_[0] |= 0x00000002u; - unique_id_hash_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:video_widevine.RootOfTrustId.unique_id_hash) -} -inline std::string* RootOfTrustId::mutable_unique_id_hash() { - std::string* _s = _internal_mutable_unique_id_hash(); - // @@protoc_insertion_point(field_mutable:video_widevine.RootOfTrustId.unique_id_hash) - return _s; -} -inline const std::string& RootOfTrustId::_internal_unique_id_hash() const { - return unique_id_hash_.Get(); -} -inline void RootOfTrustId::_internal_set_unique_id_hash(const std::string& value) { - _has_bits_[0] |= 0x00000002u; - unique_id_hash_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* RootOfTrustId::_internal_mutable_unique_id_hash() { - _has_bits_[0] |= 0x00000002u; - return unique_id_hash_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* RootOfTrustId::release_unique_id_hash() { - // @@protoc_insertion_point(field_release:video_widevine.RootOfTrustId.unique_id_hash) - if (!_internal_has_unique_id_hash()) { - return nullptr; - } - _has_bits_[0] &= ~0x00000002u; - return unique_id_hash_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void RootOfTrustId::set_allocated_unique_id_hash(std::string* unique_id_hash) { - if (unique_id_hash != nullptr) { - _has_bits_[0] |= 0x00000002u; - } else { - _has_bits_[0] &= ~0x00000002u; - } - unique_id_hash_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), unique_id_hash, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:video_widevine.RootOfTrustId.unique_id_hash) -} - -// ------------------------------------------------------------------- - // DrmCertificate_EncryptionKey // optional bytes public_key = 1; @@ -1712,10 +1273,6 @@ inline bool DrmCertificate::_internal_has_rot_id() const { inline bool DrmCertificate::has_rot_id() const { return _internal_has_rot_id(); } -inline void DrmCertificate::clear_rot_id() { - if (rot_id_ != nullptr) rot_id_->Clear(); - _has_bits_[0] &= ~0x00000008u; -} inline const ::video_widevine::RootOfTrustId& DrmCertificate::_internal_rot_id() const { const ::video_widevine::RootOfTrustId* p = rot_id_; return p != nullptr ? *p : reinterpret_cast( @@ -1776,11 +1333,13 @@ inline ::video_widevine::RootOfTrustId* DrmCertificate::mutable_rot_id() { inline void DrmCertificate::set_allocated_rot_id(::video_widevine::RootOfTrustId* rot_id) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete rot_id_; + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(rot_id_); } if (rot_id) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::video_widevine::RootOfTrustId>::GetOwningArena(rot_id); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(rot_id)); if (message_arena != submessage_arena) { rot_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( message_arena, rot_id, submessage_arena); @@ -1888,8 +1447,6 @@ inline void DrmCertificate::set_allocated_encryption_key(::video_widevine::DrmCe #endif // __GNUC__ // ------------------------------------------------------------------- -// ------------------------------------------------------------------- - // @@protoc_insertion_point(namespace_scope) @@ -1897,11 +1454,6 @@ inline void DrmCertificate::set_allocated_encryption_key(::video_widevine::DrmCe PROTOBUF_NAMESPACE_OPEN -template <> struct is_proto_enum< ::video_widevine::RootOfTrustId_RootOfTrustIdVersion> : ::std::true_type {}; -template <> -inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::RootOfTrustId_RootOfTrustIdVersion>() { - return ::video_widevine::RootOfTrustId_RootOfTrustIdVersion_descriptor(); -} template <> struct is_proto_enum< ::video_widevine::DrmCertificate_Type> : ::std::true_type {}; template <> inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DrmCertificate_Type>() { diff --git a/centos/protos/public/dtcp_usage.pb.h b/centos/protos/public/dtcp_usage.pb.h new file mode 100755 index 0000000..68ac45d --- /dev/null +++ b/centos/protos/public/dtcp_usage.pb.h @@ -0,0 +1,1656 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: protos/public/dtcp_usage.proto + +#ifndef GOOGLE_PROTOBUF_INCLUDED_protos_2fpublic_2fdtcp_5fusage_2eproto +#define GOOGLE_PROTOBUF_INCLUDED_protos_2fpublic_2fdtcp_5fusage_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3017000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3017003 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +#include +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_protos_2fpublic_2fdtcp_5fusage_2eproto +PROTOBUF_NAMESPACE_OPEN +namespace internal { +class AnyMetadata; +} // namespace internal +PROTOBUF_NAMESPACE_CLOSE + +// Internal implementation detail -- do not use these members. +struct TableStruct_protos_2fpublic_2fdtcp_5fusage_2eproto { + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; + static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; + static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]; +}; +extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_protos_2fpublic_2fdtcp_5fusage_2eproto; +namespace video_widevine { +class DTCPUsageRules; +struct DTCPUsageRulesDefaultTypeInternal; +extern DTCPUsageRulesDefaultTypeInternal _DTCPUsageRules_default_instance_; +} // namespace video_widevine +PROTOBUF_NAMESPACE_OPEN +template<> ::video_widevine::DTCPUsageRules* Arena::CreateMaybeMessage<::video_widevine::DTCPUsageRules>(Arena*); +PROTOBUF_NAMESPACE_CLOSE +namespace video_widevine { + +enum DTCPUsageRules_RetentionState : int { + DTCPUsageRules_RetentionState_RETENTION_STATE_FOREVER = 0, + DTCPUsageRules_RetentionState_RETENTION_STATE_1_WEEK = 1, + DTCPUsageRules_RetentionState_RETENTION_STATE_2_DAYS = 2, + DTCPUsageRules_RetentionState_RETENTION_STATE_1_DAY = 3, + DTCPUsageRules_RetentionState_RETENTION_STATE_12_HOURS = 4, + DTCPUsageRules_RetentionState_RETENTION_STATE_6_HOURS = 5, + DTCPUsageRules_RetentionState_RETENTION_STATE_3_HOURS = 6, + DTCPUsageRules_RetentionState_RETENTION_STATE_90_MINUTES = 7 +}; +bool DTCPUsageRules_RetentionState_IsValid(int value); +constexpr DTCPUsageRules_RetentionState DTCPUsageRules_RetentionState_RetentionState_MIN = DTCPUsageRules_RetentionState_RETENTION_STATE_FOREVER; +constexpr DTCPUsageRules_RetentionState DTCPUsageRules_RetentionState_RetentionState_MAX = DTCPUsageRules_RetentionState_RETENTION_STATE_90_MINUTES; +constexpr int DTCPUsageRules_RetentionState_RetentionState_ARRAYSIZE = DTCPUsageRules_RetentionState_RetentionState_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_RetentionState_descriptor(); +template +inline const std::string& DTCPUsageRules_RetentionState_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_RetentionState_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_RetentionState_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_RetentionState_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_RetentionState* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_RetentionState_descriptor(), name, value); +} +enum DTCPUsageRules_CopyControlInfo : int { + DTCPUsageRules_CopyControlInfo_COPY_FREE = 0, + DTCPUsageRules_CopyControlInfo_COPY_NO_MORE = 1, + DTCPUsageRules_CopyControlInfo_COPY_ONE = 2, + DTCPUsageRules_CopyControlInfo_COPY_NEVER = 3 +}; +bool DTCPUsageRules_CopyControlInfo_IsValid(int value); +constexpr DTCPUsageRules_CopyControlInfo DTCPUsageRules_CopyControlInfo_CopyControlInfo_MIN = DTCPUsageRules_CopyControlInfo_COPY_FREE; +constexpr DTCPUsageRules_CopyControlInfo DTCPUsageRules_CopyControlInfo_CopyControlInfo_MAX = DTCPUsageRules_CopyControlInfo_COPY_NEVER; +constexpr int DTCPUsageRules_CopyControlInfo_CopyControlInfo_ARRAYSIZE = DTCPUsageRules_CopyControlInfo_CopyControlInfo_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_CopyControlInfo_descriptor(); +template +inline const std::string& DTCPUsageRules_CopyControlInfo_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_CopyControlInfo_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_CopyControlInfo_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_CopyControlInfo_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_CopyControlInfo* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_CopyControlInfo_descriptor(), name, value); +} +enum DTCPUsageRules_AnalogProtectionSystem : int { + DTCPUsageRules_AnalogProtectionSystem_APS_OFF = 0, + DTCPUsageRules_AnalogProtectionSystem_APS_TYPE1 = 1, + DTCPUsageRules_AnalogProtectionSystem_APS_TYPE2 = 2, + DTCPUsageRules_AnalogProtectionSystem_APS_TYPE3 = 3 +}; +bool DTCPUsageRules_AnalogProtectionSystem_IsValid(int value); +constexpr DTCPUsageRules_AnalogProtectionSystem DTCPUsageRules_AnalogProtectionSystem_AnalogProtectionSystem_MIN = DTCPUsageRules_AnalogProtectionSystem_APS_OFF; +constexpr DTCPUsageRules_AnalogProtectionSystem DTCPUsageRules_AnalogProtectionSystem_AnalogProtectionSystem_MAX = DTCPUsageRules_AnalogProtectionSystem_APS_TYPE3; +constexpr int DTCPUsageRules_AnalogProtectionSystem_AnalogProtectionSystem_ARRAYSIZE = DTCPUsageRules_AnalogProtectionSystem_AnalogProtectionSystem_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_AnalogProtectionSystem_descriptor(); +template +inline const std::string& DTCPUsageRules_AnalogProtectionSystem_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_AnalogProtectionSystem_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_AnalogProtectionSystem_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_AnalogProtectionSystem_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_AnalogProtectionSystem* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_AnalogProtectionSystem_descriptor(), name, value); +} +enum DTCPUsageRules_ImageConstraintToken : int { + DTCPUsageRules_ImageConstraintToken_ICT_CONSTRAINED = 0, + DTCPUsageRules_ImageConstraintToken_ICT_HD_ANALOG = 1 +}; +bool DTCPUsageRules_ImageConstraintToken_IsValid(int value); +constexpr DTCPUsageRules_ImageConstraintToken DTCPUsageRules_ImageConstraintToken_ImageConstraintToken_MIN = DTCPUsageRules_ImageConstraintToken_ICT_CONSTRAINED; +constexpr DTCPUsageRules_ImageConstraintToken DTCPUsageRules_ImageConstraintToken_ImageConstraintToken_MAX = DTCPUsageRules_ImageConstraintToken_ICT_HD_ANALOG; +constexpr int DTCPUsageRules_ImageConstraintToken_ImageConstraintToken_ARRAYSIZE = DTCPUsageRules_ImageConstraintToken_ImageConstraintToken_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_ImageConstraintToken_descriptor(); +template +inline const std::string& DTCPUsageRules_ImageConstraintToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_ImageConstraintToken_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_ImageConstraintToken_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_ImageConstraintToken_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_ImageConstraintToken* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_ImageConstraintToken_descriptor(), name, value); +} +enum DTCPUsageRules_AnalogSunsetToken : int { + DTCPUsageRules_AnalogSunsetToken_AST_ASSERTED = 0, + DTCPUsageRules_AnalogSunsetToken_AST_UNASERTED = 1 +}; +bool DTCPUsageRules_AnalogSunsetToken_IsValid(int value); +constexpr DTCPUsageRules_AnalogSunsetToken DTCPUsageRules_AnalogSunsetToken_AnalogSunsetToken_MIN = DTCPUsageRules_AnalogSunsetToken_AST_ASSERTED; +constexpr DTCPUsageRules_AnalogSunsetToken DTCPUsageRules_AnalogSunsetToken_AnalogSunsetToken_MAX = DTCPUsageRules_AnalogSunsetToken_AST_UNASERTED; +constexpr int DTCPUsageRules_AnalogSunsetToken_AnalogSunsetToken_ARRAYSIZE = DTCPUsageRules_AnalogSunsetToken_AnalogSunsetToken_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_AnalogSunsetToken_descriptor(); +template +inline const std::string& DTCPUsageRules_AnalogSunsetToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_AnalogSunsetToken_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_AnalogSunsetToken_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_AnalogSunsetToken_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_AnalogSunsetToken* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_AnalogSunsetToken_descriptor(), name, value); +} +enum DTCPUsageRules_DigitalOnlyToken : int { + DTCPUsageRules_DigitalOnlyToken_DOT_ASSERTED = 0, + DTCPUsageRules_DigitalOnlyToken_DOT_UNASSERTED = 1 +}; +bool DTCPUsageRules_DigitalOnlyToken_IsValid(int value); +constexpr DTCPUsageRules_DigitalOnlyToken DTCPUsageRules_DigitalOnlyToken_DigitalOnlyToken_MIN = DTCPUsageRules_DigitalOnlyToken_DOT_ASSERTED; +constexpr DTCPUsageRules_DigitalOnlyToken DTCPUsageRules_DigitalOnlyToken_DigitalOnlyToken_MAX = DTCPUsageRules_DigitalOnlyToken_DOT_UNASSERTED; +constexpr int DTCPUsageRules_DigitalOnlyToken_DigitalOnlyToken_ARRAYSIZE = DTCPUsageRules_DigitalOnlyToken_DigitalOnlyToken_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_DigitalOnlyToken_descriptor(); +template +inline const std::string& DTCPUsageRules_DigitalOnlyToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_DigitalOnlyToken_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_DigitalOnlyToken_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_DigitalOnlyToken_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_DigitalOnlyToken* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_DigitalOnlyToken_descriptor(), name, value); +} +enum DTCPUsageRules_AudioEnhancedToken : int { + DTCPUsageRules_AudioEnhancedToken_AET_ASSERTED = 0, + DTCPUsageRules_AudioEnhancedToken_AET_UNASSERTED = 1 +}; +bool DTCPUsageRules_AudioEnhancedToken_IsValid(int value); +constexpr DTCPUsageRules_AudioEnhancedToken DTCPUsageRules_AudioEnhancedToken_AudioEnhancedToken_MIN = DTCPUsageRules_AudioEnhancedToken_AET_ASSERTED; +constexpr DTCPUsageRules_AudioEnhancedToken DTCPUsageRules_AudioEnhancedToken_AudioEnhancedToken_MAX = DTCPUsageRules_AudioEnhancedToken_AET_UNASSERTED; +constexpr int DTCPUsageRules_AudioEnhancedToken_AudioEnhancedToken_ARRAYSIZE = DTCPUsageRules_AudioEnhancedToken_AudioEnhancedToken_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_AudioEnhancedToken_descriptor(); +template +inline const std::string& DTCPUsageRules_AudioEnhancedToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_AudioEnhancedToken_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_AudioEnhancedToken_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_AudioEnhancedToken_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_AudioEnhancedToken* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_AudioEnhancedToken_descriptor(), name, value); +} +enum DTCPUsageRules_StandardDigitalOutputToken : int { + DTCPUsageRules_StandardDigitalOutputToken_SDO_UNASSEERTED = 0, + DTCPUsageRules_StandardDigitalOutputToken_SDO_ASSEERTED = 1 +}; +bool DTCPUsageRules_StandardDigitalOutputToken_IsValid(int value); +constexpr DTCPUsageRules_StandardDigitalOutputToken DTCPUsageRules_StandardDigitalOutputToken_StandardDigitalOutputToken_MIN = DTCPUsageRules_StandardDigitalOutputToken_SDO_UNASSEERTED; +constexpr DTCPUsageRules_StandardDigitalOutputToken DTCPUsageRules_StandardDigitalOutputToken_StandardDigitalOutputToken_MAX = DTCPUsageRules_StandardDigitalOutputToken_SDO_ASSEERTED; +constexpr int DTCPUsageRules_StandardDigitalOutputToken_StandardDigitalOutputToken_ARRAYSIZE = DTCPUsageRules_StandardDigitalOutputToken_StandardDigitalOutputToken_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_StandardDigitalOutputToken_descriptor(); +template +inline const std::string& DTCPUsageRules_StandardDigitalOutputToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_StandardDigitalOutputToken_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_StandardDigitalOutputToken_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_StandardDigitalOutputToken_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_StandardDigitalOutputToken* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_StandardDigitalOutputToken_descriptor(), name, value); +} +enum DTCPUsageRules_HighDynamicRangeToken : int { + DTCPUsageRules_HighDynamicRangeToken_HDR_UNASSERTED = 0, + DTCPUsageRules_HighDynamicRangeToken_HDR_ASSERTED = 1 +}; +bool DTCPUsageRules_HighDynamicRangeToken_IsValid(int value); +constexpr DTCPUsageRules_HighDynamicRangeToken DTCPUsageRules_HighDynamicRangeToken_HighDynamicRangeToken_MIN = DTCPUsageRules_HighDynamicRangeToken_HDR_UNASSERTED; +constexpr DTCPUsageRules_HighDynamicRangeToken DTCPUsageRules_HighDynamicRangeToken_HighDynamicRangeToken_MAX = DTCPUsageRules_HighDynamicRangeToken_HDR_ASSERTED; +constexpr int DTCPUsageRules_HighDynamicRangeToken_HighDynamicRangeToken_ARRAYSIZE = DTCPUsageRules_HighDynamicRangeToken_HighDynamicRangeToken_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_HighDynamicRangeToken_descriptor(); +template +inline const std::string& DTCPUsageRules_HighDynamicRangeToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_HighDynamicRangeToken_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_HighDynamicRangeToken_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_HighDynamicRangeToken_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_HighDynamicRangeToken* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_HighDynamicRangeToken_descriptor(), name, value); +} +enum DTCPUsageRules_L2ProtectionOnlyToken : int { + DTCPUsageRules_L2ProtectionOnlyToken_L2_ONLY_UNASSERTED = 0, + DTCPUsageRules_L2ProtectionOnlyToken_L2_ONLY_ASSERTED = 1 +}; +bool DTCPUsageRules_L2ProtectionOnlyToken_IsValid(int value); +constexpr DTCPUsageRules_L2ProtectionOnlyToken DTCPUsageRules_L2ProtectionOnlyToken_L2ProtectionOnlyToken_MIN = DTCPUsageRules_L2ProtectionOnlyToken_L2_ONLY_UNASSERTED; +constexpr DTCPUsageRules_L2ProtectionOnlyToken DTCPUsageRules_L2ProtectionOnlyToken_L2ProtectionOnlyToken_MAX = DTCPUsageRules_L2ProtectionOnlyToken_L2_ONLY_ASSERTED; +constexpr int DTCPUsageRules_L2ProtectionOnlyToken_L2ProtectionOnlyToken_ARRAYSIZE = DTCPUsageRules_L2ProtectionOnlyToken_L2ProtectionOnlyToken_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_L2ProtectionOnlyToken_descriptor(); +template +inline const std::string& DTCPUsageRules_L2ProtectionOnlyToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_L2ProtectionOnlyToken_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_L2ProtectionOnlyToken_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_L2ProtectionOnlyToken_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_L2ProtectionOnlyToken* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_L2ProtectionOnlyToken_descriptor(), name, value); +} +enum DTCPUsageRules_EnhancedImageToken : int { + DTCPUsageRules_EnhancedImageToken_EI_UNASSERTED = 0, + DTCPUsageRules_EnhancedImageToken_EI_ASSERTED = 1 +}; +bool DTCPUsageRules_EnhancedImageToken_IsValid(int value); +constexpr DTCPUsageRules_EnhancedImageToken DTCPUsageRules_EnhancedImageToken_EnhancedImageToken_MIN = DTCPUsageRules_EnhancedImageToken_EI_UNASSERTED; +constexpr DTCPUsageRules_EnhancedImageToken DTCPUsageRules_EnhancedImageToken_EnhancedImageToken_MAX = DTCPUsageRules_EnhancedImageToken_EI_ASSERTED; +constexpr int DTCPUsageRules_EnhancedImageToken_EnhancedImageToken_ARRAYSIZE = DTCPUsageRules_EnhancedImageToken_EnhancedImageToken_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_EnhancedImageToken_descriptor(); +template +inline const std::string& DTCPUsageRules_EnhancedImageToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_EnhancedImageToken_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_EnhancedImageToken_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_EnhancedImageToken_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_EnhancedImageToken* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_EnhancedImageToken_descriptor(), name, value); +} +enum DTCPUsageRules_FurtherBoundCopy : int { + DTCPUsageRules_FurtherBoundCopy_FBC_PROHIBITED = 0, + DTCPUsageRules_FurtherBoundCopy_FBC_PERMITTED = 1 +}; +bool DTCPUsageRules_FurtherBoundCopy_IsValid(int value); +constexpr DTCPUsageRules_FurtherBoundCopy DTCPUsageRules_FurtherBoundCopy_FurtherBoundCopy_MIN = DTCPUsageRules_FurtherBoundCopy_FBC_PROHIBITED; +constexpr DTCPUsageRules_FurtherBoundCopy DTCPUsageRules_FurtherBoundCopy_FurtherBoundCopy_MAX = DTCPUsageRules_FurtherBoundCopy_FBC_PERMITTED; +constexpr int DTCPUsageRules_FurtherBoundCopy_FurtherBoundCopy_ARRAYSIZE = DTCPUsageRules_FurtherBoundCopy_FurtherBoundCopy_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_FurtherBoundCopy_descriptor(); +template +inline const std::string& DTCPUsageRules_FurtherBoundCopy_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_FurtherBoundCopy_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_FurtherBoundCopy_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_FurtherBoundCopy_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_FurtherBoundCopy* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_FurtherBoundCopy_descriptor(), name, value); +} +// =================================================================== + +class DTCPUsageRules final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.DTCPUsageRules) */ { + public: + inline DTCPUsageRules() : DTCPUsageRules(nullptr) {} + ~DTCPUsageRules() override; + explicit constexpr DTCPUsageRules(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + DTCPUsageRules(const DTCPUsageRules& from); + DTCPUsageRules(DTCPUsageRules&& from) noexcept + : DTCPUsageRules() { + *this = ::std::move(from); + } + + inline DTCPUsageRules& operator=(const DTCPUsageRules& from) { + CopyFrom(from); + return *this; + } + inline DTCPUsageRules& operator=(DTCPUsageRules&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const DTCPUsageRules& default_instance() { + return *internal_default_instance(); + } + static inline const DTCPUsageRules* internal_default_instance() { + return reinterpret_cast( + &_DTCPUsageRules_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(DTCPUsageRules& a, DTCPUsageRules& b) { + a.Swap(&b); + } + inline void Swap(DTCPUsageRules* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(DTCPUsageRules* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline DTCPUsageRules* New() const final { + return new DTCPUsageRules(); + } + + DTCPUsageRules* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const DTCPUsageRules& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const DTCPUsageRules& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(DTCPUsageRules* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "video_widevine.DTCPUsageRules"; + } + protected: + explicit DTCPUsageRules(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef DTCPUsageRules_RetentionState RetentionState; + static constexpr RetentionState RETENTION_STATE_FOREVER = + DTCPUsageRules_RetentionState_RETENTION_STATE_FOREVER; + static constexpr RetentionState RETENTION_STATE_1_WEEK = + DTCPUsageRules_RetentionState_RETENTION_STATE_1_WEEK; + static constexpr RetentionState RETENTION_STATE_2_DAYS = + DTCPUsageRules_RetentionState_RETENTION_STATE_2_DAYS; + static constexpr RetentionState RETENTION_STATE_1_DAY = + DTCPUsageRules_RetentionState_RETENTION_STATE_1_DAY; + static constexpr RetentionState RETENTION_STATE_12_HOURS = + DTCPUsageRules_RetentionState_RETENTION_STATE_12_HOURS; + static constexpr RetentionState RETENTION_STATE_6_HOURS = + DTCPUsageRules_RetentionState_RETENTION_STATE_6_HOURS; + static constexpr RetentionState RETENTION_STATE_3_HOURS = + DTCPUsageRules_RetentionState_RETENTION_STATE_3_HOURS; + static constexpr RetentionState RETENTION_STATE_90_MINUTES = + DTCPUsageRules_RetentionState_RETENTION_STATE_90_MINUTES; + static inline bool RetentionState_IsValid(int value) { + return DTCPUsageRules_RetentionState_IsValid(value); + } + static constexpr RetentionState RetentionState_MIN = + DTCPUsageRules_RetentionState_RetentionState_MIN; + static constexpr RetentionState RetentionState_MAX = + DTCPUsageRules_RetentionState_RetentionState_MAX; + static constexpr int RetentionState_ARRAYSIZE = + DTCPUsageRules_RetentionState_RetentionState_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + RetentionState_descriptor() { + return DTCPUsageRules_RetentionState_descriptor(); + } + template + static inline const std::string& RetentionState_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function RetentionState_Name."); + return DTCPUsageRules_RetentionState_Name(enum_t_value); + } + static inline bool RetentionState_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + RetentionState* value) { + return DTCPUsageRules_RetentionState_Parse(name, value); + } + + typedef DTCPUsageRules_CopyControlInfo CopyControlInfo; + static constexpr CopyControlInfo COPY_FREE = + DTCPUsageRules_CopyControlInfo_COPY_FREE; + static constexpr CopyControlInfo COPY_NO_MORE = + DTCPUsageRules_CopyControlInfo_COPY_NO_MORE; + static constexpr CopyControlInfo COPY_ONE = + DTCPUsageRules_CopyControlInfo_COPY_ONE; + static constexpr CopyControlInfo COPY_NEVER = + DTCPUsageRules_CopyControlInfo_COPY_NEVER; + static inline bool CopyControlInfo_IsValid(int value) { + return DTCPUsageRules_CopyControlInfo_IsValid(value); + } + static constexpr CopyControlInfo CopyControlInfo_MIN = + DTCPUsageRules_CopyControlInfo_CopyControlInfo_MIN; + static constexpr CopyControlInfo CopyControlInfo_MAX = + DTCPUsageRules_CopyControlInfo_CopyControlInfo_MAX; + static constexpr int CopyControlInfo_ARRAYSIZE = + DTCPUsageRules_CopyControlInfo_CopyControlInfo_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + CopyControlInfo_descriptor() { + return DTCPUsageRules_CopyControlInfo_descriptor(); + } + template + static inline const std::string& CopyControlInfo_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function CopyControlInfo_Name."); + return DTCPUsageRules_CopyControlInfo_Name(enum_t_value); + } + static inline bool CopyControlInfo_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + CopyControlInfo* value) { + return DTCPUsageRules_CopyControlInfo_Parse(name, value); + } + + typedef DTCPUsageRules_AnalogProtectionSystem AnalogProtectionSystem; + static constexpr AnalogProtectionSystem APS_OFF = + DTCPUsageRules_AnalogProtectionSystem_APS_OFF; + static constexpr AnalogProtectionSystem APS_TYPE1 = + DTCPUsageRules_AnalogProtectionSystem_APS_TYPE1; + static constexpr AnalogProtectionSystem APS_TYPE2 = + DTCPUsageRules_AnalogProtectionSystem_APS_TYPE2; + static constexpr AnalogProtectionSystem APS_TYPE3 = + DTCPUsageRules_AnalogProtectionSystem_APS_TYPE3; + static inline bool AnalogProtectionSystem_IsValid(int value) { + return DTCPUsageRules_AnalogProtectionSystem_IsValid(value); + } + static constexpr AnalogProtectionSystem AnalogProtectionSystem_MIN = + DTCPUsageRules_AnalogProtectionSystem_AnalogProtectionSystem_MIN; + static constexpr AnalogProtectionSystem AnalogProtectionSystem_MAX = + DTCPUsageRules_AnalogProtectionSystem_AnalogProtectionSystem_MAX; + static constexpr int AnalogProtectionSystem_ARRAYSIZE = + DTCPUsageRules_AnalogProtectionSystem_AnalogProtectionSystem_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + AnalogProtectionSystem_descriptor() { + return DTCPUsageRules_AnalogProtectionSystem_descriptor(); + } + template + static inline const std::string& AnalogProtectionSystem_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function AnalogProtectionSystem_Name."); + return DTCPUsageRules_AnalogProtectionSystem_Name(enum_t_value); + } + static inline bool AnalogProtectionSystem_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + AnalogProtectionSystem* value) { + return DTCPUsageRules_AnalogProtectionSystem_Parse(name, value); + } + + typedef DTCPUsageRules_ImageConstraintToken ImageConstraintToken; + static constexpr ImageConstraintToken ICT_CONSTRAINED = + DTCPUsageRules_ImageConstraintToken_ICT_CONSTRAINED; + static constexpr ImageConstraintToken ICT_HD_ANALOG = + DTCPUsageRules_ImageConstraintToken_ICT_HD_ANALOG; + static inline bool ImageConstraintToken_IsValid(int value) { + return DTCPUsageRules_ImageConstraintToken_IsValid(value); + } + static constexpr ImageConstraintToken ImageConstraintToken_MIN = + DTCPUsageRules_ImageConstraintToken_ImageConstraintToken_MIN; + static constexpr ImageConstraintToken ImageConstraintToken_MAX = + DTCPUsageRules_ImageConstraintToken_ImageConstraintToken_MAX; + static constexpr int ImageConstraintToken_ARRAYSIZE = + DTCPUsageRules_ImageConstraintToken_ImageConstraintToken_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + ImageConstraintToken_descriptor() { + return DTCPUsageRules_ImageConstraintToken_descriptor(); + } + template + static inline const std::string& ImageConstraintToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function ImageConstraintToken_Name."); + return DTCPUsageRules_ImageConstraintToken_Name(enum_t_value); + } + static inline bool ImageConstraintToken_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + ImageConstraintToken* value) { + return DTCPUsageRules_ImageConstraintToken_Parse(name, value); + } + + typedef DTCPUsageRules_AnalogSunsetToken AnalogSunsetToken; + static constexpr AnalogSunsetToken AST_ASSERTED = + DTCPUsageRules_AnalogSunsetToken_AST_ASSERTED; + static constexpr AnalogSunsetToken AST_UNASERTED = + DTCPUsageRules_AnalogSunsetToken_AST_UNASERTED; + static inline bool AnalogSunsetToken_IsValid(int value) { + return DTCPUsageRules_AnalogSunsetToken_IsValid(value); + } + static constexpr AnalogSunsetToken AnalogSunsetToken_MIN = + DTCPUsageRules_AnalogSunsetToken_AnalogSunsetToken_MIN; + static constexpr AnalogSunsetToken AnalogSunsetToken_MAX = + DTCPUsageRules_AnalogSunsetToken_AnalogSunsetToken_MAX; + static constexpr int AnalogSunsetToken_ARRAYSIZE = + DTCPUsageRules_AnalogSunsetToken_AnalogSunsetToken_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + AnalogSunsetToken_descriptor() { + return DTCPUsageRules_AnalogSunsetToken_descriptor(); + } + template + static inline const std::string& AnalogSunsetToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function AnalogSunsetToken_Name."); + return DTCPUsageRules_AnalogSunsetToken_Name(enum_t_value); + } + static inline bool AnalogSunsetToken_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + AnalogSunsetToken* value) { + return DTCPUsageRules_AnalogSunsetToken_Parse(name, value); + } + + typedef DTCPUsageRules_DigitalOnlyToken DigitalOnlyToken; + static constexpr DigitalOnlyToken DOT_ASSERTED = + DTCPUsageRules_DigitalOnlyToken_DOT_ASSERTED; + static constexpr DigitalOnlyToken DOT_UNASSERTED = + DTCPUsageRules_DigitalOnlyToken_DOT_UNASSERTED; + static inline bool DigitalOnlyToken_IsValid(int value) { + return DTCPUsageRules_DigitalOnlyToken_IsValid(value); + } + static constexpr DigitalOnlyToken DigitalOnlyToken_MIN = + DTCPUsageRules_DigitalOnlyToken_DigitalOnlyToken_MIN; + static constexpr DigitalOnlyToken DigitalOnlyToken_MAX = + DTCPUsageRules_DigitalOnlyToken_DigitalOnlyToken_MAX; + static constexpr int DigitalOnlyToken_ARRAYSIZE = + DTCPUsageRules_DigitalOnlyToken_DigitalOnlyToken_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + DigitalOnlyToken_descriptor() { + return DTCPUsageRules_DigitalOnlyToken_descriptor(); + } + template + static inline const std::string& DigitalOnlyToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DigitalOnlyToken_Name."); + return DTCPUsageRules_DigitalOnlyToken_Name(enum_t_value); + } + static inline bool DigitalOnlyToken_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + DigitalOnlyToken* value) { + return DTCPUsageRules_DigitalOnlyToken_Parse(name, value); + } + + typedef DTCPUsageRules_AudioEnhancedToken AudioEnhancedToken; + static constexpr AudioEnhancedToken AET_ASSERTED = + DTCPUsageRules_AudioEnhancedToken_AET_ASSERTED; + static constexpr AudioEnhancedToken AET_UNASSERTED = + DTCPUsageRules_AudioEnhancedToken_AET_UNASSERTED; + static inline bool AudioEnhancedToken_IsValid(int value) { + return DTCPUsageRules_AudioEnhancedToken_IsValid(value); + } + static constexpr AudioEnhancedToken AudioEnhancedToken_MIN = + DTCPUsageRules_AudioEnhancedToken_AudioEnhancedToken_MIN; + static constexpr AudioEnhancedToken AudioEnhancedToken_MAX = + DTCPUsageRules_AudioEnhancedToken_AudioEnhancedToken_MAX; + static constexpr int AudioEnhancedToken_ARRAYSIZE = + DTCPUsageRules_AudioEnhancedToken_AudioEnhancedToken_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + AudioEnhancedToken_descriptor() { + return DTCPUsageRules_AudioEnhancedToken_descriptor(); + } + template + static inline const std::string& AudioEnhancedToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function AudioEnhancedToken_Name."); + return DTCPUsageRules_AudioEnhancedToken_Name(enum_t_value); + } + static inline bool AudioEnhancedToken_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + AudioEnhancedToken* value) { + return DTCPUsageRules_AudioEnhancedToken_Parse(name, value); + } + + typedef DTCPUsageRules_StandardDigitalOutputToken StandardDigitalOutputToken; + static constexpr StandardDigitalOutputToken SDO_UNASSEERTED = + DTCPUsageRules_StandardDigitalOutputToken_SDO_UNASSEERTED; + static constexpr StandardDigitalOutputToken SDO_ASSEERTED = + DTCPUsageRules_StandardDigitalOutputToken_SDO_ASSEERTED; + static inline bool StandardDigitalOutputToken_IsValid(int value) { + return DTCPUsageRules_StandardDigitalOutputToken_IsValid(value); + } + static constexpr StandardDigitalOutputToken StandardDigitalOutputToken_MIN = + DTCPUsageRules_StandardDigitalOutputToken_StandardDigitalOutputToken_MIN; + static constexpr StandardDigitalOutputToken StandardDigitalOutputToken_MAX = + DTCPUsageRules_StandardDigitalOutputToken_StandardDigitalOutputToken_MAX; + static constexpr int StandardDigitalOutputToken_ARRAYSIZE = + DTCPUsageRules_StandardDigitalOutputToken_StandardDigitalOutputToken_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + StandardDigitalOutputToken_descriptor() { + return DTCPUsageRules_StandardDigitalOutputToken_descriptor(); + } + template + static inline const std::string& StandardDigitalOutputToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function StandardDigitalOutputToken_Name."); + return DTCPUsageRules_StandardDigitalOutputToken_Name(enum_t_value); + } + static inline bool StandardDigitalOutputToken_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + StandardDigitalOutputToken* value) { + return DTCPUsageRules_StandardDigitalOutputToken_Parse(name, value); + } + + typedef DTCPUsageRules_HighDynamicRangeToken HighDynamicRangeToken; + static constexpr HighDynamicRangeToken HDR_UNASSERTED = + DTCPUsageRules_HighDynamicRangeToken_HDR_UNASSERTED; + static constexpr HighDynamicRangeToken HDR_ASSERTED = + DTCPUsageRules_HighDynamicRangeToken_HDR_ASSERTED; + static inline bool HighDynamicRangeToken_IsValid(int value) { + return DTCPUsageRules_HighDynamicRangeToken_IsValid(value); + } + static constexpr HighDynamicRangeToken HighDynamicRangeToken_MIN = + DTCPUsageRules_HighDynamicRangeToken_HighDynamicRangeToken_MIN; + static constexpr HighDynamicRangeToken HighDynamicRangeToken_MAX = + DTCPUsageRules_HighDynamicRangeToken_HighDynamicRangeToken_MAX; + static constexpr int HighDynamicRangeToken_ARRAYSIZE = + DTCPUsageRules_HighDynamicRangeToken_HighDynamicRangeToken_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + HighDynamicRangeToken_descriptor() { + return DTCPUsageRules_HighDynamicRangeToken_descriptor(); + } + template + static inline const std::string& HighDynamicRangeToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function HighDynamicRangeToken_Name."); + return DTCPUsageRules_HighDynamicRangeToken_Name(enum_t_value); + } + static inline bool HighDynamicRangeToken_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + HighDynamicRangeToken* value) { + return DTCPUsageRules_HighDynamicRangeToken_Parse(name, value); + } + + typedef DTCPUsageRules_L2ProtectionOnlyToken L2ProtectionOnlyToken; + static constexpr L2ProtectionOnlyToken L2_ONLY_UNASSERTED = + DTCPUsageRules_L2ProtectionOnlyToken_L2_ONLY_UNASSERTED; + static constexpr L2ProtectionOnlyToken L2_ONLY_ASSERTED = + DTCPUsageRules_L2ProtectionOnlyToken_L2_ONLY_ASSERTED; + static inline bool L2ProtectionOnlyToken_IsValid(int value) { + return DTCPUsageRules_L2ProtectionOnlyToken_IsValid(value); + } + static constexpr L2ProtectionOnlyToken L2ProtectionOnlyToken_MIN = + DTCPUsageRules_L2ProtectionOnlyToken_L2ProtectionOnlyToken_MIN; + static constexpr L2ProtectionOnlyToken L2ProtectionOnlyToken_MAX = + DTCPUsageRules_L2ProtectionOnlyToken_L2ProtectionOnlyToken_MAX; + static constexpr int L2ProtectionOnlyToken_ARRAYSIZE = + DTCPUsageRules_L2ProtectionOnlyToken_L2ProtectionOnlyToken_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + L2ProtectionOnlyToken_descriptor() { + return DTCPUsageRules_L2ProtectionOnlyToken_descriptor(); + } + template + static inline const std::string& L2ProtectionOnlyToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function L2ProtectionOnlyToken_Name."); + return DTCPUsageRules_L2ProtectionOnlyToken_Name(enum_t_value); + } + static inline bool L2ProtectionOnlyToken_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + L2ProtectionOnlyToken* value) { + return DTCPUsageRules_L2ProtectionOnlyToken_Parse(name, value); + } + + typedef DTCPUsageRules_EnhancedImageToken EnhancedImageToken; + static constexpr EnhancedImageToken EI_UNASSERTED = + DTCPUsageRules_EnhancedImageToken_EI_UNASSERTED; + static constexpr EnhancedImageToken EI_ASSERTED = + DTCPUsageRules_EnhancedImageToken_EI_ASSERTED; + static inline bool EnhancedImageToken_IsValid(int value) { + return DTCPUsageRules_EnhancedImageToken_IsValid(value); + } + static constexpr EnhancedImageToken EnhancedImageToken_MIN = + DTCPUsageRules_EnhancedImageToken_EnhancedImageToken_MIN; + static constexpr EnhancedImageToken EnhancedImageToken_MAX = + DTCPUsageRules_EnhancedImageToken_EnhancedImageToken_MAX; + static constexpr int EnhancedImageToken_ARRAYSIZE = + DTCPUsageRules_EnhancedImageToken_EnhancedImageToken_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + EnhancedImageToken_descriptor() { + return DTCPUsageRules_EnhancedImageToken_descriptor(); + } + template + static inline const std::string& EnhancedImageToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function EnhancedImageToken_Name."); + return DTCPUsageRules_EnhancedImageToken_Name(enum_t_value); + } + static inline bool EnhancedImageToken_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + EnhancedImageToken* value) { + return DTCPUsageRules_EnhancedImageToken_Parse(name, value); + } + + typedef DTCPUsageRules_FurtherBoundCopy FurtherBoundCopy; + static constexpr FurtherBoundCopy FBC_PROHIBITED = + DTCPUsageRules_FurtherBoundCopy_FBC_PROHIBITED; + static constexpr FurtherBoundCopy FBC_PERMITTED = + DTCPUsageRules_FurtherBoundCopy_FBC_PERMITTED; + static inline bool FurtherBoundCopy_IsValid(int value) { + return DTCPUsageRules_FurtherBoundCopy_IsValid(value); + } + static constexpr FurtherBoundCopy FurtherBoundCopy_MIN = + DTCPUsageRules_FurtherBoundCopy_FurtherBoundCopy_MIN; + static constexpr FurtherBoundCopy FurtherBoundCopy_MAX = + DTCPUsageRules_FurtherBoundCopy_FurtherBoundCopy_MAX; + static constexpr int FurtherBoundCopy_ARRAYSIZE = + DTCPUsageRules_FurtherBoundCopy_FurtherBoundCopy_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + FurtherBoundCopy_descriptor() { + return DTCPUsageRules_FurtherBoundCopy_descriptor(); + } + template + static inline const std::string& FurtherBoundCopy_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function FurtherBoundCopy_Name."); + return DTCPUsageRules_FurtherBoundCopy_Name(enum_t_value); + } + static inline bool FurtherBoundCopy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + FurtherBoundCopy* value) { + return DTCPUsageRules_FurtherBoundCopy_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + enum : int { + kCopyControlFieldNumber = 2, + kRequireDtcp2FieldNumber = 1, + kEncryptionPlusFieldNumber = 3, + kRetentionStateFieldNumber = 4, + kAnalogProtectionSystemFieldNumber = 5, + kImageConstraintTokenFieldNumber = 6, + kAnalogSunsetTokenFieldNumber = 7, + kDigitalOnlyTokenFieldNumber = 8, + kAudioEnhancedTokenFieldNumber = 9, + kCopyCountFieldNumber = 10, + kStandardDigitalTokenFieldNumber = 11, + kHighDynamicTokenFieldNumber = 12, + kL2OnlyTokenFieldNumber = 13, + kEnhanedImageTokenFieldNumber = 14, + kRetentionTimeFieldNumber = 15, + kFurtherCopyFieldNumber = 16, + }; + // optional .video_widevine.DTCPUsageRules.CopyControlInfo copy_control = 2; + bool has_copy_control() const; + private: + bool _internal_has_copy_control() const; + public: + void clear_copy_control(); + ::video_widevine::DTCPUsageRules_CopyControlInfo copy_control() const; + void set_copy_control(::video_widevine::DTCPUsageRules_CopyControlInfo value); + private: + ::video_widevine::DTCPUsageRules_CopyControlInfo _internal_copy_control() const; + void _internal_set_copy_control(::video_widevine::DTCPUsageRules_CopyControlInfo value); + public: + + // optional bool require_dtcp2 = 1 [default = false]; + bool has_require_dtcp2() const; + private: + bool _internal_has_require_dtcp2() const; + public: + void clear_require_dtcp2(); + bool require_dtcp2() const; + void set_require_dtcp2(bool value); + private: + bool _internal_require_dtcp2() const; + void _internal_set_require_dtcp2(bool value); + public: + + // optional bool encryption_plus = 3; + bool has_encryption_plus() const; + private: + bool _internal_has_encryption_plus() const; + public: + void clear_encryption_plus(); + bool encryption_plus() const; + void set_encryption_plus(bool value); + private: + bool _internal_encryption_plus() const; + void _internal_set_encryption_plus(bool value); + public: + + // optional .video_widevine.DTCPUsageRules.RetentionState retention_state = 4; + bool has_retention_state() const; + private: + bool _internal_has_retention_state() const; + public: + void clear_retention_state(); + ::video_widevine::DTCPUsageRules_RetentionState retention_state() const; + void set_retention_state(::video_widevine::DTCPUsageRules_RetentionState value); + private: + ::video_widevine::DTCPUsageRules_RetentionState _internal_retention_state() const; + void _internal_set_retention_state(::video_widevine::DTCPUsageRules_RetentionState value); + public: + + // optional .video_widevine.DTCPUsageRules.AnalogProtectionSystem analog_protection_system = 5; + bool has_analog_protection_system() const; + private: + bool _internal_has_analog_protection_system() const; + public: + void clear_analog_protection_system(); + ::video_widevine::DTCPUsageRules_AnalogProtectionSystem analog_protection_system() const; + void set_analog_protection_system(::video_widevine::DTCPUsageRules_AnalogProtectionSystem value); + private: + ::video_widevine::DTCPUsageRules_AnalogProtectionSystem _internal_analog_protection_system() const; + void _internal_set_analog_protection_system(::video_widevine::DTCPUsageRules_AnalogProtectionSystem value); + public: + + // optional .video_widevine.DTCPUsageRules.ImageConstraintToken image_constraint_token = 6; + bool has_image_constraint_token() const; + private: + bool _internal_has_image_constraint_token() const; + public: + void clear_image_constraint_token(); + ::video_widevine::DTCPUsageRules_ImageConstraintToken image_constraint_token() const; + void set_image_constraint_token(::video_widevine::DTCPUsageRules_ImageConstraintToken value); + private: + ::video_widevine::DTCPUsageRules_ImageConstraintToken _internal_image_constraint_token() const; + void _internal_set_image_constraint_token(::video_widevine::DTCPUsageRules_ImageConstraintToken value); + public: + + // optional .video_widevine.DTCPUsageRules.AnalogSunsetToken analog_sunset_token = 7; + bool has_analog_sunset_token() const; + private: + bool _internal_has_analog_sunset_token() const; + public: + void clear_analog_sunset_token(); + ::video_widevine::DTCPUsageRules_AnalogSunsetToken analog_sunset_token() const; + void set_analog_sunset_token(::video_widevine::DTCPUsageRules_AnalogSunsetToken value); + private: + ::video_widevine::DTCPUsageRules_AnalogSunsetToken _internal_analog_sunset_token() const; + void _internal_set_analog_sunset_token(::video_widevine::DTCPUsageRules_AnalogSunsetToken value); + public: + + // optional .video_widevine.DTCPUsageRules.DigitalOnlyToken digital_only_token = 8; + bool has_digital_only_token() const; + private: + bool _internal_has_digital_only_token() const; + public: + void clear_digital_only_token(); + ::video_widevine::DTCPUsageRules_DigitalOnlyToken digital_only_token() const; + void set_digital_only_token(::video_widevine::DTCPUsageRules_DigitalOnlyToken value); + private: + ::video_widevine::DTCPUsageRules_DigitalOnlyToken _internal_digital_only_token() const; + void _internal_set_digital_only_token(::video_widevine::DTCPUsageRules_DigitalOnlyToken value); + public: + + // optional .video_widevine.DTCPUsageRules.AudioEnhancedToken audio_enhanced_token = 9; + bool has_audio_enhanced_token() const; + private: + bool _internal_has_audio_enhanced_token() const; + public: + void clear_audio_enhanced_token(); + ::video_widevine::DTCPUsageRules_AudioEnhancedToken audio_enhanced_token() const; + void set_audio_enhanced_token(::video_widevine::DTCPUsageRules_AudioEnhancedToken value); + private: + ::video_widevine::DTCPUsageRules_AudioEnhancedToken _internal_audio_enhanced_token() const; + void _internal_set_audio_enhanced_token(::video_widevine::DTCPUsageRules_AudioEnhancedToken value); + public: + + // optional uint32 copy_count = 10; + bool has_copy_count() const; + private: + bool _internal_has_copy_count() const; + public: + void clear_copy_count(); + ::PROTOBUF_NAMESPACE_ID::uint32 copy_count() const; + void set_copy_count(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_copy_count() const; + void _internal_set_copy_count(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + + // optional .video_widevine.DTCPUsageRules.StandardDigitalOutputToken standard_digital_token = 11; + bool has_standard_digital_token() const; + private: + bool _internal_has_standard_digital_token() const; + public: + void clear_standard_digital_token(); + ::video_widevine::DTCPUsageRules_StandardDigitalOutputToken standard_digital_token() const; + void set_standard_digital_token(::video_widevine::DTCPUsageRules_StandardDigitalOutputToken value); + private: + ::video_widevine::DTCPUsageRules_StandardDigitalOutputToken _internal_standard_digital_token() const; + void _internal_set_standard_digital_token(::video_widevine::DTCPUsageRules_StandardDigitalOutputToken value); + public: + + // optional .video_widevine.DTCPUsageRules.HighDynamicRangeToken high_dynamic_token = 12; + bool has_high_dynamic_token() const; + private: + bool _internal_has_high_dynamic_token() const; + public: + void clear_high_dynamic_token(); + ::video_widevine::DTCPUsageRules_HighDynamicRangeToken high_dynamic_token() const; + void set_high_dynamic_token(::video_widevine::DTCPUsageRules_HighDynamicRangeToken value); + private: + ::video_widevine::DTCPUsageRules_HighDynamicRangeToken _internal_high_dynamic_token() const; + void _internal_set_high_dynamic_token(::video_widevine::DTCPUsageRules_HighDynamicRangeToken value); + public: + + // optional .video_widevine.DTCPUsageRules.L2ProtectionOnlyToken l2_only_token = 13; + bool has_l2_only_token() const; + private: + bool _internal_has_l2_only_token() const; + public: + void clear_l2_only_token(); + ::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken l2_only_token() const; + void set_l2_only_token(::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken value); + private: + ::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken _internal_l2_only_token() const; + void _internal_set_l2_only_token(::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken value); + public: + + // optional .video_widevine.DTCPUsageRules.EnhancedImageToken enhaned_image_token = 14; + bool has_enhaned_image_token() const; + private: + bool _internal_has_enhaned_image_token() const; + public: + void clear_enhaned_image_token(); + ::video_widevine::DTCPUsageRules_EnhancedImageToken enhaned_image_token() const; + void set_enhaned_image_token(::video_widevine::DTCPUsageRules_EnhancedImageToken value); + private: + ::video_widevine::DTCPUsageRules_EnhancedImageToken _internal_enhaned_image_token() const; + void _internal_set_enhaned_image_token(::video_widevine::DTCPUsageRules_EnhancedImageToken value); + public: + + // optional uint32 retention_time = 15; + bool has_retention_time() const; + private: + bool _internal_has_retention_time() const; + public: + void clear_retention_time(); + ::PROTOBUF_NAMESPACE_ID::uint32 retention_time() const; + void set_retention_time(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_retention_time() const; + void _internal_set_retention_time(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + + // optional .video_widevine.DTCPUsageRules.FurtherBoundCopy further_copy = 16; + bool has_further_copy() const; + private: + bool _internal_has_further_copy() const; + public: + void clear_further_copy(); + ::video_widevine::DTCPUsageRules_FurtherBoundCopy further_copy() const; + void set_further_copy(::video_widevine::DTCPUsageRules_FurtherBoundCopy value); + private: + ::video_widevine::DTCPUsageRules_FurtherBoundCopy _internal_further_copy() const; + void _internal_set_further_copy(::video_widevine::DTCPUsageRules_FurtherBoundCopy value); + public: + + // @@protoc_insertion_point(class_scope:video_widevine.DTCPUsageRules) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + int copy_control_; + bool require_dtcp2_; + bool encryption_plus_; + int retention_state_; + int analog_protection_system_; + int image_constraint_token_; + int analog_sunset_token_; + int digital_only_token_; + int audio_enhanced_token_; + ::PROTOBUF_NAMESPACE_ID::uint32 copy_count_; + int standard_digital_token_; + int high_dynamic_token_; + int l2_only_token_; + int enhaned_image_token_; + ::PROTOBUF_NAMESPACE_ID::uint32 retention_time_; + int further_copy_; + friend struct ::TableStruct_protos_2fpublic_2fdtcp_5fusage_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// DTCPUsageRules + +// optional bool require_dtcp2 = 1 [default = false]; +inline bool DTCPUsageRules::_internal_has_require_dtcp2() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool DTCPUsageRules::has_require_dtcp2() const { + return _internal_has_require_dtcp2(); +} +inline void DTCPUsageRules::clear_require_dtcp2() { + require_dtcp2_ = false; + _has_bits_[0] &= ~0x00000002u; +} +inline bool DTCPUsageRules::_internal_require_dtcp2() const { + return require_dtcp2_; +} +inline bool DTCPUsageRules::require_dtcp2() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.require_dtcp2) + return _internal_require_dtcp2(); +} +inline void DTCPUsageRules::_internal_set_require_dtcp2(bool value) { + _has_bits_[0] |= 0x00000002u; + require_dtcp2_ = value; +} +inline void DTCPUsageRules::set_require_dtcp2(bool value) { + _internal_set_require_dtcp2(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.require_dtcp2) +} + +// optional .video_widevine.DTCPUsageRules.CopyControlInfo copy_control = 2; +inline bool DTCPUsageRules::_internal_has_copy_control() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool DTCPUsageRules::has_copy_control() const { + return _internal_has_copy_control(); +} +inline void DTCPUsageRules::clear_copy_control() { + copy_control_ = 0; + _has_bits_[0] &= ~0x00000001u; +} +inline ::video_widevine::DTCPUsageRules_CopyControlInfo DTCPUsageRules::_internal_copy_control() const { + return static_cast< ::video_widevine::DTCPUsageRules_CopyControlInfo >(copy_control_); +} +inline ::video_widevine::DTCPUsageRules_CopyControlInfo DTCPUsageRules::copy_control() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.copy_control) + return _internal_copy_control(); +} +inline void DTCPUsageRules::_internal_set_copy_control(::video_widevine::DTCPUsageRules_CopyControlInfo value) { + assert(::video_widevine::DTCPUsageRules_CopyControlInfo_IsValid(value)); + _has_bits_[0] |= 0x00000001u; + copy_control_ = value; +} +inline void DTCPUsageRules::set_copy_control(::video_widevine::DTCPUsageRules_CopyControlInfo value) { + _internal_set_copy_control(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.copy_control) +} + +// optional bool encryption_plus = 3; +inline bool DTCPUsageRules::_internal_has_encryption_plus() const { + bool value = (_has_bits_[0] & 0x00000004u) != 0; + return value; +} +inline bool DTCPUsageRules::has_encryption_plus() const { + return _internal_has_encryption_plus(); +} +inline void DTCPUsageRules::clear_encryption_plus() { + encryption_plus_ = false; + _has_bits_[0] &= ~0x00000004u; +} +inline bool DTCPUsageRules::_internal_encryption_plus() const { + return encryption_plus_; +} +inline bool DTCPUsageRules::encryption_plus() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.encryption_plus) + return _internal_encryption_plus(); +} +inline void DTCPUsageRules::_internal_set_encryption_plus(bool value) { + _has_bits_[0] |= 0x00000004u; + encryption_plus_ = value; +} +inline void DTCPUsageRules::set_encryption_plus(bool value) { + _internal_set_encryption_plus(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.encryption_plus) +} + +// optional .video_widevine.DTCPUsageRules.RetentionState retention_state = 4; +inline bool DTCPUsageRules::_internal_has_retention_state() const { + bool value = (_has_bits_[0] & 0x00000008u) != 0; + return value; +} +inline bool DTCPUsageRules::has_retention_state() const { + return _internal_has_retention_state(); +} +inline void DTCPUsageRules::clear_retention_state() { + retention_state_ = 0; + _has_bits_[0] &= ~0x00000008u; +} +inline ::video_widevine::DTCPUsageRules_RetentionState DTCPUsageRules::_internal_retention_state() const { + return static_cast< ::video_widevine::DTCPUsageRules_RetentionState >(retention_state_); +} +inline ::video_widevine::DTCPUsageRules_RetentionState DTCPUsageRules::retention_state() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.retention_state) + return _internal_retention_state(); +} +inline void DTCPUsageRules::_internal_set_retention_state(::video_widevine::DTCPUsageRules_RetentionState value) { + assert(::video_widevine::DTCPUsageRules_RetentionState_IsValid(value)); + _has_bits_[0] |= 0x00000008u; + retention_state_ = value; +} +inline void DTCPUsageRules::set_retention_state(::video_widevine::DTCPUsageRules_RetentionState value) { + _internal_set_retention_state(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.retention_state) +} + +// optional .video_widevine.DTCPUsageRules.AnalogProtectionSystem analog_protection_system = 5; +inline bool DTCPUsageRules::_internal_has_analog_protection_system() const { + bool value = (_has_bits_[0] & 0x00000010u) != 0; + return value; +} +inline bool DTCPUsageRules::has_analog_protection_system() const { + return _internal_has_analog_protection_system(); +} +inline void DTCPUsageRules::clear_analog_protection_system() { + analog_protection_system_ = 0; + _has_bits_[0] &= ~0x00000010u; +} +inline ::video_widevine::DTCPUsageRules_AnalogProtectionSystem DTCPUsageRules::_internal_analog_protection_system() const { + return static_cast< ::video_widevine::DTCPUsageRules_AnalogProtectionSystem >(analog_protection_system_); +} +inline ::video_widevine::DTCPUsageRules_AnalogProtectionSystem DTCPUsageRules::analog_protection_system() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.analog_protection_system) + return _internal_analog_protection_system(); +} +inline void DTCPUsageRules::_internal_set_analog_protection_system(::video_widevine::DTCPUsageRules_AnalogProtectionSystem value) { + assert(::video_widevine::DTCPUsageRules_AnalogProtectionSystem_IsValid(value)); + _has_bits_[0] |= 0x00000010u; + analog_protection_system_ = value; +} +inline void DTCPUsageRules::set_analog_protection_system(::video_widevine::DTCPUsageRules_AnalogProtectionSystem value) { + _internal_set_analog_protection_system(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.analog_protection_system) +} + +// optional .video_widevine.DTCPUsageRules.ImageConstraintToken image_constraint_token = 6; +inline bool DTCPUsageRules::_internal_has_image_constraint_token() const { + bool value = (_has_bits_[0] & 0x00000020u) != 0; + return value; +} +inline bool DTCPUsageRules::has_image_constraint_token() const { + return _internal_has_image_constraint_token(); +} +inline void DTCPUsageRules::clear_image_constraint_token() { + image_constraint_token_ = 0; + _has_bits_[0] &= ~0x00000020u; +} +inline ::video_widevine::DTCPUsageRules_ImageConstraintToken DTCPUsageRules::_internal_image_constraint_token() const { + return static_cast< ::video_widevine::DTCPUsageRules_ImageConstraintToken >(image_constraint_token_); +} +inline ::video_widevine::DTCPUsageRules_ImageConstraintToken DTCPUsageRules::image_constraint_token() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.image_constraint_token) + return _internal_image_constraint_token(); +} +inline void DTCPUsageRules::_internal_set_image_constraint_token(::video_widevine::DTCPUsageRules_ImageConstraintToken value) { + assert(::video_widevine::DTCPUsageRules_ImageConstraintToken_IsValid(value)); + _has_bits_[0] |= 0x00000020u; + image_constraint_token_ = value; +} +inline void DTCPUsageRules::set_image_constraint_token(::video_widevine::DTCPUsageRules_ImageConstraintToken value) { + _internal_set_image_constraint_token(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.image_constraint_token) +} + +// optional .video_widevine.DTCPUsageRules.AnalogSunsetToken analog_sunset_token = 7; +inline bool DTCPUsageRules::_internal_has_analog_sunset_token() const { + bool value = (_has_bits_[0] & 0x00000040u) != 0; + return value; +} +inline bool DTCPUsageRules::has_analog_sunset_token() const { + return _internal_has_analog_sunset_token(); +} +inline void DTCPUsageRules::clear_analog_sunset_token() { + analog_sunset_token_ = 0; + _has_bits_[0] &= ~0x00000040u; +} +inline ::video_widevine::DTCPUsageRules_AnalogSunsetToken DTCPUsageRules::_internal_analog_sunset_token() const { + return static_cast< ::video_widevine::DTCPUsageRules_AnalogSunsetToken >(analog_sunset_token_); +} +inline ::video_widevine::DTCPUsageRules_AnalogSunsetToken DTCPUsageRules::analog_sunset_token() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.analog_sunset_token) + return _internal_analog_sunset_token(); +} +inline void DTCPUsageRules::_internal_set_analog_sunset_token(::video_widevine::DTCPUsageRules_AnalogSunsetToken value) { + assert(::video_widevine::DTCPUsageRules_AnalogSunsetToken_IsValid(value)); + _has_bits_[0] |= 0x00000040u; + analog_sunset_token_ = value; +} +inline void DTCPUsageRules::set_analog_sunset_token(::video_widevine::DTCPUsageRules_AnalogSunsetToken value) { + _internal_set_analog_sunset_token(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.analog_sunset_token) +} + +// optional .video_widevine.DTCPUsageRules.DigitalOnlyToken digital_only_token = 8; +inline bool DTCPUsageRules::_internal_has_digital_only_token() const { + bool value = (_has_bits_[0] & 0x00000080u) != 0; + return value; +} +inline bool DTCPUsageRules::has_digital_only_token() const { + return _internal_has_digital_only_token(); +} +inline void DTCPUsageRules::clear_digital_only_token() { + digital_only_token_ = 0; + _has_bits_[0] &= ~0x00000080u; +} +inline ::video_widevine::DTCPUsageRules_DigitalOnlyToken DTCPUsageRules::_internal_digital_only_token() const { + return static_cast< ::video_widevine::DTCPUsageRules_DigitalOnlyToken >(digital_only_token_); +} +inline ::video_widevine::DTCPUsageRules_DigitalOnlyToken DTCPUsageRules::digital_only_token() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.digital_only_token) + return _internal_digital_only_token(); +} +inline void DTCPUsageRules::_internal_set_digital_only_token(::video_widevine::DTCPUsageRules_DigitalOnlyToken value) { + assert(::video_widevine::DTCPUsageRules_DigitalOnlyToken_IsValid(value)); + _has_bits_[0] |= 0x00000080u; + digital_only_token_ = value; +} +inline void DTCPUsageRules::set_digital_only_token(::video_widevine::DTCPUsageRules_DigitalOnlyToken value) { + _internal_set_digital_only_token(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.digital_only_token) +} + +// optional .video_widevine.DTCPUsageRules.AudioEnhancedToken audio_enhanced_token = 9; +inline bool DTCPUsageRules::_internal_has_audio_enhanced_token() const { + bool value = (_has_bits_[0] & 0x00000100u) != 0; + return value; +} +inline bool DTCPUsageRules::has_audio_enhanced_token() const { + return _internal_has_audio_enhanced_token(); +} +inline void DTCPUsageRules::clear_audio_enhanced_token() { + audio_enhanced_token_ = 0; + _has_bits_[0] &= ~0x00000100u; +} +inline ::video_widevine::DTCPUsageRules_AudioEnhancedToken DTCPUsageRules::_internal_audio_enhanced_token() const { + return static_cast< ::video_widevine::DTCPUsageRules_AudioEnhancedToken >(audio_enhanced_token_); +} +inline ::video_widevine::DTCPUsageRules_AudioEnhancedToken DTCPUsageRules::audio_enhanced_token() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.audio_enhanced_token) + return _internal_audio_enhanced_token(); +} +inline void DTCPUsageRules::_internal_set_audio_enhanced_token(::video_widevine::DTCPUsageRules_AudioEnhancedToken value) { + assert(::video_widevine::DTCPUsageRules_AudioEnhancedToken_IsValid(value)); + _has_bits_[0] |= 0x00000100u; + audio_enhanced_token_ = value; +} +inline void DTCPUsageRules::set_audio_enhanced_token(::video_widevine::DTCPUsageRules_AudioEnhancedToken value) { + _internal_set_audio_enhanced_token(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.audio_enhanced_token) +} + +// optional uint32 copy_count = 10; +inline bool DTCPUsageRules::_internal_has_copy_count() const { + bool value = (_has_bits_[0] & 0x00000200u) != 0; + return value; +} +inline bool DTCPUsageRules::has_copy_count() const { + return _internal_has_copy_count(); +} +inline void DTCPUsageRules::clear_copy_count() { + copy_count_ = 0u; + _has_bits_[0] &= ~0x00000200u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 DTCPUsageRules::_internal_copy_count() const { + return copy_count_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 DTCPUsageRules::copy_count() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.copy_count) + return _internal_copy_count(); +} +inline void DTCPUsageRules::_internal_set_copy_count(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00000200u; + copy_count_ = value; +} +inline void DTCPUsageRules::set_copy_count(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_copy_count(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.copy_count) +} + +// optional .video_widevine.DTCPUsageRules.StandardDigitalOutputToken standard_digital_token = 11; +inline bool DTCPUsageRules::_internal_has_standard_digital_token() const { + bool value = (_has_bits_[0] & 0x00000400u) != 0; + return value; +} +inline bool DTCPUsageRules::has_standard_digital_token() const { + return _internal_has_standard_digital_token(); +} +inline void DTCPUsageRules::clear_standard_digital_token() { + standard_digital_token_ = 0; + _has_bits_[0] &= ~0x00000400u; +} +inline ::video_widevine::DTCPUsageRules_StandardDigitalOutputToken DTCPUsageRules::_internal_standard_digital_token() const { + return static_cast< ::video_widevine::DTCPUsageRules_StandardDigitalOutputToken >(standard_digital_token_); +} +inline ::video_widevine::DTCPUsageRules_StandardDigitalOutputToken DTCPUsageRules::standard_digital_token() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.standard_digital_token) + return _internal_standard_digital_token(); +} +inline void DTCPUsageRules::_internal_set_standard_digital_token(::video_widevine::DTCPUsageRules_StandardDigitalOutputToken value) { + assert(::video_widevine::DTCPUsageRules_StandardDigitalOutputToken_IsValid(value)); + _has_bits_[0] |= 0x00000400u; + standard_digital_token_ = value; +} +inline void DTCPUsageRules::set_standard_digital_token(::video_widevine::DTCPUsageRules_StandardDigitalOutputToken value) { + _internal_set_standard_digital_token(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.standard_digital_token) +} + +// optional .video_widevine.DTCPUsageRules.HighDynamicRangeToken high_dynamic_token = 12; +inline bool DTCPUsageRules::_internal_has_high_dynamic_token() const { + bool value = (_has_bits_[0] & 0x00000800u) != 0; + return value; +} +inline bool DTCPUsageRules::has_high_dynamic_token() const { + return _internal_has_high_dynamic_token(); +} +inline void DTCPUsageRules::clear_high_dynamic_token() { + high_dynamic_token_ = 0; + _has_bits_[0] &= ~0x00000800u; +} +inline ::video_widevine::DTCPUsageRules_HighDynamicRangeToken DTCPUsageRules::_internal_high_dynamic_token() const { + return static_cast< ::video_widevine::DTCPUsageRules_HighDynamicRangeToken >(high_dynamic_token_); +} +inline ::video_widevine::DTCPUsageRules_HighDynamicRangeToken DTCPUsageRules::high_dynamic_token() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.high_dynamic_token) + return _internal_high_dynamic_token(); +} +inline void DTCPUsageRules::_internal_set_high_dynamic_token(::video_widevine::DTCPUsageRules_HighDynamicRangeToken value) { + assert(::video_widevine::DTCPUsageRules_HighDynamicRangeToken_IsValid(value)); + _has_bits_[0] |= 0x00000800u; + high_dynamic_token_ = value; +} +inline void DTCPUsageRules::set_high_dynamic_token(::video_widevine::DTCPUsageRules_HighDynamicRangeToken value) { + _internal_set_high_dynamic_token(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.high_dynamic_token) +} + +// optional .video_widevine.DTCPUsageRules.L2ProtectionOnlyToken l2_only_token = 13; +inline bool DTCPUsageRules::_internal_has_l2_only_token() const { + bool value = (_has_bits_[0] & 0x00001000u) != 0; + return value; +} +inline bool DTCPUsageRules::has_l2_only_token() const { + return _internal_has_l2_only_token(); +} +inline void DTCPUsageRules::clear_l2_only_token() { + l2_only_token_ = 0; + _has_bits_[0] &= ~0x00001000u; +} +inline ::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken DTCPUsageRules::_internal_l2_only_token() const { + return static_cast< ::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken >(l2_only_token_); +} +inline ::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken DTCPUsageRules::l2_only_token() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.l2_only_token) + return _internal_l2_only_token(); +} +inline void DTCPUsageRules::_internal_set_l2_only_token(::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken value) { + assert(::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken_IsValid(value)); + _has_bits_[0] |= 0x00001000u; + l2_only_token_ = value; +} +inline void DTCPUsageRules::set_l2_only_token(::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken value) { + _internal_set_l2_only_token(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.l2_only_token) +} + +// optional .video_widevine.DTCPUsageRules.EnhancedImageToken enhaned_image_token = 14; +inline bool DTCPUsageRules::_internal_has_enhaned_image_token() const { + bool value = (_has_bits_[0] & 0x00002000u) != 0; + return value; +} +inline bool DTCPUsageRules::has_enhaned_image_token() const { + return _internal_has_enhaned_image_token(); +} +inline void DTCPUsageRules::clear_enhaned_image_token() { + enhaned_image_token_ = 0; + _has_bits_[0] &= ~0x00002000u; +} +inline ::video_widevine::DTCPUsageRules_EnhancedImageToken DTCPUsageRules::_internal_enhaned_image_token() const { + return static_cast< ::video_widevine::DTCPUsageRules_EnhancedImageToken >(enhaned_image_token_); +} +inline ::video_widevine::DTCPUsageRules_EnhancedImageToken DTCPUsageRules::enhaned_image_token() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.enhaned_image_token) + return _internal_enhaned_image_token(); +} +inline void DTCPUsageRules::_internal_set_enhaned_image_token(::video_widevine::DTCPUsageRules_EnhancedImageToken value) { + assert(::video_widevine::DTCPUsageRules_EnhancedImageToken_IsValid(value)); + _has_bits_[0] |= 0x00002000u; + enhaned_image_token_ = value; +} +inline void DTCPUsageRules::set_enhaned_image_token(::video_widevine::DTCPUsageRules_EnhancedImageToken value) { + _internal_set_enhaned_image_token(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.enhaned_image_token) +} + +// optional uint32 retention_time = 15; +inline bool DTCPUsageRules::_internal_has_retention_time() const { + bool value = (_has_bits_[0] & 0x00004000u) != 0; + return value; +} +inline bool DTCPUsageRules::has_retention_time() const { + return _internal_has_retention_time(); +} +inline void DTCPUsageRules::clear_retention_time() { + retention_time_ = 0u; + _has_bits_[0] &= ~0x00004000u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 DTCPUsageRules::_internal_retention_time() const { + return retention_time_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 DTCPUsageRules::retention_time() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.retention_time) + return _internal_retention_time(); +} +inline void DTCPUsageRules::_internal_set_retention_time(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00004000u; + retention_time_ = value; +} +inline void DTCPUsageRules::set_retention_time(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_retention_time(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.retention_time) +} + +// optional .video_widevine.DTCPUsageRules.FurtherBoundCopy further_copy = 16; +inline bool DTCPUsageRules::_internal_has_further_copy() const { + bool value = (_has_bits_[0] & 0x00008000u) != 0; + return value; +} +inline bool DTCPUsageRules::has_further_copy() const { + return _internal_has_further_copy(); +} +inline void DTCPUsageRules::clear_further_copy() { + further_copy_ = 0; + _has_bits_[0] &= ~0x00008000u; +} +inline ::video_widevine::DTCPUsageRules_FurtherBoundCopy DTCPUsageRules::_internal_further_copy() const { + return static_cast< ::video_widevine::DTCPUsageRules_FurtherBoundCopy >(further_copy_); +} +inline ::video_widevine::DTCPUsageRules_FurtherBoundCopy DTCPUsageRules::further_copy() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.further_copy) + return _internal_further_copy(); +} +inline void DTCPUsageRules::_internal_set_further_copy(::video_widevine::DTCPUsageRules_FurtherBoundCopy value) { + assert(::video_widevine::DTCPUsageRules_FurtherBoundCopy_IsValid(value)); + _has_bits_[0] |= 0x00008000u; + further_copy_ = value; +} +inline void DTCPUsageRules::set_further_copy(::video_widevine::DTCPUsageRules_FurtherBoundCopy value) { + _internal_set_further_copy(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.further_copy) +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ + +// @@protoc_insertion_point(namespace_scope) + +} // namespace video_widevine + +PROTOBUF_NAMESPACE_OPEN + +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_RetentionState> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_RetentionState>() { + return ::video_widevine::DTCPUsageRules_RetentionState_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_CopyControlInfo> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_CopyControlInfo>() { + return ::video_widevine::DTCPUsageRules_CopyControlInfo_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_AnalogProtectionSystem> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_AnalogProtectionSystem>() { + return ::video_widevine::DTCPUsageRules_AnalogProtectionSystem_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_ImageConstraintToken> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_ImageConstraintToken>() { + return ::video_widevine::DTCPUsageRules_ImageConstraintToken_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_AnalogSunsetToken> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_AnalogSunsetToken>() { + return ::video_widevine::DTCPUsageRules_AnalogSunsetToken_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_DigitalOnlyToken> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_DigitalOnlyToken>() { + return ::video_widevine::DTCPUsageRules_DigitalOnlyToken_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_AudioEnhancedToken> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_AudioEnhancedToken>() { + return ::video_widevine::DTCPUsageRules_AudioEnhancedToken_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_StandardDigitalOutputToken> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_StandardDigitalOutputToken>() { + return ::video_widevine::DTCPUsageRules_StandardDigitalOutputToken_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_HighDynamicRangeToken> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_HighDynamicRangeToken>() { + return ::video_widevine::DTCPUsageRules_HighDynamicRangeToken_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken>() { + return ::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_EnhancedImageToken> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_EnhancedImageToken>() { + return ::video_widevine::DTCPUsageRules_EnhancedImageToken_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_FurtherBoundCopy> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_FurtherBoundCopy>() { + return ::video_widevine::DTCPUsageRules_FurtherBoundCopy_descriptor(); +} + +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) + +#include +#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_protos_2fpublic_2fdtcp_5fusage_2eproto diff --git a/centos/protos/public/external_license.pb.h b/centos/protos/public/external_license.pb.h index e54b895..017ed53 100755 --- a/centos/protos/public/external_license.pb.h +++ b/centos/protos/public/external_license.pb.h @@ -49,7 +49,7 @@ struct TableStruct_protos_2fpublic_2fexternal_5flicense_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[4] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -63,6 +63,9 @@ extern EncryptedLicenseRequestDefaultTypeInternal _EncryptedLicenseRequest_defau class ExternalLicense; struct ExternalLicenseDefaultTypeInternal; extern ExternalLicenseDefaultTypeInternal _ExternalLicense_default_instance_; +class ExternalLicenseCustomData; +struct ExternalLicenseCustomDataDefaultTypeInternal; +extern ExternalLicenseCustomDataDefaultTypeInternal _ExternalLicenseCustomData_default_instance_; class ExternalLicenseRequest; struct ExternalLicenseRequestDefaultTypeInternal; extern ExternalLicenseRequestDefaultTypeInternal _ExternalLicenseRequest_default_instance_; @@ -70,6 +73,7 @@ extern ExternalLicenseRequestDefaultTypeInternal _ExternalLicenseRequest_default PROTOBUF_NAMESPACE_OPEN template<> ::video_widevine::EncryptedLicenseRequest* Arena::CreateMaybeMessage<::video_widevine::EncryptedLicenseRequest>(Arena*); template<> ::video_widevine::ExternalLicense* Arena::CreateMaybeMessage<::video_widevine::ExternalLicense>(Arena*); +template<> ::video_widevine::ExternalLicenseCustomData* Arena::CreateMaybeMessage<::video_widevine::ExternalLicenseCustomData>(Arena*); template<> ::video_widevine::ExternalLicenseRequest* Arena::CreateMaybeMessage<::video_widevine::ExternalLicenseRequest>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace video_widevine { @@ -471,6 +475,7 @@ class ExternalLicenseRequest final : // accessors ------------------------------------------------------- enum : int { + kOriginalLicenseFieldNumber = 8, kContentIdFieldNumber = 5, kRequestTypeFieldNumber = 1, kRequestTimeFieldNumber = 6, @@ -479,6 +484,24 @@ class ExternalLicenseRequest final : kClientIdFieldNumber = 3, kEncryptedClientIdFieldNumber = 4, }; + // optional bytes original_license = 8; + bool has_original_license() const; + private: + bool _internal_has_original_license() const; + public: + void clear_original_license(); + const std::string& original_license() const; + template + void set_original_license(ArgT0&& arg0, ArgT... args); + std::string* mutable_original_license(); + PROTOBUF_MUST_USE_RESULT std::string* release_original_license(); + void set_allocated_original_license(std::string* original_license); + private: + const std::string& _internal_original_license() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_original_license(const std::string& value); + std::string* _internal_mutable_original_license(); + public: + // optional .video_widevine.LicenseRequest.ContentIdentification content_id = 5; bool has_content_id() const; private: @@ -618,6 +641,7 @@ class ExternalLicenseRequest final : typedef void DestructorSkippable_; ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr original_license_; ::video_widevine::LicenseRequest_ContentIdentification* content_id_; int request_type_; ::PROTOBUF_NAMESPACE_ID::int64 request_time_; @@ -889,6 +913,177 @@ class ExternalLicense final : int license_type_; friend struct ::TableStruct_protos_2fpublic_2fexternal_5flicense_2eproto; }; +// ------------------------------------------------------------------- + +class ExternalLicenseCustomData final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.ExternalLicenseCustomData) */ { + public: + inline ExternalLicenseCustomData() : ExternalLicenseCustomData(nullptr) {} + ~ExternalLicenseCustomData() override; + explicit constexpr ExternalLicenseCustomData(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ExternalLicenseCustomData(const ExternalLicenseCustomData& from); + ExternalLicenseCustomData(ExternalLicenseCustomData&& from) noexcept + : ExternalLicenseCustomData() { + *this = ::std::move(from); + } + + inline ExternalLicenseCustomData& operator=(const ExternalLicenseCustomData& from) { + CopyFrom(from); + return *this; + } + inline ExternalLicenseCustomData& operator=(ExternalLicenseCustomData&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ExternalLicenseCustomData& default_instance() { + return *internal_default_instance(); + } + static inline const ExternalLicenseCustomData* internal_default_instance() { + return reinterpret_cast( + &_ExternalLicenseCustomData_default_instance_); + } + static constexpr int kIndexInFileMessages = + 3; + + friend void swap(ExternalLicenseCustomData& a, ExternalLicenseCustomData& b) { + a.Swap(&b); + } + inline void Swap(ExternalLicenseCustomData* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ExternalLicenseCustomData* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ExternalLicenseCustomData* New() const final { + return new ExternalLicenseCustomData(); + } + + ExternalLicenseCustomData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ExternalLicenseCustomData& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const ExternalLicenseCustomData& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ExternalLicenseCustomData* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "video_widevine.ExternalLicenseCustomData"; + } + protected: + explicit ExternalLicenseCustomData(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kLicenseIdFieldNumber = 1, + kOriginalPlaybackStartTimeSecondsFieldNumber = 2, + }; + // optional .video_widevine.LicenseIdentification license_id = 1; + bool has_license_id() const; + private: + bool _internal_has_license_id() const; + public: + void clear_license_id(); + const ::video_widevine::LicenseIdentification& license_id() const; + PROTOBUF_MUST_USE_RESULT ::video_widevine::LicenseIdentification* release_license_id(); + ::video_widevine::LicenseIdentification* mutable_license_id(); + void set_allocated_license_id(::video_widevine::LicenseIdentification* license_id); + private: + const ::video_widevine::LicenseIdentification& _internal_license_id() const; + ::video_widevine::LicenseIdentification* _internal_mutable_license_id(); + public: + void unsafe_arena_set_allocated_license_id( + ::video_widevine::LicenseIdentification* license_id); + ::video_widevine::LicenseIdentification* unsafe_arena_release_license_id(); + + // optional int64 original_playback_start_time_seconds = 2; + bool has_original_playback_start_time_seconds() const; + private: + bool _internal_has_original_playback_start_time_seconds() const; + public: + void clear_original_playback_start_time_seconds(); + ::PROTOBUF_NAMESPACE_ID::int64 original_playback_start_time_seconds() const; + void set_original_playback_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + private: + ::PROTOBUF_NAMESPACE_ID::int64 _internal_original_playback_start_time_seconds() const; + void _internal_set_original_playback_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + public: + + // @@protoc_insertion_point(class_scope:video_widevine.ExternalLicenseCustomData) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::video_widevine::LicenseIdentification* license_id_; + ::PROTOBUF_NAMESPACE_ID::int64 original_playback_start_time_seconds_; + friend struct ::TableStruct_protos_2fpublic_2fexternal_5flicense_2eproto; +}; // =================================================================== @@ -1196,7 +1391,7 @@ inline void EncryptedLicenseRequest::set_allocated_encrypted_privacy_key(std::st // optional .video_widevine.ExternalLicenseType request_type = 1; inline bool ExternalLicenseRequest::_internal_has_request_type() const { - bool value = (_has_bits_[0] & 0x00000002u) != 0; + bool value = (_has_bits_[0] & 0x00000004u) != 0; return value; } inline bool ExternalLicenseRequest::has_request_type() const { @@ -1204,7 +1399,7 @@ inline bool ExternalLicenseRequest::has_request_type() const { } inline void ExternalLicenseRequest::clear_request_type() { request_type_ = 0; - _has_bits_[0] &= ~0x00000002u; + _has_bits_[0] &= ~0x00000004u; } inline ::video_widevine::ExternalLicenseType ExternalLicenseRequest::_internal_request_type() const { return static_cast< ::video_widevine::ExternalLicenseType >(request_type_); @@ -1215,7 +1410,7 @@ inline ::video_widevine::ExternalLicenseType ExternalLicenseRequest::request_typ } inline void ExternalLicenseRequest::_internal_set_request_type(::video_widevine::ExternalLicenseType value) { assert(::video_widevine::ExternalLicenseType_IsValid(value)); - _has_bits_[0] |= 0x00000002u; + _has_bits_[0] |= 0x00000004u; request_type_ = value; } inline void ExternalLicenseRequest::set_request_type(::video_widevine::ExternalLicenseType value) { @@ -1513,7 +1708,7 @@ inline ::video_widevine::EncryptedClientIdentification* ExternalLicenseRequest:: // optional .video_widevine.LicenseRequest.ContentIdentification content_id = 5; inline bool ExternalLicenseRequest::_internal_has_content_id() const { - bool value = (_has_bits_[0] & 0x00000001u) != 0; + bool value = (_has_bits_[0] & 0x00000002u) != 0; PROTOBUF_ASSUME(!value || content_id_ != nullptr); return value; } @@ -1536,14 +1731,14 @@ inline void ExternalLicenseRequest::unsafe_arena_set_allocated_content_id( } content_id_ = content_id; if (content_id) { - _has_bits_[0] |= 0x00000001u; + _has_bits_[0] |= 0x00000002u; } else { - _has_bits_[0] &= ~0x00000001u; + _has_bits_[0] &= ~0x00000002u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:video_widevine.ExternalLicenseRequest.content_id) } inline ::video_widevine::LicenseRequest_ContentIdentification* ExternalLicenseRequest::release_content_id() { - _has_bits_[0] &= ~0x00000001u; + _has_bits_[0] &= ~0x00000002u; ::video_widevine::LicenseRequest_ContentIdentification* temp = content_id_; content_id_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE @@ -1559,13 +1754,13 @@ inline ::video_widevine::LicenseRequest_ContentIdentification* ExternalLicenseRe } inline ::video_widevine::LicenseRequest_ContentIdentification* ExternalLicenseRequest::unsafe_arena_release_content_id() { // @@protoc_insertion_point(field_release:video_widevine.ExternalLicenseRequest.content_id) - _has_bits_[0] &= ~0x00000001u; + _has_bits_[0] &= ~0x00000002u; ::video_widevine::LicenseRequest_ContentIdentification* temp = content_id_; content_id_ = nullptr; return temp; } inline ::video_widevine::LicenseRequest_ContentIdentification* ExternalLicenseRequest::_internal_mutable_content_id() { - _has_bits_[0] |= 0x00000001u; + _has_bits_[0] |= 0x00000002u; if (content_id_ == nullptr) { auto* p = CreateMaybeMessage<::video_widevine::LicenseRequest_ContentIdentification>(GetArenaForAllocation()); content_id_ = p; @@ -1591,9 +1786,9 @@ inline void ExternalLicenseRequest::set_allocated_content_id(::video_widevine::L content_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( message_arena, content_id, submessage_arena); } - _has_bits_[0] |= 0x00000001u; + _has_bits_[0] |= 0x00000002u; } else { - _has_bits_[0] &= ~0x00000001u; + _has_bits_[0] &= ~0x00000002u; } content_id_ = content_id; // @@protoc_insertion_point(field_set_allocated:video_widevine.ExternalLicenseRequest.content_id) @@ -1601,7 +1796,7 @@ inline void ExternalLicenseRequest::set_allocated_content_id(::video_widevine::L // optional int64 request_time = 6; inline bool ExternalLicenseRequest::_internal_has_request_time() const { - bool value = (_has_bits_[0] & 0x00000004u) != 0; + bool value = (_has_bits_[0] & 0x00000008u) != 0; return value; } inline bool ExternalLicenseRequest::has_request_time() const { @@ -1609,7 +1804,7 @@ inline bool ExternalLicenseRequest::has_request_time() const { } inline void ExternalLicenseRequest::clear_request_time() { request_time_ = int64_t{0}; - _has_bits_[0] &= ~0x00000004u; + _has_bits_[0] &= ~0x00000008u; } inline ::PROTOBUF_NAMESPACE_ID::int64 ExternalLicenseRequest::_internal_request_time() const { return request_time_; @@ -1619,7 +1814,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int64 ExternalLicenseRequest::request_time() con return _internal_request_time(); } inline void ExternalLicenseRequest::_internal_set_request_time(::PROTOBUF_NAMESPACE_ID::int64 value) { - _has_bits_[0] |= 0x00000004u; + _has_bits_[0] |= 0x00000008u; request_time_ = value; } inline void ExternalLicenseRequest::set_request_time(::PROTOBUF_NAMESPACE_ID::int64 value) { @@ -1627,6 +1822,64 @@ inline void ExternalLicenseRequest::set_request_time(::PROTOBUF_NAMESPACE_ID::in // @@protoc_insertion_point(field_set:video_widevine.ExternalLicenseRequest.request_time) } +// optional bytes original_license = 8; +inline bool ExternalLicenseRequest::_internal_has_original_license() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool ExternalLicenseRequest::has_original_license() const { + return _internal_has_original_license(); +} +inline void ExternalLicenseRequest::clear_original_license() { + original_license_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000001u; +} +inline const std::string& ExternalLicenseRequest::original_license() const { + // @@protoc_insertion_point(field_get:video_widevine.ExternalLicenseRequest.original_license) + return _internal_original_license(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ExternalLicenseRequest::set_original_license(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000001u; + original_license_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:video_widevine.ExternalLicenseRequest.original_license) +} +inline std::string* ExternalLicenseRequest::mutable_original_license() { + std::string* _s = _internal_mutable_original_license(); + // @@protoc_insertion_point(field_mutable:video_widevine.ExternalLicenseRequest.original_license) + return _s; +} +inline const std::string& ExternalLicenseRequest::_internal_original_license() const { + return original_license_.Get(); +} +inline void ExternalLicenseRequest::_internal_set_original_license(const std::string& value) { + _has_bits_[0] |= 0x00000001u; + original_license_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* ExternalLicenseRequest::_internal_mutable_original_license() { + _has_bits_[0] |= 0x00000001u; + return original_license_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* ExternalLicenseRequest::release_original_license() { + // @@protoc_insertion_point(field_release:video_widevine.ExternalLicenseRequest.original_license) + if (!_internal_has_original_license()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000001u; + return original_license_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void ExternalLicenseRequest::set_allocated_original_license(std::string* original_license) { + if (original_license != nullptr) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + original_license_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), original_license, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:video_widevine.ExternalLicenseRequest.original_license) +} + inline bool ExternalLicenseRequest::has_clear_or_encrypted_request() const { return clear_or_encrypted_request_case() != CLEAR_OR_ENCRYPTED_REQUEST_NOT_SET; } @@ -1985,6 +2238,126 @@ inline void ExternalLicense::set_allocated_provider_client_token(std::string* pr // @@protoc_insertion_point(field_set_allocated:video_widevine.ExternalLicense.provider_client_token) } +// ------------------------------------------------------------------- + +// ExternalLicenseCustomData + +// optional .video_widevine.LicenseIdentification license_id = 1; +inline bool ExternalLicenseCustomData::_internal_has_license_id() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || license_id_ != nullptr); + return value; +} +inline bool ExternalLicenseCustomData::has_license_id() const { + return _internal_has_license_id(); +} +inline const ::video_widevine::LicenseIdentification& ExternalLicenseCustomData::_internal_license_id() const { + const ::video_widevine::LicenseIdentification* p = license_id_; + return p != nullptr ? *p : reinterpret_cast( + ::video_widevine::_LicenseIdentification_default_instance_); +} +inline const ::video_widevine::LicenseIdentification& ExternalLicenseCustomData::license_id() const { + // @@protoc_insertion_point(field_get:video_widevine.ExternalLicenseCustomData.license_id) + return _internal_license_id(); +} +inline void ExternalLicenseCustomData::unsafe_arena_set_allocated_license_id( + ::video_widevine::LicenseIdentification* license_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(license_id_); + } + license_id_ = license_id; + if (license_id) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:video_widevine.ExternalLicenseCustomData.license_id) +} +inline ::video_widevine::LicenseIdentification* ExternalLicenseCustomData::release_license_id() { + _has_bits_[0] &= ~0x00000001u; + ::video_widevine::LicenseIdentification* temp = license_id_; + license_id_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::video_widevine::LicenseIdentification* ExternalLicenseCustomData::unsafe_arena_release_license_id() { + // @@protoc_insertion_point(field_release:video_widevine.ExternalLicenseCustomData.license_id) + _has_bits_[0] &= ~0x00000001u; + ::video_widevine::LicenseIdentification* temp = license_id_; + license_id_ = nullptr; + return temp; +} +inline ::video_widevine::LicenseIdentification* ExternalLicenseCustomData::_internal_mutable_license_id() { + _has_bits_[0] |= 0x00000001u; + if (license_id_ == nullptr) { + auto* p = CreateMaybeMessage<::video_widevine::LicenseIdentification>(GetArenaForAllocation()); + license_id_ = p; + } + return license_id_; +} +inline ::video_widevine::LicenseIdentification* ExternalLicenseCustomData::mutable_license_id() { + ::video_widevine::LicenseIdentification* _msg = _internal_mutable_license_id(); + // @@protoc_insertion_point(field_mutable:video_widevine.ExternalLicenseCustomData.license_id) + return _msg; +} +inline void ExternalLicenseCustomData::set_allocated_license_id(::video_widevine::LicenseIdentification* license_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(license_id_); + } + if (license_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(license_id)); + if (message_arena != submessage_arena) { + license_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, license_id, submessage_arena); + } + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + license_id_ = license_id; + // @@protoc_insertion_point(field_set_allocated:video_widevine.ExternalLicenseCustomData.license_id) +} + +// optional int64 original_playback_start_time_seconds = 2; +inline bool ExternalLicenseCustomData::_internal_has_original_playback_start_time_seconds() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool ExternalLicenseCustomData::has_original_playback_start_time_seconds() const { + return _internal_has_original_playback_start_time_seconds(); +} +inline void ExternalLicenseCustomData::clear_original_playback_start_time_seconds() { + original_playback_start_time_seconds_ = int64_t{0}; + _has_bits_[0] &= ~0x00000002u; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 ExternalLicenseCustomData::_internal_original_playback_start_time_seconds() const { + return original_playback_start_time_seconds_; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 ExternalLicenseCustomData::original_playback_start_time_seconds() const { + // @@protoc_insertion_point(field_get:video_widevine.ExternalLicenseCustomData.original_playback_start_time_seconds) + return _internal_original_playback_start_time_seconds(); +} +inline void ExternalLicenseCustomData::_internal_set_original_playback_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _has_bits_[0] |= 0x00000002u; + original_playback_start_time_seconds_ = value; +} +inline void ExternalLicenseCustomData::set_original_playback_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _internal_set_original_playback_start_time_seconds(value); + // @@protoc_insertion_point(field_set:video_widevine.ExternalLicenseCustomData.original_playback_start_time_seconds) +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ @@ -1992,6 +2365,8 @@ inline void ExternalLicense::set_allocated_provider_client_token(std::string* pr // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/centos/protos/public/license_protocol.pb.h b/centos/protos/public/license_protocol.pb.h index efa998c..af806ef 100755 --- a/centos/protos/public/license_protocol.pb.h +++ b/centos/protos/public/license_protocol.pb.h @@ -34,6 +34,7 @@ #include #include "protos/public/client_identification.pb.h" #include "protos/public/drm_certificate.pb.h" +#include "protos/public/dtcp_usage.pb.h" #include "protos/public/hash_algorithm.pb.h" #include "protos/public/remote_attestation.pb.h" // @@protoc_insertion_point(includes) @@ -176,6 +177,30 @@ inline bool LicenseCategorySpec_LicenseCategory_Parse( return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( LicenseCategorySpec_LicenseCategory_descriptor(), name, value); } +enum License_Policy_WatermarkingControl : int { + License_Policy_WatermarkingControl_WATERMARKING_CONTROL_UNSPECIFIED = 0, + License_Policy_WatermarkingControl_WATERMARKING_FORBIDDEN = 1, + License_Policy_WatermarkingControl_WATERMARKING_REQUIRED = 2 +}; +bool License_Policy_WatermarkingControl_IsValid(int value); +constexpr License_Policy_WatermarkingControl License_Policy_WatermarkingControl_WatermarkingControl_MIN = License_Policy_WatermarkingControl_WATERMARKING_CONTROL_UNSPECIFIED; +constexpr License_Policy_WatermarkingControl License_Policy_WatermarkingControl_WatermarkingControl_MAX = License_Policy_WatermarkingControl_WATERMARKING_REQUIRED; +constexpr int License_Policy_WatermarkingControl_WatermarkingControl_ARRAYSIZE = License_Policy_WatermarkingControl_WatermarkingControl_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* License_Policy_WatermarkingControl_descriptor(); +template +inline const std::string& License_Policy_WatermarkingControl_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function License_Policy_WatermarkingControl_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + License_Policy_WatermarkingControl_descriptor(), enum_t_value); +} +inline bool License_Policy_WatermarkingControl_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, License_Policy_WatermarkingControl* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + License_Policy_WatermarkingControl_descriptor(), name, value); +} enum License_KeyContainer_OutputProtection_HDCP : int { License_KeyContainer_OutputProtection_HDCP_HDCP_NONE = 0, License_KeyContainer_OutputProtection_HDCP_HDCP_V1 = 1, @@ -282,11 +307,12 @@ enum License_KeyContainer_KeyType : int { License_KeyContainer_KeyType_OPERATOR_SESSION = 4, License_KeyContainer_KeyType_ENTITLEMENT = 5, License_KeyContainer_KeyType_OEM_CONTENT = 6, - License_KeyContainer_KeyType_PROVIDER_ECM_VERIFIER_PUBLIC_KEY = 7 + License_KeyContainer_KeyType_PROVIDER_ECM_VERIFIER_PUBLIC_KEY = 7, + License_KeyContainer_KeyType_OEM_ENTITLEMENT = 8 }; bool License_KeyContainer_KeyType_IsValid(int value); constexpr License_KeyContainer_KeyType License_KeyContainer_KeyType_KeyType_MIN = License_KeyContainer_KeyType_SIGNING; -constexpr License_KeyContainer_KeyType License_KeyContainer_KeyType_KeyType_MAX = License_KeyContainer_KeyType_PROVIDER_ECM_VERIFIER_PUBLIC_KEY; +constexpr License_KeyContainer_KeyType License_KeyContainer_KeyType_KeyType_MAX = License_KeyContainer_KeyType_OEM_ENTITLEMENT; constexpr int License_KeyContainer_KeyType_KeyType_ARRAYSIZE = License_KeyContainer_KeyType_KeyType_MAX + 1; const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* License_KeyContainer_KeyType_descriptor(); @@ -685,6 +711,8 @@ class LicenseIdentification final : kOriginalRentalDurationSecondsFieldNumber = 7, kOriginalPlaybackDurationSecondsFieldNumber = 8, kOriginalStartTimeSecondsFieldNumber = 9, + kOriginalRenewalRecoveryDurationSecondsFieldNumber = 10, + kOriginalRenewalDelaySecondsFieldNumber = 11, kVersionFieldNumber = 5, kTypeFieldNumber = 4, }; @@ -799,6 +827,32 @@ class LicenseIdentification final : void _internal_set_original_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); public: + // optional int64 original_renewal_recovery_duration_seconds = 10; + bool has_original_renewal_recovery_duration_seconds() const; + private: + bool _internal_has_original_renewal_recovery_duration_seconds() const; + public: + void clear_original_renewal_recovery_duration_seconds(); + ::PROTOBUF_NAMESPACE_ID::int64 original_renewal_recovery_duration_seconds() const; + void set_original_renewal_recovery_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + private: + ::PROTOBUF_NAMESPACE_ID::int64 _internal_original_renewal_recovery_duration_seconds() const; + void _internal_set_original_renewal_recovery_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + public: + + // optional int64 original_renewal_delay_seconds = 11; + bool has_original_renewal_delay_seconds() const; + private: + bool _internal_has_original_renewal_delay_seconds() const; + public: + void clear_original_renewal_delay_seconds(); + ::PROTOBUF_NAMESPACE_ID::int64 original_renewal_delay_seconds() const; + void set_original_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + private: + ::PROTOBUF_NAMESPACE_ID::int64 _internal_original_renewal_delay_seconds() const; + void _internal_set_original_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + public: + // optional int32 version = 5; bool has_version() const; private: @@ -841,6 +895,8 @@ class LicenseIdentification final : ::PROTOBUF_NAMESPACE_ID::int64 original_rental_duration_seconds_; ::PROTOBUF_NAMESPACE_ID::int64 original_playback_duration_seconds_; ::PROTOBUF_NAMESPACE_ID::int64 original_start_time_seconds_; + ::PROTOBUF_NAMESPACE_ID::int64 original_renewal_recovery_duration_seconds_; + ::PROTOBUF_NAMESPACE_ID::int64 original_renewal_delay_seconds_; ::PROTOBUF_NAMESPACE_ID::int32 version_; int type_; friend struct ::TableStruct_protos_2fpublic_2flicense_5fprotocol_2eproto; @@ -1379,10 +1435,43 @@ class License_Policy final : // nested types ---------------------------------------------------- + typedef License_Policy_WatermarkingControl WatermarkingControl; + static constexpr WatermarkingControl WATERMARKING_CONTROL_UNSPECIFIED = + License_Policy_WatermarkingControl_WATERMARKING_CONTROL_UNSPECIFIED; + static constexpr WatermarkingControl WATERMARKING_FORBIDDEN = + License_Policy_WatermarkingControl_WATERMARKING_FORBIDDEN; + static constexpr WatermarkingControl WATERMARKING_REQUIRED = + License_Policy_WatermarkingControl_WATERMARKING_REQUIRED; + static inline bool WatermarkingControl_IsValid(int value) { + return License_Policy_WatermarkingControl_IsValid(value); + } + static constexpr WatermarkingControl WatermarkingControl_MIN = + License_Policy_WatermarkingControl_WatermarkingControl_MIN; + static constexpr WatermarkingControl WatermarkingControl_MAX = + License_Policy_WatermarkingControl_WatermarkingControl_MAX; + static constexpr int WatermarkingControl_ARRAYSIZE = + License_Policy_WatermarkingControl_WatermarkingControl_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + WatermarkingControl_descriptor() { + return License_Policy_WatermarkingControl_descriptor(); + } + template + static inline const std::string& WatermarkingControl_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function WatermarkingControl_Name."); + return License_Policy_WatermarkingControl_Name(enum_t_value); + } + static inline bool WatermarkingControl_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + WatermarkingControl* value) { + return License_Policy_WatermarkingControl_Parse(name, value); + } + // accessors ------------------------------------------------------- enum : int { kRenewalServerUrlFieldNumber = 8, + kDtcp2FieldNumber = 17, kRentalDurationSecondsFieldNumber = 4, kPlaybackDurationSecondsFieldNumber = 5, kLicenseDurationSecondsFieldNumber = 6, @@ -1396,6 +1485,7 @@ class License_Policy final : kRenewalDelaySecondsFieldNumber = 9, kRenewalRetryIntervalSecondsFieldNumber = 10, kPlayStartGracePeriodSecondsFieldNumber = 13, + kWatermarkingControlFieldNumber = 16, kSoftEnforceRentalDurationFieldNumber = 15, }; // optional string renewal_server_url = 8; @@ -1416,6 +1506,24 @@ class License_Policy final : std::string* _internal_mutable_renewal_server_url(); public: + // optional .video_widevine.DTCPUsageRules dtcp2 = 17; + bool has_dtcp2() const; + private: + bool _internal_has_dtcp2() const; + public: + void clear_dtcp2(); + const ::video_widevine::DTCPUsageRules& dtcp2() const; + PROTOBUF_MUST_USE_RESULT ::video_widevine::DTCPUsageRules* release_dtcp2(); + ::video_widevine::DTCPUsageRules* mutable_dtcp2(); + void set_allocated_dtcp2(::video_widevine::DTCPUsageRules* dtcp2); + private: + const ::video_widevine::DTCPUsageRules& _internal_dtcp2() const; + ::video_widevine::DTCPUsageRules* _internal_mutable_dtcp2(); + public: + void unsafe_arena_set_allocated_dtcp2( + ::video_widevine::DTCPUsageRules* dtcp2); + ::video_widevine::DTCPUsageRules* unsafe_arena_release_dtcp2(); + // optional int64 rental_duration_seconds = 4 [default = 0]; bool has_rental_duration_seconds() const; private: @@ -1585,6 +1693,19 @@ class License_Policy final : void _internal_set_play_start_grace_period_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); public: + // optional .video_widevine.License.Policy.WatermarkingControl watermarking_control = 16 [default = WATERMARKING_CONTROL_UNSPECIFIED]; + bool has_watermarking_control() const; + private: + bool _internal_has_watermarking_control() const; + public: + void clear_watermarking_control(); + ::video_widevine::License_Policy_WatermarkingControl watermarking_control() const; + void set_watermarking_control(::video_widevine::License_Policy_WatermarkingControl value); + private: + ::video_widevine::License_Policy_WatermarkingControl _internal_watermarking_control() const; + void _internal_set_watermarking_control(::video_widevine::License_Policy_WatermarkingControl value); + public: + // optional bool soft_enforce_rental_duration = 15 [default = true]; bool has_soft_enforce_rental_duration() const; private: @@ -1608,6 +1729,7 @@ class License_Policy final : ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr renewal_server_url_; + ::video_widevine::DTCPUsageRules* dtcp2_; ::PROTOBUF_NAMESPACE_ID::int64 rental_duration_seconds_; ::PROTOBUF_NAMESPACE_ID::int64 playback_duration_seconds_; ::PROTOBUF_NAMESPACE_ID::int64 license_duration_seconds_; @@ -1621,6 +1743,7 @@ class License_Policy final : ::PROTOBUF_NAMESPACE_ID::int64 renewal_delay_seconds_; ::PROTOBUF_NAMESPACE_ID::int64 renewal_retry_interval_seconds_; ::PROTOBUF_NAMESPACE_ID::int64 play_start_grace_period_seconds_; + int watermarking_control_; bool soft_enforce_rental_duration_; friend struct ::TableStruct_protos_2fpublic_2flicense_5fprotocol_2eproto; }; @@ -2894,6 +3017,8 @@ class License_KeyContainer final : License_KeyContainer_KeyType_OEM_CONTENT; static constexpr KeyType PROVIDER_ECM_VERIFIER_PUBLIC_KEY = License_KeyContainer_KeyType_PROVIDER_ECM_VERIFIER_PUBLIC_KEY; + static constexpr KeyType OEM_ENTITLEMENT = + License_KeyContainer_KeyType_OEM_ENTITLEMENT; static inline bool KeyType_IsValid(int value) { return License_KeyContainer_KeyType_IsValid(value); } @@ -3353,6 +3478,7 @@ class License final : kLicenseStartTimeFieldNumber = 4, kRemoteAttestationVerifiedFieldNumber = 5, kProtectionSchemeFieldNumber = 7, + kProviderKeyIdFieldNumber = 13, kPlatformVerificationStatusFieldNumber = 10, }; // repeated .video_widevine.License.KeyContainer key = 3; @@ -3544,6 +3670,19 @@ class License final : void _internal_set_protection_scheme(::PROTOBUF_NAMESPACE_ID::uint32 value); public: + // optional uint32 provider_key_id = 13; + bool has_provider_key_id() const; + private: + bool _internal_has_provider_key_id() const; + public: + void clear_provider_key_id(); + ::PROTOBUF_NAMESPACE_ID::uint32 provider_key_id() const; + void set_provider_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_provider_key_id() const; + void _internal_set_provider_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + // optional .video_widevine.PlatformVerificationStatus platform_verification_status = 10 [default = PLATFORM_NO_VERIFICATION]; bool has_platform_verification_status() const; private: @@ -3577,6 +3716,7 @@ class License final : ::PROTOBUF_NAMESPACE_ID::int64 license_start_time_; bool remote_attestation_verified_; ::PROTOBUF_NAMESPACE_ID::uint32 protection_scheme_; + ::PROTOBUF_NAMESPACE_ID::uint32 provider_key_id_; int platform_verification_status_; friend struct ::TableStruct_protos_2fpublic_2flicense_5fprotocol_2eproto; }; @@ -6299,7 +6439,7 @@ inline void LicenseIdentification::set_allocated_purchase_id(std::string* purcha // optional .video_widevine.LicenseType type = 4; inline bool LicenseIdentification::_internal_has_type() const { - bool value = (_has_bits_[0] & 0x00000100u) != 0; + bool value = (_has_bits_[0] & 0x00000400u) != 0; return value; } inline bool LicenseIdentification::has_type() const { @@ -6307,7 +6447,7 @@ inline bool LicenseIdentification::has_type() const { } inline void LicenseIdentification::clear_type() { type_ = 1; - _has_bits_[0] &= ~0x00000100u; + _has_bits_[0] &= ~0x00000400u; } inline ::video_widevine::LicenseType LicenseIdentification::_internal_type() const { return static_cast< ::video_widevine::LicenseType >(type_); @@ -6318,7 +6458,7 @@ inline ::video_widevine::LicenseType LicenseIdentification::type() const { } inline void LicenseIdentification::_internal_set_type(::video_widevine::LicenseType value) { assert(::video_widevine::LicenseType_IsValid(value)); - _has_bits_[0] |= 0x00000100u; + _has_bits_[0] |= 0x00000400u; type_ = value; } inline void LicenseIdentification::set_type(::video_widevine::LicenseType value) { @@ -6328,7 +6468,7 @@ inline void LicenseIdentification::set_type(::video_widevine::LicenseType value) // optional int32 version = 5; inline bool LicenseIdentification::_internal_has_version() const { - bool value = (_has_bits_[0] & 0x00000080u) != 0; + bool value = (_has_bits_[0] & 0x00000200u) != 0; return value; } inline bool LicenseIdentification::has_version() const { @@ -6336,7 +6476,7 @@ inline bool LicenseIdentification::has_version() const { } inline void LicenseIdentification::clear_version() { version_ = 0; - _has_bits_[0] &= ~0x00000080u; + _has_bits_[0] &= ~0x00000200u; } inline ::PROTOBUF_NAMESPACE_ID::int32 LicenseIdentification::_internal_version() const { return version_; @@ -6346,7 +6486,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int32 LicenseIdentification::version() const { return _internal_version(); } inline void LicenseIdentification::_internal_set_version(::PROTOBUF_NAMESPACE_ID::int32 value) { - _has_bits_[0] |= 0x00000080u; + _has_bits_[0] |= 0x00000200u; version_ = value; } inline void LicenseIdentification::set_version(::PROTOBUF_NAMESPACE_ID::int32 value) { @@ -6496,6 +6636,62 @@ inline void LicenseIdentification::set_original_start_time_seconds(::PROTOBUF_NA // @@protoc_insertion_point(field_set:video_widevine.LicenseIdentification.original_start_time_seconds) } +// optional int64 original_renewal_recovery_duration_seconds = 10; +inline bool LicenseIdentification::_internal_has_original_renewal_recovery_duration_seconds() const { + bool value = (_has_bits_[0] & 0x00000080u) != 0; + return value; +} +inline bool LicenseIdentification::has_original_renewal_recovery_duration_seconds() const { + return _internal_has_original_renewal_recovery_duration_seconds(); +} +inline void LicenseIdentification::clear_original_renewal_recovery_duration_seconds() { + original_renewal_recovery_duration_seconds_ = int64_t{0}; + _has_bits_[0] &= ~0x00000080u; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 LicenseIdentification::_internal_original_renewal_recovery_duration_seconds() const { + return original_renewal_recovery_duration_seconds_; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 LicenseIdentification::original_renewal_recovery_duration_seconds() const { + // @@protoc_insertion_point(field_get:video_widevine.LicenseIdentification.original_renewal_recovery_duration_seconds) + return _internal_original_renewal_recovery_duration_seconds(); +} +inline void LicenseIdentification::_internal_set_original_renewal_recovery_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _has_bits_[0] |= 0x00000080u; + original_renewal_recovery_duration_seconds_ = value; +} +inline void LicenseIdentification::set_original_renewal_recovery_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _internal_set_original_renewal_recovery_duration_seconds(value); + // @@protoc_insertion_point(field_set:video_widevine.LicenseIdentification.original_renewal_recovery_duration_seconds) +} + +// optional int64 original_renewal_delay_seconds = 11; +inline bool LicenseIdentification::_internal_has_original_renewal_delay_seconds() const { + bool value = (_has_bits_[0] & 0x00000100u) != 0; + return value; +} +inline bool LicenseIdentification::has_original_renewal_delay_seconds() const { + return _internal_has_original_renewal_delay_seconds(); +} +inline void LicenseIdentification::clear_original_renewal_delay_seconds() { + original_renewal_delay_seconds_ = int64_t{0}; + _has_bits_[0] &= ~0x00000100u; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 LicenseIdentification::_internal_original_renewal_delay_seconds() const { + return original_renewal_delay_seconds_; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 LicenseIdentification::original_renewal_delay_seconds() const { + // @@protoc_insertion_point(field_get:video_widevine.LicenseIdentification.original_renewal_delay_seconds) + return _internal_original_renewal_delay_seconds(); +} +inline void LicenseIdentification::_internal_set_original_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _has_bits_[0] |= 0x00000100u; + original_renewal_delay_seconds_ = value; +} +inline void LicenseIdentification::set_original_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _internal_set_original_renewal_delay_seconds(value); + // @@protoc_insertion_point(field_set:video_widevine.LicenseIdentification.original_renewal_delay_seconds) +} + // ------------------------------------------------------------------- // LicenseCategorySpec @@ -6799,7 +6995,7 @@ inline void ProxyInfo::set_allocated_sdk_version(std::string* sdk_version) { // optional bool can_play = 1 [default = false]; inline bool License_Policy::_internal_has_can_play() const { - bool value = (_has_bits_[0] & 0x00000020u) != 0; + bool value = (_has_bits_[0] & 0x00000040u) != 0; return value; } inline bool License_Policy::has_can_play() const { @@ -6807,7 +7003,7 @@ inline bool License_Policy::has_can_play() const { } inline void License_Policy::clear_can_play() { can_play_ = false; - _has_bits_[0] &= ~0x00000020u; + _has_bits_[0] &= ~0x00000040u; } inline bool License_Policy::_internal_can_play() const { return can_play_; @@ -6817,7 +7013,7 @@ inline bool License_Policy::can_play() const { return _internal_can_play(); } inline void License_Policy::_internal_set_can_play(bool value) { - _has_bits_[0] |= 0x00000020u; + _has_bits_[0] |= 0x00000040u; can_play_ = value; } inline void License_Policy::set_can_play(bool value) { @@ -6827,7 +7023,7 @@ inline void License_Policy::set_can_play(bool value) { // optional bool can_persist = 2 [default = false]; inline bool License_Policy::_internal_has_can_persist() const { - bool value = (_has_bits_[0] & 0x00000040u) != 0; + bool value = (_has_bits_[0] & 0x00000080u) != 0; return value; } inline bool License_Policy::has_can_persist() const { @@ -6835,7 +7031,7 @@ inline bool License_Policy::has_can_persist() const { } inline void License_Policy::clear_can_persist() { can_persist_ = false; - _has_bits_[0] &= ~0x00000040u; + _has_bits_[0] &= ~0x00000080u; } inline bool License_Policy::_internal_can_persist() const { return can_persist_; @@ -6845,7 +7041,7 @@ inline bool License_Policy::can_persist() const { return _internal_can_persist(); } inline void License_Policy::_internal_set_can_persist(bool value) { - _has_bits_[0] |= 0x00000040u; + _has_bits_[0] |= 0x00000080u; can_persist_ = value; } inline void License_Policy::set_can_persist(bool value) { @@ -6855,7 +7051,7 @@ inline void License_Policy::set_can_persist(bool value) { // optional bool can_renew = 3 [default = false]; inline bool License_Policy::_internal_has_can_renew() const { - bool value = (_has_bits_[0] & 0x00000080u) != 0; + bool value = (_has_bits_[0] & 0x00000100u) != 0; return value; } inline bool License_Policy::has_can_renew() const { @@ -6863,7 +7059,7 @@ inline bool License_Policy::has_can_renew() const { } inline void License_Policy::clear_can_renew() { can_renew_ = false; - _has_bits_[0] &= ~0x00000080u; + _has_bits_[0] &= ~0x00000100u; } inline bool License_Policy::_internal_can_renew() const { return can_renew_; @@ -6873,7 +7069,7 @@ inline bool License_Policy::can_renew() const { return _internal_can_renew(); } inline void License_Policy::_internal_set_can_renew(bool value) { - _has_bits_[0] |= 0x00000080u; + _has_bits_[0] |= 0x00000100u; can_renew_ = value; } inline void License_Policy::set_can_renew(bool value) { @@ -6883,7 +7079,7 @@ inline void License_Policy::set_can_renew(bool value) { // optional int64 rental_duration_seconds = 4 [default = 0]; inline bool License_Policy::_internal_has_rental_duration_seconds() const { - bool value = (_has_bits_[0] & 0x00000002u) != 0; + bool value = (_has_bits_[0] & 0x00000004u) != 0; return value; } inline bool License_Policy::has_rental_duration_seconds() const { @@ -6891,7 +7087,7 @@ inline bool License_Policy::has_rental_duration_seconds() const { } inline void License_Policy::clear_rental_duration_seconds() { rental_duration_seconds_ = int64_t{0}; - _has_bits_[0] &= ~0x00000002u; + _has_bits_[0] &= ~0x00000004u; } inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::_internal_rental_duration_seconds() const { return rental_duration_seconds_; @@ -6901,7 +7097,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::rental_duration_seconds() return _internal_rental_duration_seconds(); } inline void License_Policy::_internal_set_rental_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { - _has_bits_[0] |= 0x00000002u; + _has_bits_[0] |= 0x00000004u; rental_duration_seconds_ = value; } inline void License_Policy::set_rental_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { @@ -6911,7 +7107,7 @@ inline void License_Policy::set_rental_duration_seconds(::PROTOBUF_NAMESPACE_ID: // optional int64 playback_duration_seconds = 5 [default = 0]; inline bool License_Policy::_internal_has_playback_duration_seconds() const { - bool value = (_has_bits_[0] & 0x00000004u) != 0; + bool value = (_has_bits_[0] & 0x00000008u) != 0; return value; } inline bool License_Policy::has_playback_duration_seconds() const { @@ -6919,7 +7115,7 @@ inline bool License_Policy::has_playback_duration_seconds() const { } inline void License_Policy::clear_playback_duration_seconds() { playback_duration_seconds_ = int64_t{0}; - _has_bits_[0] &= ~0x00000004u; + _has_bits_[0] &= ~0x00000008u; } inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::_internal_playback_duration_seconds() const { return playback_duration_seconds_; @@ -6929,7 +7125,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::playback_duration_seconds( return _internal_playback_duration_seconds(); } inline void License_Policy::_internal_set_playback_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { - _has_bits_[0] |= 0x00000004u; + _has_bits_[0] |= 0x00000008u; playback_duration_seconds_ = value; } inline void License_Policy::set_playback_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { @@ -6939,7 +7135,7 @@ inline void License_Policy::set_playback_duration_seconds(::PROTOBUF_NAMESPACE_I // optional int64 license_duration_seconds = 6 [default = 0]; inline bool License_Policy::_internal_has_license_duration_seconds() const { - bool value = (_has_bits_[0] & 0x00000008u) != 0; + bool value = (_has_bits_[0] & 0x00000010u) != 0; return value; } inline bool License_Policy::has_license_duration_seconds() const { @@ -6947,7 +7143,7 @@ inline bool License_Policy::has_license_duration_seconds() const { } inline void License_Policy::clear_license_duration_seconds() { license_duration_seconds_ = int64_t{0}; - _has_bits_[0] &= ~0x00000008u; + _has_bits_[0] &= ~0x00000010u; } inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::_internal_license_duration_seconds() const { return license_duration_seconds_; @@ -6957,7 +7153,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::license_duration_seconds() return _internal_license_duration_seconds(); } inline void License_Policy::_internal_set_license_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { - _has_bits_[0] |= 0x00000008u; + _has_bits_[0] |= 0x00000010u; license_duration_seconds_ = value; } inline void License_Policy::set_license_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { @@ -6967,7 +7163,7 @@ inline void License_Policy::set_license_duration_seconds(::PROTOBUF_NAMESPACE_ID // optional int64 renewal_recovery_duration_seconds = 7 [default = 0]; inline bool License_Policy::_internal_has_renewal_recovery_duration_seconds() const { - bool value = (_has_bits_[0] & 0x00000010u) != 0; + bool value = (_has_bits_[0] & 0x00000020u) != 0; return value; } inline bool License_Policy::has_renewal_recovery_duration_seconds() const { @@ -6975,7 +7171,7 @@ inline bool License_Policy::has_renewal_recovery_duration_seconds() const { } inline void License_Policy::clear_renewal_recovery_duration_seconds() { renewal_recovery_duration_seconds_ = int64_t{0}; - _has_bits_[0] &= ~0x00000010u; + _has_bits_[0] &= ~0x00000020u; } inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::_internal_renewal_recovery_duration_seconds() const { return renewal_recovery_duration_seconds_; @@ -6985,7 +7181,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::renewal_recovery_duration_ return _internal_renewal_recovery_duration_seconds(); } inline void License_Policy::_internal_set_renewal_recovery_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { - _has_bits_[0] |= 0x00000010u; + _has_bits_[0] |= 0x00000020u; renewal_recovery_duration_seconds_ = value; } inline void License_Policy::set_renewal_recovery_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { @@ -7053,7 +7249,7 @@ inline void License_Policy::set_allocated_renewal_server_url(std::string* renewa // optional int64 renewal_delay_seconds = 9 [default = 0]; inline bool License_Policy::_internal_has_renewal_delay_seconds() const { - bool value = (_has_bits_[0] & 0x00000800u) != 0; + bool value = (_has_bits_[0] & 0x00001000u) != 0; return value; } inline bool License_Policy::has_renewal_delay_seconds() const { @@ -7061,7 +7257,7 @@ inline bool License_Policy::has_renewal_delay_seconds() const { } inline void License_Policy::clear_renewal_delay_seconds() { renewal_delay_seconds_ = int64_t{0}; - _has_bits_[0] &= ~0x00000800u; + _has_bits_[0] &= ~0x00001000u; } inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::_internal_renewal_delay_seconds() const { return renewal_delay_seconds_; @@ -7071,7 +7267,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::renewal_delay_seconds() co return _internal_renewal_delay_seconds(); } inline void License_Policy::_internal_set_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { - _has_bits_[0] |= 0x00000800u; + _has_bits_[0] |= 0x00001000u; renewal_delay_seconds_ = value; } inline void License_Policy::set_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { @@ -7081,7 +7277,7 @@ inline void License_Policy::set_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::i // optional int64 renewal_retry_interval_seconds = 10 [default = 0]; inline bool License_Policy::_internal_has_renewal_retry_interval_seconds() const { - bool value = (_has_bits_[0] & 0x00001000u) != 0; + bool value = (_has_bits_[0] & 0x00002000u) != 0; return value; } inline bool License_Policy::has_renewal_retry_interval_seconds() const { @@ -7089,7 +7285,7 @@ inline bool License_Policy::has_renewal_retry_interval_seconds() const { } inline void License_Policy::clear_renewal_retry_interval_seconds() { renewal_retry_interval_seconds_ = int64_t{0}; - _has_bits_[0] &= ~0x00001000u; + _has_bits_[0] &= ~0x00002000u; } inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::_internal_renewal_retry_interval_seconds() const { return renewal_retry_interval_seconds_; @@ -7099,7 +7295,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::renewal_retry_interval_sec return _internal_renewal_retry_interval_seconds(); } inline void License_Policy::_internal_set_renewal_retry_interval_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { - _has_bits_[0] |= 0x00001000u; + _has_bits_[0] |= 0x00002000u; renewal_retry_interval_seconds_ = value; } inline void License_Policy::set_renewal_retry_interval_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { @@ -7109,7 +7305,7 @@ inline void License_Policy::set_renewal_retry_interval_seconds(::PROTOBUF_NAMESP // optional bool renew_with_usage = 11 [default = false]; inline bool License_Policy::_internal_has_renew_with_usage() const { - bool value = (_has_bits_[0] & 0x00000100u) != 0; + bool value = (_has_bits_[0] & 0x00000200u) != 0; return value; } inline bool License_Policy::has_renew_with_usage() const { @@ -7117,7 +7313,7 @@ inline bool License_Policy::has_renew_with_usage() const { } inline void License_Policy::clear_renew_with_usage() { renew_with_usage_ = false; - _has_bits_[0] &= ~0x00000100u; + _has_bits_[0] &= ~0x00000200u; } inline bool License_Policy::_internal_renew_with_usage() const { return renew_with_usage_; @@ -7127,7 +7323,7 @@ inline bool License_Policy::renew_with_usage() const { return _internal_renew_with_usage(); } inline void License_Policy::_internal_set_renew_with_usage(bool value) { - _has_bits_[0] |= 0x00000100u; + _has_bits_[0] |= 0x00000200u; renew_with_usage_ = value; } inline void License_Policy::set_renew_with_usage(bool value) { @@ -7137,7 +7333,7 @@ inline void License_Policy::set_renew_with_usage(bool value) { // optional bool always_include_client_id = 12 [default = false]; inline bool License_Policy::_internal_has_always_include_client_id() const { - bool value = (_has_bits_[0] & 0x00000200u) != 0; + bool value = (_has_bits_[0] & 0x00000400u) != 0; return value; } inline bool License_Policy::has_always_include_client_id() const { @@ -7145,7 +7341,7 @@ inline bool License_Policy::has_always_include_client_id() const { } inline void License_Policy::clear_always_include_client_id() { always_include_client_id_ = false; - _has_bits_[0] &= ~0x00000200u; + _has_bits_[0] &= ~0x00000400u; } inline bool License_Policy::_internal_always_include_client_id() const { return always_include_client_id_; @@ -7155,7 +7351,7 @@ inline bool License_Policy::always_include_client_id() const { return _internal_always_include_client_id(); } inline void License_Policy::_internal_set_always_include_client_id(bool value) { - _has_bits_[0] |= 0x00000200u; + _has_bits_[0] |= 0x00000400u; always_include_client_id_ = value; } inline void License_Policy::set_always_include_client_id(bool value) { @@ -7165,7 +7361,7 @@ inline void License_Policy::set_always_include_client_id(bool value) { // optional int64 play_start_grace_period_seconds = 13 [default = 0]; inline bool License_Policy::_internal_has_play_start_grace_period_seconds() const { - bool value = (_has_bits_[0] & 0x00002000u) != 0; + bool value = (_has_bits_[0] & 0x00004000u) != 0; return value; } inline bool License_Policy::has_play_start_grace_period_seconds() const { @@ -7173,7 +7369,7 @@ inline bool License_Policy::has_play_start_grace_period_seconds() const { } inline void License_Policy::clear_play_start_grace_period_seconds() { play_start_grace_period_seconds_ = int64_t{0}; - _has_bits_[0] &= ~0x00002000u; + _has_bits_[0] &= ~0x00004000u; } inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::_internal_play_start_grace_period_seconds() const { return play_start_grace_period_seconds_; @@ -7183,7 +7379,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::play_start_grace_period_se return _internal_play_start_grace_period_seconds(); } inline void License_Policy::_internal_set_play_start_grace_period_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { - _has_bits_[0] |= 0x00002000u; + _has_bits_[0] |= 0x00004000u; play_start_grace_period_seconds_ = value; } inline void License_Policy::set_play_start_grace_period_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { @@ -7193,7 +7389,7 @@ inline void License_Policy::set_play_start_grace_period_seconds(::PROTOBUF_NAMES // optional bool soft_enforce_playback_duration = 14 [default = false]; inline bool License_Policy::_internal_has_soft_enforce_playback_duration() const { - bool value = (_has_bits_[0] & 0x00000400u) != 0; + bool value = (_has_bits_[0] & 0x00000800u) != 0; return value; } inline bool License_Policy::has_soft_enforce_playback_duration() const { @@ -7201,7 +7397,7 @@ inline bool License_Policy::has_soft_enforce_playback_duration() const { } inline void License_Policy::clear_soft_enforce_playback_duration() { soft_enforce_playback_duration_ = false; - _has_bits_[0] &= ~0x00000400u; + _has_bits_[0] &= ~0x00000800u; } inline bool License_Policy::_internal_soft_enforce_playback_duration() const { return soft_enforce_playback_duration_; @@ -7211,7 +7407,7 @@ inline bool License_Policy::soft_enforce_playback_duration() const { return _internal_soft_enforce_playback_duration(); } inline void License_Policy::_internal_set_soft_enforce_playback_duration(bool value) { - _has_bits_[0] |= 0x00000400u; + _has_bits_[0] |= 0x00000800u; soft_enforce_playback_duration_ = value; } inline void License_Policy::set_soft_enforce_playback_duration(bool value) { @@ -7221,7 +7417,7 @@ inline void License_Policy::set_soft_enforce_playback_duration(bool value) { // optional bool soft_enforce_rental_duration = 15 [default = true]; inline bool License_Policy::_internal_has_soft_enforce_rental_duration() const { - bool value = (_has_bits_[0] & 0x00004000u) != 0; + bool value = (_has_bits_[0] & 0x00010000u) != 0; return value; } inline bool License_Policy::has_soft_enforce_rental_duration() const { @@ -7229,7 +7425,7 @@ inline bool License_Policy::has_soft_enforce_rental_duration() const { } inline void License_Policy::clear_soft_enforce_rental_duration() { soft_enforce_rental_duration_ = true; - _has_bits_[0] &= ~0x00004000u; + _has_bits_[0] &= ~0x00010000u; } inline bool License_Policy::_internal_soft_enforce_rental_duration() const { return soft_enforce_rental_duration_; @@ -7239,7 +7435,7 @@ inline bool License_Policy::soft_enforce_rental_duration() const { return _internal_soft_enforce_rental_duration(); } inline void License_Policy::_internal_set_soft_enforce_rental_duration(bool value) { - _has_bits_[0] |= 0x00004000u; + _has_bits_[0] |= 0x00010000u; soft_enforce_rental_duration_ = value; } inline void License_Policy::set_soft_enforce_rental_duration(bool value) { @@ -7247,6 +7443,123 @@ inline void License_Policy::set_soft_enforce_rental_duration(bool value) { // @@protoc_insertion_point(field_set:video_widevine.License.Policy.soft_enforce_rental_duration) } +// optional .video_widevine.License.Policy.WatermarkingControl watermarking_control = 16 [default = WATERMARKING_CONTROL_UNSPECIFIED]; +inline bool License_Policy::_internal_has_watermarking_control() const { + bool value = (_has_bits_[0] & 0x00008000u) != 0; + return value; +} +inline bool License_Policy::has_watermarking_control() const { + return _internal_has_watermarking_control(); +} +inline void License_Policy::clear_watermarking_control() { + watermarking_control_ = 0; + _has_bits_[0] &= ~0x00008000u; +} +inline ::video_widevine::License_Policy_WatermarkingControl License_Policy::_internal_watermarking_control() const { + return static_cast< ::video_widevine::License_Policy_WatermarkingControl >(watermarking_control_); +} +inline ::video_widevine::License_Policy_WatermarkingControl License_Policy::watermarking_control() const { + // @@protoc_insertion_point(field_get:video_widevine.License.Policy.watermarking_control) + return _internal_watermarking_control(); +} +inline void License_Policy::_internal_set_watermarking_control(::video_widevine::License_Policy_WatermarkingControl value) { + assert(::video_widevine::License_Policy_WatermarkingControl_IsValid(value)); + _has_bits_[0] |= 0x00008000u; + watermarking_control_ = value; +} +inline void License_Policy::set_watermarking_control(::video_widevine::License_Policy_WatermarkingControl value) { + _internal_set_watermarking_control(value); + // @@protoc_insertion_point(field_set:video_widevine.License.Policy.watermarking_control) +} + +// optional .video_widevine.DTCPUsageRules dtcp2 = 17; +inline bool License_Policy::_internal_has_dtcp2() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || dtcp2_ != nullptr); + return value; +} +inline bool License_Policy::has_dtcp2() const { + return _internal_has_dtcp2(); +} +inline const ::video_widevine::DTCPUsageRules& License_Policy::_internal_dtcp2() const { + const ::video_widevine::DTCPUsageRules* p = dtcp2_; + return p != nullptr ? *p : reinterpret_cast( + ::video_widevine::_DTCPUsageRules_default_instance_); +} +inline const ::video_widevine::DTCPUsageRules& License_Policy::dtcp2() const { + // @@protoc_insertion_point(field_get:video_widevine.License.Policy.dtcp2) + return _internal_dtcp2(); +} +inline void License_Policy::unsafe_arena_set_allocated_dtcp2( + ::video_widevine::DTCPUsageRules* dtcp2) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(dtcp2_); + } + dtcp2_ = dtcp2; + if (dtcp2) { + _has_bits_[0] |= 0x00000002u; + } else { + _has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:video_widevine.License.Policy.dtcp2) +} +inline ::video_widevine::DTCPUsageRules* License_Policy::release_dtcp2() { + _has_bits_[0] &= ~0x00000002u; + ::video_widevine::DTCPUsageRules* temp = dtcp2_; + dtcp2_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::video_widevine::DTCPUsageRules* License_Policy::unsafe_arena_release_dtcp2() { + // @@protoc_insertion_point(field_release:video_widevine.License.Policy.dtcp2) + _has_bits_[0] &= ~0x00000002u; + ::video_widevine::DTCPUsageRules* temp = dtcp2_; + dtcp2_ = nullptr; + return temp; +} +inline ::video_widevine::DTCPUsageRules* License_Policy::_internal_mutable_dtcp2() { + _has_bits_[0] |= 0x00000002u; + if (dtcp2_ == nullptr) { + auto* p = CreateMaybeMessage<::video_widevine::DTCPUsageRules>(GetArenaForAllocation()); + dtcp2_ = p; + } + return dtcp2_; +} +inline ::video_widevine::DTCPUsageRules* License_Policy::mutable_dtcp2() { + ::video_widevine::DTCPUsageRules* _msg = _internal_mutable_dtcp2(); + // @@protoc_insertion_point(field_mutable:video_widevine.License.Policy.dtcp2) + return _msg; +} +inline void License_Policy::set_allocated_dtcp2(::video_widevine::DTCPUsageRules* dtcp2) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(dtcp2_); + } + if (dtcp2) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(dtcp2)); + if (message_arena != submessage_arena) { + dtcp2 = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, dtcp2, submessage_arena); + } + _has_bits_[0] |= 0x00000002u; + } else { + _has_bits_[0] &= ~0x00000002u; + } + dtcp2_ = dtcp2; + // @@protoc_insertion_point(field_set_allocated:video_widevine.License.Policy.dtcp2) +} + // ------------------------------------------------------------------- // License_KeyContainer_KeyControl @@ -9310,7 +9623,7 @@ inline void License::set_allocated_srm_update(std::string* srm_update) { // optional .video_widevine.PlatformVerificationStatus platform_verification_status = 10 [default = PLATFORM_NO_VERIFICATION]; inline bool License::_internal_has_platform_verification_status() const { - bool value = (_has_bits_[0] & 0x00000200u) != 0; + bool value = (_has_bits_[0] & 0x00000400u) != 0; return value; } inline bool License::has_platform_verification_status() const { @@ -9318,7 +9631,7 @@ inline bool License::has_platform_verification_status() const { } inline void License::clear_platform_verification_status() { platform_verification_status_ = 4; - _has_bits_[0] &= ~0x00000200u; + _has_bits_[0] &= ~0x00000400u; } inline ::video_widevine::PlatformVerificationStatus License::_internal_platform_verification_status() const { return static_cast< ::video_widevine::PlatformVerificationStatus >(platform_verification_status_); @@ -9329,7 +9642,7 @@ inline ::video_widevine::PlatformVerificationStatus License::platform_verificati } inline void License::_internal_set_platform_verification_status(::video_widevine::PlatformVerificationStatus value) { assert(::video_widevine::PlatformVerificationStatus_IsValid(value)); - _has_bits_[0] |= 0x00000200u; + _has_bits_[0] |= 0x00000400u; platform_verification_status_ = value; } inline void License::set_platform_verification_status(::video_widevine::PlatformVerificationStatus value) { @@ -9502,6 +9815,34 @@ inline void License::set_allocated_license_category_spec(::video_widevine::Licen // @@protoc_insertion_point(field_set_allocated:video_widevine.License.license_category_spec) } +// optional uint32 provider_key_id = 13; +inline bool License::_internal_has_provider_key_id() const { + bool value = (_has_bits_[0] & 0x00000200u) != 0; + return value; +} +inline bool License::has_provider_key_id() const { + return _internal_has_provider_key_id(); +} +inline void License::clear_provider_key_id() { + provider_key_id_ = 0u; + _has_bits_[0] &= ~0x00000200u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 License::_internal_provider_key_id() const { + return provider_key_id_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 License::provider_key_id() const { + // @@protoc_insertion_point(field_get:video_widevine.License.provider_key_id) + return _internal_provider_key_id(); +} +inline void License::_internal_set_provider_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00000200u; + provider_key_id_ = value; +} +inline void License::set_provider_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_provider_key_id(value); + // @@protoc_insertion_point(field_set:video_widevine.License.provider_key_id) +} + // ------------------------------------------------------------------- // LicenseRequest_ContentIdentification_WidevinePsshData @@ -11896,6 +12237,11 @@ template <> inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::LicenseCategorySpec_LicenseCategory>() { return ::video_widevine::LicenseCategorySpec_LicenseCategory_descriptor(); } +template <> struct is_proto_enum< ::video_widevine::License_Policy_WatermarkingControl> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::License_Policy_WatermarkingControl>() { + return ::video_widevine::License_Policy_WatermarkingControl_descriptor(); +} template <> struct is_proto_enum< ::video_widevine::License_KeyContainer_OutputProtection_HDCP> : ::std::true_type {}; template <> inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::License_KeyContainer_OutputProtection_HDCP>() { diff --git a/centos/protos/public/playready.pb.h b/centos/protos/public/playready.pb.h index c1046f1..c4449ce 100755 --- a/centos/protos/public/playready.pb.h +++ b/centos/protos/public/playready.pb.h @@ -568,6 +568,7 @@ class PlayReadyPolicy final : kRequestedUncompressedDigitalVideoOutputRestrictionFieldNumber = 11, kRequestedCgmsFieldNumber = 12, kRenewalRecoveryDurationSecondsFieldNumber = 16, + kRenewalDelaySecondsFieldNumber = 17, kCanRenewFieldNumber = 13, kSoftEnforceRentalDurationFieldNumber = 14, kSoftEnforcePlaybackDurationFieldNumber = 15, @@ -741,6 +742,19 @@ class PlayReadyPolicy final : void _internal_set_renewal_recovery_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); public: + // optional int64 renewal_delay_seconds = 17; + bool has_renewal_delay_seconds() const; + private: + bool _internal_has_renewal_delay_seconds() const; + public: + void clear_renewal_delay_seconds(); + ::PROTOBUF_NAMESPACE_ID::int64 renewal_delay_seconds() const; + void set_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + private: + ::PROTOBUF_NAMESPACE_ID::int64 _internal_renewal_delay_seconds() const; + void _internal_set_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + public: + // optional bool can_renew = 13 [default = false]; bool has_can_renew() const; private: @@ -802,6 +816,7 @@ class PlayReadyPolicy final : int requested_uncompressed_digital_video_output_restriction_; int requested_cgms_; ::PROTOBUF_NAMESPACE_ID::int64 renewal_recovery_duration_seconds_; + ::PROTOBUF_NAMESPACE_ID::int64 renewal_delay_seconds_; bool can_renew_; bool soft_enforce_rental_duration_; bool soft_enforce_playback_duration_; @@ -1468,6 +1483,7 @@ class PlayReadyLicenseRequest final : kContentKeyBase64FieldNumber = 5, kClientSpecifiedMakeFieldNumber = 8, kClientSpecifiedModelFieldNumber = 9, + kOriginalLicenseFieldNumber = 18, kPolicyFieldNumber = 6, kRootLicenseInfoFieldNumber = 11, kRequesterFieldNumber = 10, @@ -1477,6 +1493,8 @@ class PlayReadyLicenseRequest final : kIsRenewalRequestFieldNumber = 17, kChallengeTypeFieldNumber = 16, kLicenseStartTimeSecondsFieldNumber = 15, + kPlaybackStartTimeSecondsFieldNumber = 19, + kRequestVersionFieldNumber = 20, }; // repeated .video_widevine.KeyInfo license_key_info = 13; int license_key_info_size() const; @@ -1622,6 +1640,24 @@ class PlayReadyLicenseRequest final : std::string* _internal_mutable_client_specified_model(); public: + // optional bytes original_license = 18; + bool has_original_license() const; + private: + bool _internal_has_original_license() const; + public: + void clear_original_license(); + const std::string& original_license() const; + template + void set_original_license(ArgT0&& arg0, ArgT... args); + std::string* mutable_original_license(); + PROTOBUF_MUST_USE_RESULT std::string* release_original_license(); + void set_allocated_original_license(std::string* original_license); + private: + const std::string& _internal_original_license() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_original_license(const std::string& value); + std::string* _internal_mutable_original_license(); + public: + // optional .video_widevine.PlayReadyPolicy policy = 6; bool has_policy() const; private: @@ -1749,6 +1785,32 @@ class PlayReadyLicenseRequest final : void _internal_set_license_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); public: + // optional int64 playback_start_time_seconds = 19; + bool has_playback_start_time_seconds() const; + private: + bool _internal_has_playback_start_time_seconds() const; + public: + void clear_playback_start_time_seconds(); + ::PROTOBUF_NAMESPACE_ID::int64 playback_start_time_seconds() const; + void set_playback_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + private: + ::PROTOBUF_NAMESPACE_ID::int64 _internal_playback_start_time_seconds() const; + void _internal_set_playback_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + public: + + // optional int32 request_version = 20; + bool has_request_version() const; + private: + bool _internal_has_request_version() const; + public: + void clear_request_version(); + ::PROTOBUF_NAMESPACE_ID::int32 request_version() const; + void set_request_version(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_request_version() const; + void _internal_set_request_version(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + // @@protoc_insertion_point(class_scope:video_widevine.PlayReadyLicenseRequest) private: class _Internal; @@ -1766,6 +1828,7 @@ class PlayReadyLicenseRequest final : ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr content_key_base64_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr client_specified_make_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr client_specified_model_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr original_license_; ::video_widevine::PlayReadyPolicy* policy_; ::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo* root_license_info_; int requester_; @@ -1775,6 +1838,8 @@ class PlayReadyLicenseRequest final : bool is_renewal_request_; int challenge_type_; ::PROTOBUF_NAMESPACE_ID::int64 license_start_time_seconds_; + ::PROTOBUF_NAMESPACE_ID::int64 playback_start_time_seconds_; + ::PROTOBUF_NAMESPACE_ID::int32 request_version_; friend struct ::TableStruct_protos_2fpublic_2fplayready_2eproto; }; // ------------------------------------------------------------------- @@ -4444,7 +4509,7 @@ inline void PlayReadyPolicy::set_requested_cgms(::video_widevine::PlayReadyPolic // optional bool can_renew = 13 [default = false]; inline bool PlayReadyPolicy::_internal_has_can_renew() const { - bool value = (_has_bits_[0] & 0x00002000u) != 0; + bool value = (_has_bits_[0] & 0x00004000u) != 0; return value; } inline bool PlayReadyPolicy::has_can_renew() const { @@ -4452,7 +4517,7 @@ inline bool PlayReadyPolicy::has_can_renew() const { } inline void PlayReadyPolicy::clear_can_renew() { can_renew_ = false; - _has_bits_[0] &= ~0x00002000u; + _has_bits_[0] &= ~0x00004000u; } inline bool PlayReadyPolicy::_internal_can_renew() const { return can_renew_; @@ -4462,7 +4527,7 @@ inline bool PlayReadyPolicy::can_renew() const { return _internal_can_renew(); } inline void PlayReadyPolicy::_internal_set_can_renew(bool value) { - _has_bits_[0] |= 0x00002000u; + _has_bits_[0] |= 0x00004000u; can_renew_ = value; } inline void PlayReadyPolicy::set_can_renew(bool value) { @@ -4472,7 +4537,7 @@ inline void PlayReadyPolicy::set_can_renew(bool value) { // optional bool soft_enforce_rental_duration = 14 [default = false]; inline bool PlayReadyPolicy::_internal_has_soft_enforce_rental_duration() const { - bool value = (_has_bits_[0] & 0x00004000u) != 0; + bool value = (_has_bits_[0] & 0x00008000u) != 0; return value; } inline bool PlayReadyPolicy::has_soft_enforce_rental_duration() const { @@ -4480,7 +4545,7 @@ inline bool PlayReadyPolicy::has_soft_enforce_rental_duration() const { } inline void PlayReadyPolicy::clear_soft_enforce_rental_duration() { soft_enforce_rental_duration_ = false; - _has_bits_[0] &= ~0x00004000u; + _has_bits_[0] &= ~0x00008000u; } inline bool PlayReadyPolicy::_internal_soft_enforce_rental_duration() const { return soft_enforce_rental_duration_; @@ -4490,7 +4555,7 @@ inline bool PlayReadyPolicy::soft_enforce_rental_duration() const { return _internal_soft_enforce_rental_duration(); } inline void PlayReadyPolicy::_internal_set_soft_enforce_rental_duration(bool value) { - _has_bits_[0] |= 0x00004000u; + _has_bits_[0] |= 0x00008000u; soft_enforce_rental_duration_ = value; } inline void PlayReadyPolicy::set_soft_enforce_rental_duration(bool value) { @@ -4500,7 +4565,7 @@ inline void PlayReadyPolicy::set_soft_enforce_rental_duration(bool value) { // optional bool soft_enforce_playback_duration = 15 [default = false]; inline bool PlayReadyPolicy::_internal_has_soft_enforce_playback_duration() const { - bool value = (_has_bits_[0] & 0x00008000u) != 0; + bool value = (_has_bits_[0] & 0x00010000u) != 0; return value; } inline bool PlayReadyPolicy::has_soft_enforce_playback_duration() const { @@ -4508,7 +4573,7 @@ inline bool PlayReadyPolicy::has_soft_enforce_playback_duration() const { } inline void PlayReadyPolicy::clear_soft_enforce_playback_duration() { soft_enforce_playback_duration_ = false; - _has_bits_[0] &= ~0x00008000u; + _has_bits_[0] &= ~0x00010000u; } inline bool PlayReadyPolicy::_internal_soft_enforce_playback_duration() const { return soft_enforce_playback_duration_; @@ -4518,7 +4583,7 @@ inline bool PlayReadyPolicy::soft_enforce_playback_duration() const { return _internal_soft_enforce_playback_duration(); } inline void PlayReadyPolicy::_internal_set_soft_enforce_playback_duration(bool value) { - _has_bits_[0] |= 0x00008000u; + _has_bits_[0] |= 0x00010000u; soft_enforce_playback_duration_ = value; } inline void PlayReadyPolicy::set_soft_enforce_playback_duration(bool value) { @@ -4554,6 +4619,34 @@ inline void PlayReadyPolicy::set_renewal_recovery_duration_seconds(::PROTOBUF_NA // @@protoc_insertion_point(field_set:video_widevine.PlayReadyPolicy.renewal_recovery_duration_seconds) } +// optional int64 renewal_delay_seconds = 17; +inline bool PlayReadyPolicy::_internal_has_renewal_delay_seconds() const { + bool value = (_has_bits_[0] & 0x00002000u) != 0; + return value; +} +inline bool PlayReadyPolicy::has_renewal_delay_seconds() const { + return _internal_has_renewal_delay_seconds(); +} +inline void PlayReadyPolicy::clear_renewal_delay_seconds() { + renewal_delay_seconds_ = int64_t{0}; + _has_bits_[0] &= ~0x00002000u; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 PlayReadyPolicy::_internal_renewal_delay_seconds() const { + return renewal_delay_seconds_; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 PlayReadyPolicy::renewal_delay_seconds() const { + // @@protoc_insertion_point(field_get:video_widevine.PlayReadyPolicy.renewal_delay_seconds) + return _internal_renewal_delay_seconds(); +} +inline void PlayReadyPolicy::_internal_set_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _has_bits_[0] |= 0x00002000u; + renewal_delay_seconds_ = value; +} +inline void PlayReadyPolicy::set_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _internal_set_renewal_delay_seconds(value); + // @@protoc_insertion_point(field_set:video_widevine.PlayReadyPolicy.renewal_delay_seconds) +} + // ------------------------------------------------------------------- // KeyInfo @@ -5209,7 +5302,7 @@ inline void PlayReadyLicenseRequest::set_allocated_content_key_base64(std::strin // optional .video_widevine.PlayReadyPolicy policy = 6; inline bool PlayReadyLicenseRequest::_internal_has_policy() const { - bool value = (_has_bits_[0] & 0x00000080u) != 0; + bool value = (_has_bits_[0] & 0x00000100u) != 0; PROTOBUF_ASSUME(!value || policy_ != nullptr); return value; } @@ -5218,7 +5311,7 @@ inline bool PlayReadyLicenseRequest::has_policy() const { } inline void PlayReadyLicenseRequest::clear_policy() { if (policy_ != nullptr) policy_->Clear(); - _has_bits_[0] &= ~0x00000080u; + _has_bits_[0] &= ~0x00000100u; } inline const ::video_widevine::PlayReadyPolicy& PlayReadyLicenseRequest::_internal_policy() const { const ::video_widevine::PlayReadyPolicy* p = policy_; @@ -5236,14 +5329,14 @@ inline void PlayReadyLicenseRequest::unsafe_arena_set_allocated_policy( } policy_ = policy; if (policy) { - _has_bits_[0] |= 0x00000080u; + _has_bits_[0] |= 0x00000100u; } else { - _has_bits_[0] &= ~0x00000080u; + _has_bits_[0] &= ~0x00000100u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:video_widevine.PlayReadyLicenseRequest.policy) } inline ::video_widevine::PlayReadyPolicy* PlayReadyLicenseRequest::release_policy() { - _has_bits_[0] &= ~0x00000080u; + _has_bits_[0] &= ~0x00000100u; ::video_widevine::PlayReadyPolicy* temp = policy_; policy_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE @@ -5259,13 +5352,13 @@ inline ::video_widevine::PlayReadyPolicy* PlayReadyLicenseRequest::release_polic } inline ::video_widevine::PlayReadyPolicy* PlayReadyLicenseRequest::unsafe_arena_release_policy() { // @@protoc_insertion_point(field_release:video_widevine.PlayReadyLicenseRequest.policy) - _has_bits_[0] &= ~0x00000080u; + _has_bits_[0] &= ~0x00000100u; ::video_widevine::PlayReadyPolicy* temp = policy_; policy_ = nullptr; return temp; } inline ::video_widevine::PlayReadyPolicy* PlayReadyLicenseRequest::_internal_mutable_policy() { - _has_bits_[0] |= 0x00000080u; + _has_bits_[0] |= 0x00000100u; if (policy_ == nullptr) { auto* p = CreateMaybeMessage<::video_widevine::PlayReadyPolicy>(GetArenaForAllocation()); policy_ = p; @@ -5289,9 +5382,9 @@ inline void PlayReadyLicenseRequest::set_allocated_policy(::video_widevine::Play policy = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( message_arena, policy, submessage_arena); } - _has_bits_[0] |= 0x00000080u; + _has_bits_[0] |= 0x00000100u; } else { - _has_bits_[0] &= ~0x00000080u; + _has_bits_[0] &= ~0x00000100u; } policy_ = policy; // @@protoc_insertion_point(field_set_allocated:video_widevine.PlayReadyLicenseRequest.policy) @@ -5299,7 +5392,7 @@ inline void PlayReadyLicenseRequest::set_allocated_policy(::video_widevine::Play // optional bool extract_device_info = 7; inline bool PlayReadyLicenseRequest::_internal_has_extract_device_info() const { - bool value = (_has_bits_[0] & 0x00000800u) != 0; + bool value = (_has_bits_[0] & 0x00001000u) != 0; return value; } inline bool PlayReadyLicenseRequest::has_extract_device_info() const { @@ -5307,7 +5400,7 @@ inline bool PlayReadyLicenseRequest::has_extract_device_info() const { } inline void PlayReadyLicenseRequest::clear_extract_device_info() { extract_device_info_ = false; - _has_bits_[0] &= ~0x00000800u; + _has_bits_[0] &= ~0x00001000u; } inline bool PlayReadyLicenseRequest::_internal_extract_device_info() const { return extract_device_info_; @@ -5317,7 +5410,7 @@ inline bool PlayReadyLicenseRequest::extract_device_info() const { return _internal_extract_device_info(); } inline void PlayReadyLicenseRequest::_internal_set_extract_device_info(bool value) { - _has_bits_[0] |= 0x00000800u; + _has_bits_[0] |= 0x00001000u; extract_device_info_ = value; } inline void PlayReadyLicenseRequest::set_extract_device_info(bool value) { @@ -5443,7 +5536,7 @@ inline void PlayReadyLicenseRequest::set_allocated_client_specified_model(std::s // optional .video_widevine.PlayReadyLicenseRequest.Requester requester = 10; inline bool PlayReadyLicenseRequest::_internal_has_requester() const { - bool value = (_has_bits_[0] & 0x00000200u) != 0; + bool value = (_has_bits_[0] & 0x00000400u) != 0; return value; } inline bool PlayReadyLicenseRequest::has_requester() const { @@ -5451,7 +5544,7 @@ inline bool PlayReadyLicenseRequest::has_requester() const { } inline void PlayReadyLicenseRequest::clear_requester() { requester_ = 0; - _has_bits_[0] &= ~0x00000200u; + _has_bits_[0] &= ~0x00000400u; } inline ::video_widevine::PlayReadyLicenseRequest_Requester PlayReadyLicenseRequest::_internal_requester() const { return static_cast< ::video_widevine::PlayReadyLicenseRequest_Requester >(requester_); @@ -5462,7 +5555,7 @@ inline ::video_widevine::PlayReadyLicenseRequest_Requester PlayReadyLicenseReque } inline void PlayReadyLicenseRequest::_internal_set_requester(::video_widevine::PlayReadyLicenseRequest_Requester value) { assert(::video_widevine::PlayReadyLicenseRequest_Requester_IsValid(value)); - _has_bits_[0] |= 0x00000200u; + _has_bits_[0] |= 0x00000400u; requester_ = value; } inline void PlayReadyLicenseRequest::set_requester(::video_widevine::PlayReadyLicenseRequest_Requester value) { @@ -5472,7 +5565,7 @@ inline void PlayReadyLicenseRequest::set_requester(::video_widevine::PlayReadyLi // optional .video_widevine.PlayReadyLicenseRequest.RootLicenseInfo root_license_info = 11; inline bool PlayReadyLicenseRequest::_internal_has_root_license_info() const { - bool value = (_has_bits_[0] & 0x00000100u) != 0; + bool value = (_has_bits_[0] & 0x00000200u) != 0; PROTOBUF_ASSUME(!value || root_license_info_ != nullptr); return value; } @@ -5481,7 +5574,7 @@ inline bool PlayReadyLicenseRequest::has_root_license_info() const { } inline void PlayReadyLicenseRequest::clear_root_license_info() { if (root_license_info_ != nullptr) root_license_info_->Clear(); - _has_bits_[0] &= ~0x00000100u; + _has_bits_[0] &= ~0x00000200u; } inline const ::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo& PlayReadyLicenseRequest::_internal_root_license_info() const { const ::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo* p = root_license_info_; @@ -5499,14 +5592,14 @@ inline void PlayReadyLicenseRequest::unsafe_arena_set_allocated_root_license_inf } root_license_info_ = root_license_info; if (root_license_info) { - _has_bits_[0] |= 0x00000100u; + _has_bits_[0] |= 0x00000200u; } else { - _has_bits_[0] &= ~0x00000100u; + _has_bits_[0] &= ~0x00000200u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:video_widevine.PlayReadyLicenseRequest.root_license_info) } inline ::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo* PlayReadyLicenseRequest::release_root_license_info() { - _has_bits_[0] &= ~0x00000100u; + _has_bits_[0] &= ~0x00000200u; ::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo* temp = root_license_info_; root_license_info_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE @@ -5522,13 +5615,13 @@ inline ::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo* PlayReadyLicen } inline ::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo* PlayReadyLicenseRequest::unsafe_arena_release_root_license_info() { // @@protoc_insertion_point(field_release:video_widevine.PlayReadyLicenseRequest.root_license_info) - _has_bits_[0] &= ~0x00000100u; + _has_bits_[0] &= ~0x00000200u; ::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo* temp = root_license_info_; root_license_info_ = nullptr; return temp; } inline ::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo* PlayReadyLicenseRequest::_internal_mutable_root_license_info() { - _has_bits_[0] |= 0x00000100u; + _has_bits_[0] |= 0x00000200u; if (root_license_info_ == nullptr) { auto* p = CreateMaybeMessage<::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo>(GetArenaForAllocation()); root_license_info_ = p; @@ -5552,9 +5645,9 @@ inline void PlayReadyLicenseRequest::set_allocated_root_license_info(::video_wid root_license_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( message_arena, root_license_info, submessage_arena); } - _has_bits_[0] |= 0x00000100u; + _has_bits_[0] |= 0x00000200u; } else { - _has_bits_[0] &= ~0x00000100u; + _has_bits_[0] &= ~0x00000200u; } root_license_info_ = root_license_info; // @@protoc_insertion_point(field_set_allocated:video_widevine.PlayReadyLicenseRequest.root_license_info) @@ -5562,7 +5655,7 @@ inline void PlayReadyLicenseRequest::set_allocated_root_license_info(::video_wid // optional .video_widevine.PlayReadyLicenseRequest.StreamType stream_type = 12; inline bool PlayReadyLicenseRequest::_internal_has_stream_type() const { - bool value = (_has_bits_[0] & 0x00000400u) != 0; + bool value = (_has_bits_[0] & 0x00000800u) != 0; return value; } inline bool PlayReadyLicenseRequest::has_stream_type() const { @@ -5570,7 +5663,7 @@ inline bool PlayReadyLicenseRequest::has_stream_type() const { } inline void PlayReadyLicenseRequest::clear_stream_type() { stream_type_ = 0; - _has_bits_[0] &= ~0x00000400u; + _has_bits_[0] &= ~0x00000800u; } inline ::video_widevine::PlayReadyLicenseRequest_StreamType PlayReadyLicenseRequest::_internal_stream_type() const { return static_cast< ::video_widevine::PlayReadyLicenseRequest_StreamType >(stream_type_); @@ -5581,7 +5674,7 @@ inline ::video_widevine::PlayReadyLicenseRequest_StreamType PlayReadyLicenseRequ } inline void PlayReadyLicenseRequest::_internal_set_stream_type(::video_widevine::PlayReadyLicenseRequest_StreamType value) { assert(::video_widevine::PlayReadyLicenseRequest_StreamType_IsValid(value)); - _has_bits_[0] |= 0x00000400u; + _has_bits_[0] |= 0x00000800u; stream_type_ = value; } inline void PlayReadyLicenseRequest::set_stream_type(::video_widevine::PlayReadyLicenseRequest_StreamType value) { @@ -5631,7 +5724,7 @@ PlayReadyLicenseRequest::license_key_info() const { // optional bool is_external_license_request = 14 [default = false]; inline bool PlayReadyLicenseRequest::_internal_has_is_external_license_request() const { - bool value = (_has_bits_[0] & 0x00001000u) != 0; + bool value = (_has_bits_[0] & 0x00002000u) != 0; return value; } inline bool PlayReadyLicenseRequest::has_is_external_license_request() const { @@ -5639,7 +5732,7 @@ inline bool PlayReadyLicenseRequest::has_is_external_license_request() const { } inline void PlayReadyLicenseRequest::clear_is_external_license_request() { is_external_license_request_ = false; - _has_bits_[0] &= ~0x00001000u; + _has_bits_[0] &= ~0x00002000u; } inline bool PlayReadyLicenseRequest::_internal_is_external_license_request() const { return is_external_license_request_; @@ -5649,7 +5742,7 @@ inline bool PlayReadyLicenseRequest::is_external_license_request() const { return _internal_is_external_license_request(); } inline void PlayReadyLicenseRequest::_internal_set_is_external_license_request(bool value) { - _has_bits_[0] |= 0x00001000u; + _has_bits_[0] |= 0x00002000u; is_external_license_request_ = value; } inline void PlayReadyLicenseRequest::set_is_external_license_request(bool value) { @@ -5659,7 +5752,7 @@ inline void PlayReadyLicenseRequest::set_is_external_license_request(bool value) // optional int64 license_start_time_seconds = 15; inline bool PlayReadyLicenseRequest::_internal_has_license_start_time_seconds() const { - bool value = (_has_bits_[0] & 0x00008000u) != 0; + bool value = (_has_bits_[0] & 0x00010000u) != 0; return value; } inline bool PlayReadyLicenseRequest::has_license_start_time_seconds() const { @@ -5667,7 +5760,7 @@ inline bool PlayReadyLicenseRequest::has_license_start_time_seconds() const { } inline void PlayReadyLicenseRequest::clear_license_start_time_seconds() { license_start_time_seconds_ = int64_t{0}; - _has_bits_[0] &= ~0x00008000u; + _has_bits_[0] &= ~0x00010000u; } inline ::PROTOBUF_NAMESPACE_ID::int64 PlayReadyLicenseRequest::_internal_license_start_time_seconds() const { return license_start_time_seconds_; @@ -5677,7 +5770,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int64 PlayReadyLicenseRequest::license_start_tim return _internal_license_start_time_seconds(); } inline void PlayReadyLicenseRequest::_internal_set_license_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { - _has_bits_[0] |= 0x00008000u; + _has_bits_[0] |= 0x00010000u; license_start_time_seconds_ = value; } inline void PlayReadyLicenseRequest::set_license_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { @@ -5687,7 +5780,7 @@ inline void PlayReadyLicenseRequest::set_license_start_time_seconds(::PROTOBUF_N // optional .video_widevine.PlayReadyLicenseRequest.ChallengeType challenge_type = 16 [default = CHALLENGE_TYPE_UNKNOWN]; inline bool PlayReadyLicenseRequest::_internal_has_challenge_type() const { - bool value = (_has_bits_[0] & 0x00004000u) != 0; + bool value = (_has_bits_[0] & 0x00008000u) != 0; return value; } inline bool PlayReadyLicenseRequest::has_challenge_type() const { @@ -5695,7 +5788,7 @@ inline bool PlayReadyLicenseRequest::has_challenge_type() const { } inline void PlayReadyLicenseRequest::clear_challenge_type() { challenge_type_ = 0; - _has_bits_[0] &= ~0x00004000u; + _has_bits_[0] &= ~0x00008000u; } inline ::video_widevine::PlayReadyLicenseRequest_ChallengeType PlayReadyLicenseRequest::_internal_challenge_type() const { return static_cast< ::video_widevine::PlayReadyLicenseRequest_ChallengeType >(challenge_type_); @@ -5706,7 +5799,7 @@ inline ::video_widevine::PlayReadyLicenseRequest_ChallengeType PlayReadyLicenseR } inline void PlayReadyLicenseRequest::_internal_set_challenge_type(::video_widevine::PlayReadyLicenseRequest_ChallengeType value) { assert(::video_widevine::PlayReadyLicenseRequest_ChallengeType_IsValid(value)); - _has_bits_[0] |= 0x00004000u; + _has_bits_[0] |= 0x00008000u; challenge_type_ = value; } inline void PlayReadyLicenseRequest::set_challenge_type(::video_widevine::PlayReadyLicenseRequest_ChallengeType value) { @@ -5716,7 +5809,7 @@ inline void PlayReadyLicenseRequest::set_challenge_type(::video_widevine::PlayRe // optional bool is_renewal_request = 17 [default = false]; inline bool PlayReadyLicenseRequest::_internal_has_is_renewal_request() const { - bool value = (_has_bits_[0] & 0x00002000u) != 0; + bool value = (_has_bits_[0] & 0x00004000u) != 0; return value; } inline bool PlayReadyLicenseRequest::has_is_renewal_request() const { @@ -5724,7 +5817,7 @@ inline bool PlayReadyLicenseRequest::has_is_renewal_request() const { } inline void PlayReadyLicenseRequest::clear_is_renewal_request() { is_renewal_request_ = false; - _has_bits_[0] &= ~0x00002000u; + _has_bits_[0] &= ~0x00004000u; } inline bool PlayReadyLicenseRequest::_internal_is_renewal_request() const { return is_renewal_request_; @@ -5734,7 +5827,7 @@ inline bool PlayReadyLicenseRequest::is_renewal_request() const { return _internal_is_renewal_request(); } inline void PlayReadyLicenseRequest::_internal_set_is_renewal_request(bool value) { - _has_bits_[0] |= 0x00002000u; + _has_bits_[0] |= 0x00004000u; is_renewal_request_ = value; } inline void PlayReadyLicenseRequest::set_is_renewal_request(bool value) { @@ -5742,6 +5835,120 @@ inline void PlayReadyLicenseRequest::set_is_renewal_request(bool value) { // @@protoc_insertion_point(field_set:video_widevine.PlayReadyLicenseRequest.is_renewal_request) } +// optional bytes original_license = 18; +inline bool PlayReadyLicenseRequest::_internal_has_original_license() const { + bool value = (_has_bits_[0] & 0x00000080u) != 0; + return value; +} +inline bool PlayReadyLicenseRequest::has_original_license() const { + return _internal_has_original_license(); +} +inline void PlayReadyLicenseRequest::clear_original_license() { + original_license_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000080u; +} +inline const std::string& PlayReadyLicenseRequest::original_license() const { + // @@protoc_insertion_point(field_get:video_widevine.PlayReadyLicenseRequest.original_license) + return _internal_original_license(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void PlayReadyLicenseRequest::set_original_license(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000080u; + original_license_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:video_widevine.PlayReadyLicenseRequest.original_license) +} +inline std::string* PlayReadyLicenseRequest::mutable_original_license() { + std::string* _s = _internal_mutable_original_license(); + // @@protoc_insertion_point(field_mutable:video_widevine.PlayReadyLicenseRequest.original_license) + return _s; +} +inline const std::string& PlayReadyLicenseRequest::_internal_original_license() const { + return original_license_.Get(); +} +inline void PlayReadyLicenseRequest::_internal_set_original_license(const std::string& value) { + _has_bits_[0] |= 0x00000080u; + original_license_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* PlayReadyLicenseRequest::_internal_mutable_original_license() { + _has_bits_[0] |= 0x00000080u; + return original_license_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* PlayReadyLicenseRequest::release_original_license() { + // @@protoc_insertion_point(field_release:video_widevine.PlayReadyLicenseRequest.original_license) + if (!_internal_has_original_license()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000080u; + return original_license_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void PlayReadyLicenseRequest::set_allocated_original_license(std::string* original_license) { + if (original_license != nullptr) { + _has_bits_[0] |= 0x00000080u; + } else { + _has_bits_[0] &= ~0x00000080u; + } + original_license_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), original_license, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:video_widevine.PlayReadyLicenseRequest.original_license) +} + +// optional int64 playback_start_time_seconds = 19; +inline bool PlayReadyLicenseRequest::_internal_has_playback_start_time_seconds() const { + bool value = (_has_bits_[0] & 0x00020000u) != 0; + return value; +} +inline bool PlayReadyLicenseRequest::has_playback_start_time_seconds() const { + return _internal_has_playback_start_time_seconds(); +} +inline void PlayReadyLicenseRequest::clear_playback_start_time_seconds() { + playback_start_time_seconds_ = int64_t{0}; + _has_bits_[0] &= ~0x00020000u; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 PlayReadyLicenseRequest::_internal_playback_start_time_seconds() const { + return playback_start_time_seconds_; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 PlayReadyLicenseRequest::playback_start_time_seconds() const { + // @@protoc_insertion_point(field_get:video_widevine.PlayReadyLicenseRequest.playback_start_time_seconds) + return _internal_playback_start_time_seconds(); +} +inline void PlayReadyLicenseRequest::_internal_set_playback_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _has_bits_[0] |= 0x00020000u; + playback_start_time_seconds_ = value; +} +inline void PlayReadyLicenseRequest::set_playback_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _internal_set_playback_start_time_seconds(value); + // @@protoc_insertion_point(field_set:video_widevine.PlayReadyLicenseRequest.playback_start_time_seconds) +} + +// optional int32 request_version = 20; +inline bool PlayReadyLicenseRequest::_internal_has_request_version() const { + bool value = (_has_bits_[0] & 0x00040000u) != 0; + return value; +} +inline bool PlayReadyLicenseRequest::has_request_version() const { + return _internal_has_request_version(); +} +inline void PlayReadyLicenseRequest::clear_request_version() { + request_version_ = 0; + _has_bits_[0] &= ~0x00040000u; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 PlayReadyLicenseRequest::_internal_request_version() const { + return request_version_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 PlayReadyLicenseRequest::request_version() const { + // @@protoc_insertion_point(field_get:video_widevine.PlayReadyLicenseRequest.request_version) + return _internal_request_version(); +} +inline void PlayReadyLicenseRequest::_internal_set_request_version(::PROTOBUF_NAMESPACE_ID::int32 value) { + _has_bits_[0] |= 0x00040000u; + request_version_ = value; +} +inline void PlayReadyLicenseRequest::set_request_version(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_request_version(value); + // @@protoc_insertion_point(field_set:video_widevine.PlayReadyLicenseRequest.request_version) +} + // ------------------------------------------------------------------- // PlayReadyLicenseResponse_ClientCertificateInfo diff --git a/centos/protos/public/provider_key.pb.h b/centos/protos/public/provider_key.pb.h new file mode 100755 index 0000000..8634661 --- /dev/null +++ b/centos/protos/public/provider_key.pb.h @@ -0,0 +1,1066 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: protos/public/provider_key.proto + +#ifndef GOOGLE_PROTOBUF_INCLUDED_protos_2fpublic_2fprovider_5fkey_2eproto +#define GOOGLE_PROTOBUF_INCLUDED_protos_2fpublic_2fprovider_5fkey_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3017000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3017003 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +#include +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_protos_2fpublic_2fprovider_5fkey_2eproto +PROTOBUF_NAMESPACE_OPEN +namespace internal { +class AnyMetadata; +} // namespace internal +PROTOBUF_NAMESPACE_CLOSE + +// Internal implementation detail -- do not use these members. +struct TableStruct_protos_2fpublic_2fprovider_5fkey_2eproto { + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; + static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; + static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]; +}; +extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_protos_2fpublic_2fprovider_5fkey_2eproto; +namespace video_widevine { +class ProviderKey; +struct ProviderKeyDefaultTypeInternal; +extern ProviderKeyDefaultTypeInternal _ProviderKey_default_instance_; +class ProviderKeyConfig; +struct ProviderKeyConfigDefaultTypeInternal; +extern ProviderKeyConfigDefaultTypeInternal _ProviderKeyConfig_default_instance_; +class ProviderKeys; +struct ProviderKeysDefaultTypeInternal; +extern ProviderKeysDefaultTypeInternal _ProviderKeys_default_instance_; +} // namespace video_widevine +PROTOBUF_NAMESPACE_OPEN +template<> ::video_widevine::ProviderKey* Arena::CreateMaybeMessage<::video_widevine::ProviderKey>(Arena*); +template<> ::video_widevine::ProviderKeyConfig* Arena::CreateMaybeMessage<::video_widevine::ProviderKeyConfig>(Arena*); +template<> ::video_widevine::ProviderKeys* Arena::CreateMaybeMessage<::video_widevine::ProviderKeys>(Arena*); +PROTOBUF_NAMESPACE_CLOSE +namespace video_widevine { + +enum ProviderKey_EncryptionScheme : int { + ProviderKey_EncryptionScheme_UNSPECIFIED = 0, + ProviderKey_EncryptionScheme_CBC = 1, + ProviderKey_EncryptionScheme_CTR = 2 +}; +bool ProviderKey_EncryptionScheme_IsValid(int value); +constexpr ProviderKey_EncryptionScheme ProviderKey_EncryptionScheme_EncryptionScheme_MIN = ProviderKey_EncryptionScheme_UNSPECIFIED; +constexpr ProviderKey_EncryptionScheme ProviderKey_EncryptionScheme_EncryptionScheme_MAX = ProviderKey_EncryptionScheme_CTR; +constexpr int ProviderKey_EncryptionScheme_EncryptionScheme_ARRAYSIZE = ProviderKey_EncryptionScheme_EncryptionScheme_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ProviderKey_EncryptionScheme_descriptor(); +template +inline const std::string& ProviderKey_EncryptionScheme_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function ProviderKey_EncryptionScheme_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + ProviderKey_EncryptionScheme_descriptor(), enum_t_value); +} +inline bool ProviderKey_EncryptionScheme_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ProviderKey_EncryptionScheme* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + ProviderKey_EncryptionScheme_descriptor(), name, value); +} +// =================================================================== + +class ProviderKey final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.ProviderKey) */ { + public: + inline ProviderKey() : ProviderKey(nullptr) {} + ~ProviderKey() override; + explicit constexpr ProviderKey(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ProviderKey(const ProviderKey& from); + ProviderKey(ProviderKey&& from) noexcept + : ProviderKey() { + *this = ::std::move(from); + } + + inline ProviderKey& operator=(const ProviderKey& from) { + CopyFrom(from); + return *this; + } + inline ProviderKey& operator=(ProviderKey&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ProviderKey& default_instance() { + return *internal_default_instance(); + } + static inline const ProviderKey* internal_default_instance() { + return reinterpret_cast( + &_ProviderKey_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(ProviderKey& a, ProviderKey& b) { + a.Swap(&b); + } + inline void Swap(ProviderKey* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ProviderKey* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ProviderKey* New() const final { + return new ProviderKey(); + } + + ProviderKey* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ProviderKey& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const ProviderKey& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ProviderKey* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "video_widevine.ProviderKey"; + } + protected: + explicit ProviderKey(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef ProviderKey_EncryptionScheme EncryptionScheme; + static constexpr EncryptionScheme UNSPECIFIED = + ProviderKey_EncryptionScheme_UNSPECIFIED; + static constexpr EncryptionScheme CBC = + ProviderKey_EncryptionScheme_CBC; + static constexpr EncryptionScheme CTR = + ProviderKey_EncryptionScheme_CTR; + static inline bool EncryptionScheme_IsValid(int value) { + return ProviderKey_EncryptionScheme_IsValid(value); + } + static constexpr EncryptionScheme EncryptionScheme_MIN = + ProviderKey_EncryptionScheme_EncryptionScheme_MIN; + static constexpr EncryptionScheme EncryptionScheme_MAX = + ProviderKey_EncryptionScheme_EncryptionScheme_MAX; + static constexpr int EncryptionScheme_ARRAYSIZE = + ProviderKey_EncryptionScheme_EncryptionScheme_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + EncryptionScheme_descriptor() { + return ProviderKey_EncryptionScheme_descriptor(); + } + template + static inline const std::string& EncryptionScheme_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function EncryptionScheme_Name."); + return ProviderKey_EncryptionScheme_Name(enum_t_value); + } + static inline bool EncryptionScheme_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + EncryptionScheme* value) { + return ProviderKey_EncryptionScheme_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + enum : int { + kProviderKeyFieldNumber = 2, + kContentKeyMaskFieldNumber = 4, + kContentProviderFieldNumber = 5, + kProviderKeyIdFieldNumber = 1, + kEncryptionSchemeFieldNumber = 3, + }; + // optional bytes provider_key = 2; + bool has_provider_key() const; + private: + bool _internal_has_provider_key() const; + public: + void clear_provider_key(); + const std::string& provider_key() const; + template + void set_provider_key(ArgT0&& arg0, ArgT... args); + std::string* mutable_provider_key(); + PROTOBUF_MUST_USE_RESULT std::string* release_provider_key(); + void set_allocated_provider_key(std::string* provider_key); + private: + const std::string& _internal_provider_key() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_provider_key(const std::string& value); + std::string* _internal_mutable_provider_key(); + public: + + // optional bytes content_key_mask = 4; + bool has_content_key_mask() const; + private: + bool _internal_has_content_key_mask() const; + public: + void clear_content_key_mask(); + const std::string& content_key_mask() const; + template + void set_content_key_mask(ArgT0&& arg0, ArgT... args); + std::string* mutable_content_key_mask(); + PROTOBUF_MUST_USE_RESULT std::string* release_content_key_mask(); + void set_allocated_content_key_mask(std::string* content_key_mask); + private: + const std::string& _internal_content_key_mask() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_content_key_mask(const std::string& value); + std::string* _internal_mutable_content_key_mask(); + public: + + // optional string content_provider = 5; + bool has_content_provider() const; + private: + bool _internal_has_content_provider() const; + public: + void clear_content_provider(); + const std::string& content_provider() const; + template + void set_content_provider(ArgT0&& arg0, ArgT... args); + std::string* mutable_content_provider(); + PROTOBUF_MUST_USE_RESULT std::string* release_content_provider(); + void set_allocated_content_provider(std::string* content_provider); + private: + const std::string& _internal_content_provider() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_content_provider(const std::string& value); + std::string* _internal_mutable_content_provider(); + public: + + // optional uint32 provider_key_id = 1; + bool has_provider_key_id() const; + private: + bool _internal_has_provider_key_id() const; + public: + void clear_provider_key_id(); + ::PROTOBUF_NAMESPACE_ID::uint32 provider_key_id() const; + void set_provider_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_provider_key_id() const; + void _internal_set_provider_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + + // optional .video_widevine.ProviderKey.EncryptionScheme encryption_scheme = 3; + bool has_encryption_scheme() const; + private: + bool _internal_has_encryption_scheme() const; + public: + void clear_encryption_scheme(); + ::video_widevine::ProviderKey_EncryptionScheme encryption_scheme() const; + void set_encryption_scheme(::video_widevine::ProviderKey_EncryptionScheme value); + private: + ::video_widevine::ProviderKey_EncryptionScheme _internal_encryption_scheme() const; + void _internal_set_encryption_scheme(::video_widevine::ProviderKey_EncryptionScheme value); + public: + + // @@protoc_insertion_point(class_scope:video_widevine.ProviderKey) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr provider_key_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr content_key_mask_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr content_provider_; + ::PROTOBUF_NAMESPACE_ID::uint32 provider_key_id_; + int encryption_scheme_; + friend struct ::TableStruct_protos_2fpublic_2fprovider_5fkey_2eproto; +}; +// ------------------------------------------------------------------- + +class ProviderKeyConfig final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.ProviderKeyConfig) */ { + public: + inline ProviderKeyConfig() : ProviderKeyConfig(nullptr) {} + ~ProviderKeyConfig() override; + explicit constexpr ProviderKeyConfig(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ProviderKeyConfig(const ProviderKeyConfig& from); + ProviderKeyConfig(ProviderKeyConfig&& from) noexcept + : ProviderKeyConfig() { + *this = ::std::move(from); + } + + inline ProviderKeyConfig& operator=(const ProviderKeyConfig& from) { + CopyFrom(from); + return *this; + } + inline ProviderKeyConfig& operator=(ProviderKeyConfig&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ProviderKeyConfig& default_instance() { + return *internal_default_instance(); + } + static inline const ProviderKeyConfig* internal_default_instance() { + return reinterpret_cast( + &_ProviderKeyConfig_default_instance_); + } + static constexpr int kIndexInFileMessages = + 1; + + friend void swap(ProviderKeyConfig& a, ProviderKeyConfig& b) { + a.Swap(&b); + } + inline void Swap(ProviderKeyConfig* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ProviderKeyConfig* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ProviderKeyConfig* New() const final { + return new ProviderKeyConfig(); + } + + ProviderKeyConfig* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ProviderKeyConfig& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const ProviderKeyConfig& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ProviderKeyConfig* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "video_widevine.ProviderKeyConfig"; + } + protected: + explicit ProviderKeyConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kProviderKeysFieldNumber = 2, + kProviderKeyConfigVersionFieldNumber = 1, + }; + // repeated .video_widevine.ProviderKey provider_keys = 2; + int provider_keys_size() const; + private: + int _internal_provider_keys_size() const; + public: + void clear_provider_keys(); + ::video_widevine::ProviderKey* mutable_provider_keys(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey >* + mutable_provider_keys(); + private: + const ::video_widevine::ProviderKey& _internal_provider_keys(int index) const; + ::video_widevine::ProviderKey* _internal_add_provider_keys(); + public: + const ::video_widevine::ProviderKey& provider_keys(int index) const; + ::video_widevine::ProviderKey* add_provider_keys(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey >& + provider_keys() const; + + // optional uint32 provider_key_config_version = 1 [default = 1]; + bool has_provider_key_config_version() const; + private: + bool _internal_has_provider_key_config_version() const; + public: + void clear_provider_key_config_version(); + ::PROTOBUF_NAMESPACE_ID::uint32 provider_key_config_version() const; + void set_provider_key_config_version(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_provider_key_config_version() const; + void _internal_set_provider_key_config_version(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + + // @@protoc_insertion_point(class_scope:video_widevine.ProviderKeyConfig) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey > provider_keys_; + ::PROTOBUF_NAMESPACE_ID::uint32 provider_key_config_version_; + friend struct ::TableStruct_protos_2fpublic_2fprovider_5fkey_2eproto; +}; +// ------------------------------------------------------------------- + +class ProviderKeys final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.ProviderKeys) */ { + public: + inline ProviderKeys() : ProviderKeys(nullptr) {} + ~ProviderKeys() override; + explicit constexpr ProviderKeys(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ProviderKeys(const ProviderKeys& from); + ProviderKeys(ProviderKeys&& from) noexcept + : ProviderKeys() { + *this = ::std::move(from); + } + + inline ProviderKeys& operator=(const ProviderKeys& from) { + CopyFrom(from); + return *this; + } + inline ProviderKeys& operator=(ProviderKeys&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ProviderKeys& default_instance() { + return *internal_default_instance(); + } + static inline const ProviderKeys* internal_default_instance() { + return reinterpret_cast( + &_ProviderKeys_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + friend void swap(ProviderKeys& a, ProviderKeys& b) { + a.Swap(&b); + } + inline void Swap(ProviderKeys* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ProviderKeys* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ProviderKeys* New() const final { + return new ProviderKeys(); + } + + ProviderKeys* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ProviderKeys& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const ProviderKeys& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ProviderKeys* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "video_widevine.ProviderKeys"; + } + protected: + explicit ProviderKeys(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kProviderKeysFieldNumber = 1, + }; + // repeated .video_widevine.ProviderKey provider_keys = 1; + int provider_keys_size() const; + private: + int _internal_provider_keys_size() const; + public: + void clear_provider_keys(); + ::video_widevine::ProviderKey* mutable_provider_keys(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey >* + mutable_provider_keys(); + private: + const ::video_widevine::ProviderKey& _internal_provider_keys(int index) const; + ::video_widevine::ProviderKey* _internal_add_provider_keys(); + public: + const ::video_widevine::ProviderKey& provider_keys(int index) const; + ::video_widevine::ProviderKey* add_provider_keys(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey >& + provider_keys() const; + + // @@protoc_insertion_point(class_scope:video_widevine.ProviderKeys) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey > provider_keys_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_protos_2fpublic_2fprovider_5fkey_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// ProviderKey + +// optional uint32 provider_key_id = 1; +inline bool ProviderKey::_internal_has_provider_key_id() const { + bool value = (_has_bits_[0] & 0x00000008u) != 0; + return value; +} +inline bool ProviderKey::has_provider_key_id() const { + return _internal_has_provider_key_id(); +} +inline void ProviderKey::clear_provider_key_id() { + provider_key_id_ = 0u; + _has_bits_[0] &= ~0x00000008u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ProviderKey::_internal_provider_key_id() const { + return provider_key_id_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ProviderKey::provider_key_id() const { + // @@protoc_insertion_point(field_get:video_widevine.ProviderKey.provider_key_id) + return _internal_provider_key_id(); +} +inline void ProviderKey::_internal_set_provider_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00000008u; + provider_key_id_ = value; +} +inline void ProviderKey::set_provider_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_provider_key_id(value); + // @@protoc_insertion_point(field_set:video_widevine.ProviderKey.provider_key_id) +} + +// optional bytes provider_key = 2; +inline bool ProviderKey::_internal_has_provider_key() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool ProviderKey::has_provider_key() const { + return _internal_has_provider_key(); +} +inline void ProviderKey::clear_provider_key() { + provider_key_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000001u; +} +inline const std::string& ProviderKey::provider_key() const { + // @@protoc_insertion_point(field_get:video_widevine.ProviderKey.provider_key) + return _internal_provider_key(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ProviderKey::set_provider_key(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000001u; + provider_key_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:video_widevine.ProviderKey.provider_key) +} +inline std::string* ProviderKey::mutable_provider_key() { + std::string* _s = _internal_mutable_provider_key(); + // @@protoc_insertion_point(field_mutable:video_widevine.ProviderKey.provider_key) + return _s; +} +inline const std::string& ProviderKey::_internal_provider_key() const { + return provider_key_.Get(); +} +inline void ProviderKey::_internal_set_provider_key(const std::string& value) { + _has_bits_[0] |= 0x00000001u; + provider_key_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* ProviderKey::_internal_mutable_provider_key() { + _has_bits_[0] |= 0x00000001u; + return provider_key_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* ProviderKey::release_provider_key() { + // @@protoc_insertion_point(field_release:video_widevine.ProviderKey.provider_key) + if (!_internal_has_provider_key()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000001u; + return provider_key_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void ProviderKey::set_allocated_provider_key(std::string* provider_key) { + if (provider_key != nullptr) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + provider_key_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), provider_key, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:video_widevine.ProviderKey.provider_key) +} + +// optional .video_widevine.ProviderKey.EncryptionScheme encryption_scheme = 3; +inline bool ProviderKey::_internal_has_encryption_scheme() const { + bool value = (_has_bits_[0] & 0x00000010u) != 0; + return value; +} +inline bool ProviderKey::has_encryption_scheme() const { + return _internal_has_encryption_scheme(); +} +inline void ProviderKey::clear_encryption_scheme() { + encryption_scheme_ = 0; + _has_bits_[0] &= ~0x00000010u; +} +inline ::video_widevine::ProviderKey_EncryptionScheme ProviderKey::_internal_encryption_scheme() const { + return static_cast< ::video_widevine::ProviderKey_EncryptionScheme >(encryption_scheme_); +} +inline ::video_widevine::ProviderKey_EncryptionScheme ProviderKey::encryption_scheme() const { + // @@protoc_insertion_point(field_get:video_widevine.ProviderKey.encryption_scheme) + return _internal_encryption_scheme(); +} +inline void ProviderKey::_internal_set_encryption_scheme(::video_widevine::ProviderKey_EncryptionScheme value) { + assert(::video_widevine::ProviderKey_EncryptionScheme_IsValid(value)); + _has_bits_[0] |= 0x00000010u; + encryption_scheme_ = value; +} +inline void ProviderKey::set_encryption_scheme(::video_widevine::ProviderKey_EncryptionScheme value) { + _internal_set_encryption_scheme(value); + // @@protoc_insertion_point(field_set:video_widevine.ProviderKey.encryption_scheme) +} + +// optional bytes content_key_mask = 4; +inline bool ProviderKey::_internal_has_content_key_mask() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool ProviderKey::has_content_key_mask() const { + return _internal_has_content_key_mask(); +} +inline void ProviderKey::clear_content_key_mask() { + content_key_mask_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000002u; +} +inline const std::string& ProviderKey::content_key_mask() const { + // @@protoc_insertion_point(field_get:video_widevine.ProviderKey.content_key_mask) + return _internal_content_key_mask(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ProviderKey::set_content_key_mask(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000002u; + content_key_mask_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:video_widevine.ProviderKey.content_key_mask) +} +inline std::string* ProviderKey::mutable_content_key_mask() { + std::string* _s = _internal_mutable_content_key_mask(); + // @@protoc_insertion_point(field_mutable:video_widevine.ProviderKey.content_key_mask) + return _s; +} +inline const std::string& ProviderKey::_internal_content_key_mask() const { + return content_key_mask_.Get(); +} +inline void ProviderKey::_internal_set_content_key_mask(const std::string& value) { + _has_bits_[0] |= 0x00000002u; + content_key_mask_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* ProviderKey::_internal_mutable_content_key_mask() { + _has_bits_[0] |= 0x00000002u; + return content_key_mask_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* ProviderKey::release_content_key_mask() { + // @@protoc_insertion_point(field_release:video_widevine.ProviderKey.content_key_mask) + if (!_internal_has_content_key_mask()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000002u; + return content_key_mask_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void ProviderKey::set_allocated_content_key_mask(std::string* content_key_mask) { + if (content_key_mask != nullptr) { + _has_bits_[0] |= 0x00000002u; + } else { + _has_bits_[0] &= ~0x00000002u; + } + content_key_mask_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), content_key_mask, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:video_widevine.ProviderKey.content_key_mask) +} + +// optional string content_provider = 5; +inline bool ProviderKey::_internal_has_content_provider() const { + bool value = (_has_bits_[0] & 0x00000004u) != 0; + return value; +} +inline bool ProviderKey::has_content_provider() const { + return _internal_has_content_provider(); +} +inline void ProviderKey::clear_content_provider() { + content_provider_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000004u; +} +inline const std::string& ProviderKey::content_provider() const { + // @@protoc_insertion_point(field_get:video_widevine.ProviderKey.content_provider) + return _internal_content_provider(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ProviderKey::set_content_provider(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000004u; + content_provider_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:video_widevine.ProviderKey.content_provider) +} +inline std::string* ProviderKey::mutable_content_provider() { + std::string* _s = _internal_mutable_content_provider(); + // @@protoc_insertion_point(field_mutable:video_widevine.ProviderKey.content_provider) + return _s; +} +inline const std::string& ProviderKey::_internal_content_provider() const { + return content_provider_.Get(); +} +inline void ProviderKey::_internal_set_content_provider(const std::string& value) { + _has_bits_[0] |= 0x00000004u; + content_provider_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* ProviderKey::_internal_mutable_content_provider() { + _has_bits_[0] |= 0x00000004u; + return content_provider_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* ProviderKey::release_content_provider() { + // @@protoc_insertion_point(field_release:video_widevine.ProviderKey.content_provider) + if (!_internal_has_content_provider()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000004u; + return content_provider_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void ProviderKey::set_allocated_content_provider(std::string* content_provider) { + if (content_provider != nullptr) { + _has_bits_[0] |= 0x00000004u; + } else { + _has_bits_[0] &= ~0x00000004u; + } + content_provider_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), content_provider, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:video_widevine.ProviderKey.content_provider) +} + +// ------------------------------------------------------------------- + +// ProviderKeyConfig + +// optional uint32 provider_key_config_version = 1 [default = 1]; +inline bool ProviderKeyConfig::_internal_has_provider_key_config_version() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool ProviderKeyConfig::has_provider_key_config_version() const { + return _internal_has_provider_key_config_version(); +} +inline void ProviderKeyConfig::clear_provider_key_config_version() { + provider_key_config_version_ = 1u; + _has_bits_[0] &= ~0x00000001u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ProviderKeyConfig::_internal_provider_key_config_version() const { + return provider_key_config_version_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ProviderKeyConfig::provider_key_config_version() const { + // @@protoc_insertion_point(field_get:video_widevine.ProviderKeyConfig.provider_key_config_version) + return _internal_provider_key_config_version(); +} +inline void ProviderKeyConfig::_internal_set_provider_key_config_version(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00000001u; + provider_key_config_version_ = value; +} +inline void ProviderKeyConfig::set_provider_key_config_version(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_provider_key_config_version(value); + // @@protoc_insertion_point(field_set:video_widevine.ProviderKeyConfig.provider_key_config_version) +} + +// repeated .video_widevine.ProviderKey provider_keys = 2; +inline int ProviderKeyConfig::_internal_provider_keys_size() const { + return provider_keys_.size(); +} +inline int ProviderKeyConfig::provider_keys_size() const { + return _internal_provider_keys_size(); +} +inline void ProviderKeyConfig::clear_provider_keys() { + provider_keys_.Clear(); +} +inline ::video_widevine::ProviderKey* ProviderKeyConfig::mutable_provider_keys(int index) { + // @@protoc_insertion_point(field_mutable:video_widevine.ProviderKeyConfig.provider_keys) + return provider_keys_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey >* +ProviderKeyConfig::mutable_provider_keys() { + // @@protoc_insertion_point(field_mutable_list:video_widevine.ProviderKeyConfig.provider_keys) + return &provider_keys_; +} +inline const ::video_widevine::ProviderKey& ProviderKeyConfig::_internal_provider_keys(int index) const { + return provider_keys_.Get(index); +} +inline const ::video_widevine::ProviderKey& ProviderKeyConfig::provider_keys(int index) const { + // @@protoc_insertion_point(field_get:video_widevine.ProviderKeyConfig.provider_keys) + return _internal_provider_keys(index); +} +inline ::video_widevine::ProviderKey* ProviderKeyConfig::_internal_add_provider_keys() { + return provider_keys_.Add(); +} +inline ::video_widevine::ProviderKey* ProviderKeyConfig::add_provider_keys() { + ::video_widevine::ProviderKey* _add = _internal_add_provider_keys(); + // @@protoc_insertion_point(field_add:video_widevine.ProviderKeyConfig.provider_keys) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey >& +ProviderKeyConfig::provider_keys() const { + // @@protoc_insertion_point(field_list:video_widevine.ProviderKeyConfig.provider_keys) + return provider_keys_; +} + +// ------------------------------------------------------------------- + +// ProviderKeys + +// repeated .video_widevine.ProviderKey provider_keys = 1; +inline int ProviderKeys::_internal_provider_keys_size() const { + return provider_keys_.size(); +} +inline int ProviderKeys::provider_keys_size() const { + return _internal_provider_keys_size(); +} +inline void ProviderKeys::clear_provider_keys() { + provider_keys_.Clear(); +} +inline ::video_widevine::ProviderKey* ProviderKeys::mutable_provider_keys(int index) { + // @@protoc_insertion_point(field_mutable:video_widevine.ProviderKeys.provider_keys) + return provider_keys_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey >* +ProviderKeys::mutable_provider_keys() { + // @@protoc_insertion_point(field_mutable_list:video_widevine.ProviderKeys.provider_keys) + return &provider_keys_; +} +inline const ::video_widevine::ProviderKey& ProviderKeys::_internal_provider_keys(int index) const { + return provider_keys_.Get(index); +} +inline const ::video_widevine::ProviderKey& ProviderKeys::provider_keys(int index) const { + // @@protoc_insertion_point(field_get:video_widevine.ProviderKeys.provider_keys) + return _internal_provider_keys(index); +} +inline ::video_widevine::ProviderKey* ProviderKeys::_internal_add_provider_keys() { + return provider_keys_.Add(); +} +inline ::video_widevine::ProviderKey* ProviderKeys::add_provider_keys() { + ::video_widevine::ProviderKey* _add = _internal_add_provider_keys(); + // @@protoc_insertion_point(field_add:video_widevine.ProviderKeys.provider_keys) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey >& +ProviderKeys::provider_keys() const { + // @@protoc_insertion_point(field_list:video_widevine.ProviderKeys.provider_keys) + return provider_keys_; +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace video_widevine + +PROTOBUF_NAMESPACE_OPEN + +template <> struct is_proto_enum< ::video_widevine::ProviderKey_EncryptionScheme> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::ProviderKey_EncryptionScheme>() { + return ::video_widevine::ProviderKey_EncryptionScheme_descriptor(); +} + +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) + +#include +#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_protos_2fpublic_2fprovider_5fkey_2eproto diff --git a/centos/protos/public/provisioned_device_info.pb.h b/centos/protos/public/provisioned_device_info.pb.h index d47fa0f..eda0649 100755 --- a/centos/protos/public/provisioned_device_info.pb.h +++ b/centos/protos/public/provisioned_device_info.pb.h @@ -344,6 +344,8 @@ class ProvisionedDeviceInfo final : kPlatformFieldNumber = 11, kDeviceStateFieldNumber = 12, kVulnerabilityLevelFieldNumber = 13, + kVerificationLevelFieldNumber = 14, + kProviderKeyVersionFieldNumber = 15, }; // repeated .video_widevine.DeviceModel model_info = 10; int model_info_size() const; @@ -539,6 +541,32 @@ class ProvisionedDeviceInfo final : void _internal_set_vulnerability_level(::video_widevine::VulnerabilityLevel value); public: + // optional .video_widevine.VerificationLevel verification_level = 14; + bool has_verification_level() const; + private: + bool _internal_has_verification_level() const; + public: + void clear_verification_level(); + ::video_widevine::VerificationLevel verification_level() const; + void set_verification_level(::video_widevine::VerificationLevel value); + private: + ::video_widevine::VerificationLevel _internal_verification_level() const; + void _internal_set_verification_level(::video_widevine::VerificationLevel value); + public: + + // optional uint32 provider_key_version = 15; + bool has_provider_key_version() const; + private: + bool _internal_has_provider_key_version() const; + public: + void clear_provider_key_version(); + ::PROTOBUF_NAMESPACE_ID::uint32 provider_key_version() const; + void set_provider_key_version(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_provider_key_version() const; + void _internal_set_provider_key_version(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + // @@protoc_insertion_point(class_scope:video_widevine.ProvisionedDeviceInfo) private: class _Internal; @@ -561,6 +589,8 @@ class ProvisionedDeviceInfo final : int platform_; int device_state_; int vulnerability_level_; + int verification_level_; + ::PROTOBUF_NAMESPACE_ID::uint32 provider_key_version_; friend struct ::TableStruct_protos_2fpublic_2fprovisioned_5fdevice_5finfo_2eproto; }; // =================================================================== @@ -1072,6 +1102,63 @@ inline void ProvisionedDeviceInfo::set_vulnerability_level(::video_widevine::Vul // @@protoc_insertion_point(field_set:video_widevine.ProvisionedDeviceInfo.vulnerability_level) } +// optional .video_widevine.VerificationLevel verification_level = 14; +inline bool ProvisionedDeviceInfo::_internal_has_verification_level() const { + bool value = (_has_bits_[0] & 0x00001000u) != 0; + return value; +} +inline bool ProvisionedDeviceInfo::has_verification_level() const { + return _internal_has_verification_level(); +} +inline void ProvisionedDeviceInfo::clear_verification_level() { + verification_level_ = 0; + _has_bits_[0] &= ~0x00001000u; +} +inline ::video_widevine::VerificationLevel ProvisionedDeviceInfo::_internal_verification_level() const { + return static_cast< ::video_widevine::VerificationLevel >(verification_level_); +} +inline ::video_widevine::VerificationLevel ProvisionedDeviceInfo::verification_level() const { + // @@protoc_insertion_point(field_get:video_widevine.ProvisionedDeviceInfo.verification_level) + return _internal_verification_level(); +} +inline void ProvisionedDeviceInfo::_internal_set_verification_level(::video_widevine::VerificationLevel value) { + assert(::video_widevine::VerificationLevel_IsValid(value)); + _has_bits_[0] |= 0x00001000u; + verification_level_ = value; +} +inline void ProvisionedDeviceInfo::set_verification_level(::video_widevine::VerificationLevel value) { + _internal_set_verification_level(value); + // @@protoc_insertion_point(field_set:video_widevine.ProvisionedDeviceInfo.verification_level) +} + +// optional uint32 provider_key_version = 15; +inline bool ProvisionedDeviceInfo::_internal_has_provider_key_version() const { + bool value = (_has_bits_[0] & 0x00002000u) != 0; + return value; +} +inline bool ProvisionedDeviceInfo::has_provider_key_version() const { + return _internal_has_provider_key_version(); +} +inline void ProvisionedDeviceInfo::clear_provider_key_version() { + provider_key_version_ = 0u; + _has_bits_[0] &= ~0x00002000u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ProvisionedDeviceInfo::_internal_provider_key_version() const { + return provider_key_version_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ProvisionedDeviceInfo::provider_key_version() const { + // @@protoc_insertion_point(field_get:video_widevine.ProvisionedDeviceInfo.provider_key_version) + return _internal_provider_key_version(); +} +inline void ProvisionedDeviceInfo::_internal_set_provider_key_version(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00002000u; + provider_key_version_ = value; +} +inline void ProvisionedDeviceInfo::set_provider_key_version(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_provider_key_version(value); + // @@protoc_insertion_point(field_set:video_widevine.ProvisionedDeviceInfo.provider_key_version) +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ diff --git a/centos/protos/public/root_of_trust_id.pb.h b/centos/protos/public/root_of_trust_id.pb.h new file mode 100755 index 0000000..c957432 --- /dev/null +++ b/centos/protos/public/root_of_trust_id.pb.h @@ -0,0 +1,531 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: protos/public/root_of_trust_id.proto + +#ifndef GOOGLE_PROTOBUF_INCLUDED_protos_2fpublic_2froot_5fof_5ftrust_5fid_2eproto +#define GOOGLE_PROTOBUF_INCLUDED_protos_2fpublic_2froot_5fof_5ftrust_5fid_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3017000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3017003 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +#include +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_protos_2fpublic_2froot_5fof_5ftrust_5fid_2eproto +PROTOBUF_NAMESPACE_OPEN +namespace internal { +class AnyMetadata; +} // namespace internal +PROTOBUF_NAMESPACE_CLOSE + +// Internal implementation detail -- do not use these members. +struct TableStruct_protos_2fpublic_2froot_5fof_5ftrust_5fid_2eproto { + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; + static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; + static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]; +}; +extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_protos_2fpublic_2froot_5fof_5ftrust_5fid_2eproto; +namespace video_widevine { +class RootOfTrustId; +struct RootOfTrustIdDefaultTypeInternal; +extern RootOfTrustIdDefaultTypeInternal _RootOfTrustId_default_instance_; +} // namespace video_widevine +PROTOBUF_NAMESPACE_OPEN +template<> ::video_widevine::RootOfTrustId* Arena::CreateMaybeMessage<::video_widevine::RootOfTrustId>(Arena*); +PROTOBUF_NAMESPACE_CLOSE +namespace video_widevine { + +enum RootOfTrustId_RootOfTrustIdVersion : int { + RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_UNSPECIFIED = 0, + RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_1 = 1 +}; +bool RootOfTrustId_RootOfTrustIdVersion_IsValid(int value); +constexpr RootOfTrustId_RootOfTrustIdVersion RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MIN = RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_UNSPECIFIED; +constexpr RootOfTrustId_RootOfTrustIdVersion RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MAX = RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_1; +constexpr int RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_ARRAYSIZE = RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RootOfTrustId_RootOfTrustIdVersion_descriptor(); +template +inline const std::string& RootOfTrustId_RootOfTrustIdVersion_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function RootOfTrustId_RootOfTrustIdVersion_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + RootOfTrustId_RootOfTrustIdVersion_descriptor(), enum_t_value); +} +inline bool RootOfTrustId_RootOfTrustIdVersion_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, RootOfTrustId_RootOfTrustIdVersion* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + RootOfTrustId_RootOfTrustIdVersion_descriptor(), name, value); +} +// =================================================================== + +class RootOfTrustId final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.RootOfTrustId) */ { + public: + inline RootOfTrustId() : RootOfTrustId(nullptr) {} + ~RootOfTrustId() override; + explicit constexpr RootOfTrustId(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + RootOfTrustId(const RootOfTrustId& from); + RootOfTrustId(RootOfTrustId&& from) noexcept + : RootOfTrustId() { + *this = ::std::move(from); + } + + inline RootOfTrustId& operator=(const RootOfTrustId& from) { + CopyFrom(from); + return *this; + } + inline RootOfTrustId& operator=(RootOfTrustId&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const RootOfTrustId& default_instance() { + return *internal_default_instance(); + } + static inline const RootOfTrustId* internal_default_instance() { + return reinterpret_cast( + &_RootOfTrustId_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(RootOfTrustId& a, RootOfTrustId& b) { + a.Swap(&b); + } + inline void Swap(RootOfTrustId* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(RootOfTrustId* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline RootOfTrustId* New() const final { + return new RootOfTrustId(); + } + + RootOfTrustId* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const RootOfTrustId& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const RootOfTrustId& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(RootOfTrustId* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "video_widevine.RootOfTrustId"; + } + protected: + explicit RootOfTrustId(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef RootOfTrustId_RootOfTrustIdVersion RootOfTrustIdVersion; + static constexpr RootOfTrustIdVersion ROOT_OF_TRUST_ID_VERSION_UNSPECIFIED = + RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_UNSPECIFIED; + static constexpr RootOfTrustIdVersion ROOT_OF_TRUST_ID_VERSION_1 = + RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_1; + static inline bool RootOfTrustIdVersion_IsValid(int value) { + return RootOfTrustId_RootOfTrustIdVersion_IsValid(value); + } + static constexpr RootOfTrustIdVersion RootOfTrustIdVersion_MIN = + RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MIN; + static constexpr RootOfTrustIdVersion RootOfTrustIdVersion_MAX = + RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MAX; + static constexpr int RootOfTrustIdVersion_ARRAYSIZE = + RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + RootOfTrustIdVersion_descriptor() { + return RootOfTrustId_RootOfTrustIdVersion_descriptor(); + } + template + static inline const std::string& RootOfTrustIdVersion_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function RootOfTrustIdVersion_Name."); + return RootOfTrustId_RootOfTrustIdVersion_Name(enum_t_value); + } + static inline bool RootOfTrustIdVersion_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + RootOfTrustIdVersion* value) { + return RootOfTrustId_RootOfTrustIdVersion_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + enum : int { + kEncryptedUniqueIdFieldNumber = 3, + kUniqueIdHashFieldNumber = 4, + kVersionFieldNumber = 1, + kKeyIdFieldNumber = 2, + }; + // optional bytes encrypted_unique_id = 3; + bool has_encrypted_unique_id() const; + private: + bool _internal_has_encrypted_unique_id() const; + public: + void clear_encrypted_unique_id(); + const std::string& encrypted_unique_id() const; + template + void set_encrypted_unique_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_encrypted_unique_id(); + PROTOBUF_MUST_USE_RESULT std::string* release_encrypted_unique_id(); + void set_allocated_encrypted_unique_id(std::string* encrypted_unique_id); + private: + const std::string& _internal_encrypted_unique_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_encrypted_unique_id(const std::string& value); + std::string* _internal_mutable_encrypted_unique_id(); + public: + + // optional bytes unique_id_hash = 4; + bool has_unique_id_hash() const; + private: + bool _internal_has_unique_id_hash() const; + public: + void clear_unique_id_hash(); + const std::string& unique_id_hash() const; + template + void set_unique_id_hash(ArgT0&& arg0, ArgT... args); + std::string* mutable_unique_id_hash(); + PROTOBUF_MUST_USE_RESULT std::string* release_unique_id_hash(); + void set_allocated_unique_id_hash(std::string* unique_id_hash); + private: + const std::string& _internal_unique_id_hash() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_unique_id_hash(const std::string& value); + std::string* _internal_mutable_unique_id_hash(); + public: + + // optional .video_widevine.RootOfTrustId.RootOfTrustIdVersion version = 1; + bool has_version() const; + private: + bool _internal_has_version() const; + public: + void clear_version(); + ::video_widevine::RootOfTrustId_RootOfTrustIdVersion version() const; + void set_version(::video_widevine::RootOfTrustId_RootOfTrustIdVersion value); + private: + ::video_widevine::RootOfTrustId_RootOfTrustIdVersion _internal_version() const; + void _internal_set_version(::video_widevine::RootOfTrustId_RootOfTrustIdVersion value); + public: + + // optional uint32 key_id = 2; + bool has_key_id() const; + private: + bool _internal_has_key_id() const; + public: + void clear_key_id(); + ::PROTOBUF_NAMESPACE_ID::uint32 key_id() const; + void set_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_key_id() const; + void _internal_set_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + + // @@protoc_insertion_point(class_scope:video_widevine.RootOfTrustId) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr encrypted_unique_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr unique_id_hash_; + int version_; + ::PROTOBUF_NAMESPACE_ID::uint32 key_id_; + friend struct ::TableStruct_protos_2fpublic_2froot_5fof_5ftrust_5fid_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// RootOfTrustId + +// optional .video_widevine.RootOfTrustId.RootOfTrustIdVersion version = 1; +inline bool RootOfTrustId::_internal_has_version() const { + bool value = (_has_bits_[0] & 0x00000004u) != 0; + return value; +} +inline bool RootOfTrustId::has_version() const { + return _internal_has_version(); +} +inline void RootOfTrustId::clear_version() { + version_ = 0; + _has_bits_[0] &= ~0x00000004u; +} +inline ::video_widevine::RootOfTrustId_RootOfTrustIdVersion RootOfTrustId::_internal_version() const { + return static_cast< ::video_widevine::RootOfTrustId_RootOfTrustIdVersion >(version_); +} +inline ::video_widevine::RootOfTrustId_RootOfTrustIdVersion RootOfTrustId::version() const { + // @@protoc_insertion_point(field_get:video_widevine.RootOfTrustId.version) + return _internal_version(); +} +inline void RootOfTrustId::_internal_set_version(::video_widevine::RootOfTrustId_RootOfTrustIdVersion value) { + assert(::video_widevine::RootOfTrustId_RootOfTrustIdVersion_IsValid(value)); + _has_bits_[0] |= 0x00000004u; + version_ = value; +} +inline void RootOfTrustId::set_version(::video_widevine::RootOfTrustId_RootOfTrustIdVersion value) { + _internal_set_version(value); + // @@protoc_insertion_point(field_set:video_widevine.RootOfTrustId.version) +} + +// optional uint32 key_id = 2; +inline bool RootOfTrustId::_internal_has_key_id() const { + bool value = (_has_bits_[0] & 0x00000008u) != 0; + return value; +} +inline bool RootOfTrustId::has_key_id() const { + return _internal_has_key_id(); +} +inline void RootOfTrustId::clear_key_id() { + key_id_ = 0u; + _has_bits_[0] &= ~0x00000008u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 RootOfTrustId::_internal_key_id() const { + return key_id_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 RootOfTrustId::key_id() const { + // @@protoc_insertion_point(field_get:video_widevine.RootOfTrustId.key_id) + return _internal_key_id(); +} +inline void RootOfTrustId::_internal_set_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00000008u; + key_id_ = value; +} +inline void RootOfTrustId::set_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_key_id(value); + // @@protoc_insertion_point(field_set:video_widevine.RootOfTrustId.key_id) +} + +// optional bytes encrypted_unique_id = 3; +inline bool RootOfTrustId::_internal_has_encrypted_unique_id() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool RootOfTrustId::has_encrypted_unique_id() const { + return _internal_has_encrypted_unique_id(); +} +inline void RootOfTrustId::clear_encrypted_unique_id() { + encrypted_unique_id_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000001u; +} +inline const std::string& RootOfTrustId::encrypted_unique_id() const { + // @@protoc_insertion_point(field_get:video_widevine.RootOfTrustId.encrypted_unique_id) + return _internal_encrypted_unique_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void RootOfTrustId::set_encrypted_unique_id(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000001u; + encrypted_unique_id_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:video_widevine.RootOfTrustId.encrypted_unique_id) +} +inline std::string* RootOfTrustId::mutable_encrypted_unique_id() { + std::string* _s = _internal_mutable_encrypted_unique_id(); + // @@protoc_insertion_point(field_mutable:video_widevine.RootOfTrustId.encrypted_unique_id) + return _s; +} +inline const std::string& RootOfTrustId::_internal_encrypted_unique_id() const { + return encrypted_unique_id_.Get(); +} +inline void RootOfTrustId::_internal_set_encrypted_unique_id(const std::string& value) { + _has_bits_[0] |= 0x00000001u; + encrypted_unique_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* RootOfTrustId::_internal_mutable_encrypted_unique_id() { + _has_bits_[0] |= 0x00000001u; + return encrypted_unique_id_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* RootOfTrustId::release_encrypted_unique_id() { + // @@protoc_insertion_point(field_release:video_widevine.RootOfTrustId.encrypted_unique_id) + if (!_internal_has_encrypted_unique_id()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000001u; + return encrypted_unique_id_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void RootOfTrustId::set_allocated_encrypted_unique_id(std::string* encrypted_unique_id) { + if (encrypted_unique_id != nullptr) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + encrypted_unique_id_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), encrypted_unique_id, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:video_widevine.RootOfTrustId.encrypted_unique_id) +} + +// optional bytes unique_id_hash = 4; +inline bool RootOfTrustId::_internal_has_unique_id_hash() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool RootOfTrustId::has_unique_id_hash() const { + return _internal_has_unique_id_hash(); +} +inline void RootOfTrustId::clear_unique_id_hash() { + unique_id_hash_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000002u; +} +inline const std::string& RootOfTrustId::unique_id_hash() const { + // @@protoc_insertion_point(field_get:video_widevine.RootOfTrustId.unique_id_hash) + return _internal_unique_id_hash(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void RootOfTrustId::set_unique_id_hash(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000002u; + unique_id_hash_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:video_widevine.RootOfTrustId.unique_id_hash) +} +inline std::string* RootOfTrustId::mutable_unique_id_hash() { + std::string* _s = _internal_mutable_unique_id_hash(); + // @@protoc_insertion_point(field_mutable:video_widevine.RootOfTrustId.unique_id_hash) + return _s; +} +inline const std::string& RootOfTrustId::_internal_unique_id_hash() const { + return unique_id_hash_.Get(); +} +inline void RootOfTrustId::_internal_set_unique_id_hash(const std::string& value) { + _has_bits_[0] |= 0x00000002u; + unique_id_hash_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* RootOfTrustId::_internal_mutable_unique_id_hash() { + _has_bits_[0] |= 0x00000002u; + return unique_id_hash_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* RootOfTrustId::release_unique_id_hash() { + // @@protoc_insertion_point(field_release:video_widevine.RootOfTrustId.unique_id_hash) + if (!_internal_has_unique_id_hash()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000002u; + return unique_id_hash_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void RootOfTrustId::set_allocated_unique_id_hash(std::string* unique_id_hash) { + if (unique_id_hash != nullptr) { + _has_bits_[0] |= 0x00000002u; + } else { + _has_bits_[0] &= ~0x00000002u; + } + unique_id_hash_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), unique_id_hash, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:video_widevine.RootOfTrustId.unique_id_hash) +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ + +// @@protoc_insertion_point(namespace_scope) + +} // namespace video_widevine + +PROTOBUF_NAMESPACE_OPEN + +template <> struct is_proto_enum< ::video_widevine::RootOfTrustId_RootOfTrustIdVersion> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::RootOfTrustId_RootOfTrustIdVersion>() { + return ::video_widevine::RootOfTrustId_RootOfTrustIdVersion_descriptor(); +} + +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) + +#include +#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_protos_2fpublic_2froot_5fof_5ftrust_5fid_2eproto diff --git a/centos/protos/public/sdk_license_data_config.pb.h b/centos/protos/public/sdk_license_data_config.pb.h index 14fdc12..d0a2230 100755 --- a/centos/protos/public/sdk_license_data_config.pb.h +++ b/centos/protos/public/sdk_license_data_config.pb.h @@ -1217,6 +1217,7 @@ class ContentInfoManager_ContentInfo final : enum : int { kKeyIdFieldNumber = 2, + kKeyContainerFieldNumber = 5, kContentIdFieldNumber = 1, kProviderSessionTokenFieldNumber = 3, kPolicyIdFieldNumber = 4, @@ -1245,6 +1246,24 @@ class ContentInfoManager_ContentInfo final : std::string* _internal_add_key_id(); public: + // repeated .video_widevine.License.KeyContainer key_container = 5; + int key_container_size() const; + private: + int _internal_key_container_size() const; + public: + void clear_key_container(); + ::video_widevine::License_KeyContainer* mutable_key_container(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::License_KeyContainer >* + mutable_key_container(); + private: + const ::video_widevine::License_KeyContainer& _internal_key_container(int index) const; + ::video_widevine::License_KeyContainer* _internal_add_key_container(); + public: + const ::video_widevine::License_KeyContainer& key_container(int index) const; + ::video_widevine::License_KeyContainer* add_key_container(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::License_KeyContainer >& + key_container() const; + // optional string content_id = 1; bool has_content_id() const; private: @@ -1309,6 +1328,7 @@ class ContentInfoManager_ContentInfo final : ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField key_id_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::License_KeyContainer > key_container_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr content_id_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr provider_session_token_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr policy_id_; @@ -2313,6 +2333,43 @@ inline void ContentInfoManager_ContentInfo::set_allocated_policy_id(std::string* // @@protoc_insertion_point(field_set_allocated:video_widevine.ContentInfoManager.ContentInfo.policy_id) } +// repeated .video_widevine.License.KeyContainer key_container = 5; +inline int ContentInfoManager_ContentInfo::_internal_key_container_size() const { + return key_container_.size(); +} +inline int ContentInfoManager_ContentInfo::key_container_size() const { + return _internal_key_container_size(); +} +inline ::video_widevine::License_KeyContainer* ContentInfoManager_ContentInfo::mutable_key_container(int index) { + // @@protoc_insertion_point(field_mutable:video_widevine.ContentInfoManager.ContentInfo.key_container) + return key_container_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::License_KeyContainer >* +ContentInfoManager_ContentInfo::mutable_key_container() { + // @@protoc_insertion_point(field_mutable_list:video_widevine.ContentInfoManager.ContentInfo.key_container) + return &key_container_; +} +inline const ::video_widevine::License_KeyContainer& ContentInfoManager_ContentInfo::_internal_key_container(int index) const { + return key_container_.Get(index); +} +inline const ::video_widevine::License_KeyContainer& ContentInfoManager_ContentInfo::key_container(int index) const { + // @@protoc_insertion_point(field_get:video_widevine.ContentInfoManager.ContentInfo.key_container) + return _internal_key_container(index); +} +inline ::video_widevine::License_KeyContainer* ContentInfoManager_ContentInfo::_internal_add_key_container() { + return key_container_.Add(); +} +inline ::video_widevine::License_KeyContainer* ContentInfoManager_ContentInfo::add_key_container() { + ::video_widevine::License_KeyContainer* _add = _internal_add_key_container(); + // @@protoc_insertion_point(field_add:video_widevine.ContentInfoManager.ContentInfo.key_container) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::License_KeyContainer >& +ContentInfoManager_ContentInfo::key_container() const { + // @@protoc_insertion_point(field_list:video_widevine.ContentInfoManager.ContentInfo.key_container) + return key_container_; +} + // ------------------------------------------------------------------- // ContentInfoManager diff --git a/centos/license_server_sdk/examples/wvpl_license_sdk_example.cc b/centos/sdk/examples/license_server_sdk/cpp/wvpl_license_sdk_example.cc similarity index 97% rename from centos/license_server_sdk/examples/wvpl_license_sdk_example.cc rename to centos/sdk/examples/license_server_sdk/cpp/wvpl_license_sdk_example.cc index 90b03c4..878a549 100755 --- a/centos/license_server_sdk/examples/wvpl_license_sdk_example.cc +++ b/centos/sdk/examples/license_server_sdk/cpp/wvpl_license_sdk_example.cc @@ -3,11 +3,12 @@ #include #include #include +#include #include "absl/strings/escaping.h" -#include "license_server_sdk/external/common/wvpl/wvpl_environment.h" -#include "license_server_sdk/external/common/wvpl/wvpl_license_counter.h" -#include "license_server_sdk/external/common/wvpl/wvpl_session.h" +#include "sdk/external/cpp/wvpl/license_server_sdk/wvpl_environment.h" +#include "sdk/external/cpp/wvpl/license_server_sdk/wvpl_license_counter.h" +#include "sdk/external/cpp/wvpl/license_server_sdk/wvpl_session.h" using video_widevine_server::wv_pl_sdk::HDCP_V1; using video_widevine_server::wv_pl_sdk::HDCP_V2; diff --git a/centos/license_server_sdk/examples/wvpl_license_sdk_using_dsp_example.cc b/centos/sdk/examples/license_server_sdk/cpp/wvpl_license_sdk_using_dsp_example.cc similarity index 98% rename from centos/license_server_sdk/examples/wvpl_license_sdk_using_dsp_example.cc rename to centos/sdk/examples/license_server_sdk/cpp/wvpl_license_sdk_using_dsp_example.cc index 1ee503b..190942b 100755 --- a/centos/license_server_sdk/examples/wvpl_license_sdk_using_dsp_example.cc +++ b/centos/sdk/examples/license_server_sdk/cpp/wvpl_license_sdk_using_dsp_example.cc @@ -1,13 +1,15 @@ // Copyright 2021 Google LLC. All rights reserved. +#include #include #include #include +#include #include "absl/strings/escaping.h" -#include "license_server_sdk/external/common/wvpl/wvpl_environment.h" -#include "license_server_sdk/external/common/wvpl/wvpl_license_counter.h" -#include "license_server_sdk/external/common/wvpl/wvpl_session.h" +#include "sdk/external/cpp/wvpl/license_server_sdk/wvpl_environment.h" +#include "sdk/external/cpp/wvpl/license_server_sdk/wvpl_license_counter.h" +#include "sdk/external/cpp/wvpl/license_server_sdk/wvpl_session.h" using video_widevine::kDefaultProfileOwnerName; using video_widevine_server::wv_pl_sdk::HDCP_NONE; diff --git a/centos/license_server_sdk/examples/WvPLExample.java b/centos/sdk/examples/license_server_sdk/java/WvPLExample.java similarity index 100% rename from centos/license_server_sdk/examples/WvPLExample.java rename to centos/sdk/examples/license_server_sdk/java/WvPLExample.java diff --git a/centos/license_server_sdk/examples/WvPLUsingDSPExample.java b/centos/sdk/examples/license_server_sdk/java/WvPLUsingDSPExample.java similarity index 100% rename from centos/license_server_sdk/examples/WvPLUsingDSPExample.java rename to centos/sdk/examples/license_server_sdk/java/WvPLUsingDSPExample.java diff --git a/ubuntu/license_server_sdk/public/environment.h b/centos/sdk/external/cpp/wvdrm/license_server_sdk/environment.h old mode 100644 new mode 100755 similarity index 90% rename from ubuntu/license_server_sdk/public/environment.h rename to centos/sdk/external/cpp/wvdrm/license_server_sdk/environment.h index 631cc24..f8fa3db --- a/ubuntu/license_server_sdk/public/environment.h +++ b/centos/sdk/external/cpp/wvdrm/license_server_sdk/environment.h @@ -1,7 +1,7 @@ // Copyright 2020 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_ENVIRONMENT_H_ -#define VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_ENVIRONMENT_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_ENVIRONMENT_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_ENVIRONMENT_H_ #include @@ -10,8 +10,8 @@ #include "common/drm_root_certificate.h" #include "common/security_profile_list.h" #include "common/status.h" -#include "license_server_sdk/internal/environment_impl.h" -#include "license_server_sdk/public/session.h" +#include "sdk/external/cpp/wvdrm/license_server_sdk/session.h" +#include "sdk/internal/environment_impl.h" namespace video_widevine { @@ -47,6 +47,11 @@ class Environment { void SetDevicesToHandleOEMCryptoVersionInKCB( const std::string& system_id_list); + // Set pre-provisioning keys system-wide. Map key is system_id, value. + // Value should be human-readable hex digits encoded bytes, e.g. + // 'preProvKeys.put(100, "f7008b38acc00ec68c732ac665c55c65")'. Must be called + // before any other calls to this class. Calls are thread-safe, so the keys + // can be updated at any time. void SetPreProvisioningKeys(const std::map& keys); void SetPreProvisioningKeys(const std::multimap& keys); @@ -222,14 +227,22 @@ class Environment { // may be automatically set, // // The default setting for |auto_set_provider_session_token| is 'true'. - virtual void SetAutosetProviderSessionToken( + virtual void SetAutoSetProviderSessionToken( bool auto_set_provider_session_token); // Returns the setting as to whether the provider session token will be // automatically set. - virtual bool GetAutosetProviderSessionToken() const; + virtual bool GetAutoSetProviderSessionToken() const; + + // Set the provider key used for L3 CDM. + // |provider_key_config_bytes| is a serialized ProviderKeyConfig proto + // message. Return OK if parsing is successful, otherwise an error is + // returned. + virtual Status SetProviderKeyConfig( + const std::string& provider_key_config_bytes); private: + friend class EnvironmentTest; // Environment::CreateSession which also fills in the parsed // ExternalLicenseRequest. Used to create a Session object. Status CreateSession(SignedMessage* signed_message, Session** session, @@ -239,8 +252,9 @@ class Environment { std::unique_ptr device_security_profile_list_; std::shared_ptr env_impl_; - friend class EnvironmentTest; + // Provider key configuration assigned to a provider for use with L3 CDM. + ProviderKeyConfig provider_key_config_; }; } // namespace video_widevine -#endif // VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_ENVIRONMENT_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_ENVIRONMENT_H_ diff --git a/centos/sdk/external/cpp/wvdrm/license_server_sdk/session.h b/centos/sdk/external/cpp/wvdrm/license_server_sdk/session.h new file mode 100755 index 0000000..b21576b --- /dev/null +++ b/centos/sdk/external/cpp/wvdrm/license_server_sdk/session.h @@ -0,0 +1,197 @@ +// Copyright 2017 Google LLC. All rights reserved. + +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_SESSION_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_SESSION_H_ + +#include +#include +#include +#include +#include + +#include "absl/strings/string_view.h" +#include "absl/synchronization/mutex.h" +#include "common/status.h" +#include "protos/public/client_identification.pb.h" +#include "protos/public/device_certificate_status.pb.h" +#include "protos/public/drm_certificate.pb.h" +#include "protos/public/external_license.pb.h" +#include "protos/public/license_protocol.pb.h" +#include "protos/public/license_server_sdk.pb.h" +#include "protos/public/oem_key_container.pb.h" +#include "protos/public/security_profile.pb.h" +#include "protos/public/provider_key.pb.h" + +namespace video_widevine { + +class ClientIdentification; +class ContentInfo; +class DrmRootCertificate; +class ExternalPlayReadySessionImpl; +class License; +class LicenseRequest; +class ProvisionedDeviceInfo; +class SecurityProfile; +class SecurityProfileList; +class SessionImpl; +class EnvironmentImpl; +class SessionInit; +class SessionState; +class SessionUsage; + +// TODO(tinskip): Rename this to LicenseSession and add LicenseEngine to hold +// global settings and create new sessions. +class Session { + public: + virtual ~Session(); + virtual const LicenseRequest& request() const; + virtual const std::string& GetSessionId(); + + // Return list of Widevine profiles meeting the DRM requirements for this + // session. + virtual Status GetQualifiedDefaultDeviceSecurityProfiles( + std::vector* qualified_profiles) const; + + // Retrieves qualifying Custom Security Profiles names given the owner name. + virtual Status GetQualifiedCustomDeviceSecurityProfiles( + absl::string_view owner_name, + std::vector* custom_qualified_profile_names) const; + + // Returns true if a provisioned device info exists. Caller + // owns |provisioned_device_info| and it must not be null. + virtual bool GetProvisionedDeviceInfo( + video_widevine::ProvisionedDeviceInfo* device_info); + + // Accessor for request_id field which may be encoded in one of multiple + // places in the liciense request protcol buffer. Use this method instead + // of accessing directly. |request_id| is a pointer to a std::string to contain + // the request ID upon successful return. + virtual Status GetRequestId(std::string* request_id) const; + + // Accessor for license_type field which may be encoded in one of multiple + // places in the license request protocol buffer. Use this method instead + // of accessing directly. |license_type| is a pointer to a value to contain + // the license type upon successful return. + virtual Status GetLicenseType(LicenseType* license_type) const; + + // Method used to get ContentIdentification in a consistent message regardless + // of the type or version of initialization data contained in the content_id + // field of the license request. Use this method instead of accessing the + // fields of ContentIdentification directly. |content_info| is a pointer to a + // message to contain the parsed values from content_id upon successful + // return. + virtual Status GetContentInfo(ContentInfo* content_info) const; + + // Returns the serial number of certificate associated with this device and + // content provider. + virtual std::string GetDrmDeviceId() const; + + // Copies the session usage table from license request to |usage_report|. + // Returns true if session usage exist in the license request, otherwise + // returns false. + bool GetSessionUsage(SessionUsage* usage_report) const; + + // Returns true if client info exists, otherwise returns false. Populate the + // specified |client_info| structure. + virtual bool GetClientInfo(ClientIdentification* client_info) const; + + // Generates a serialized signed License response, emptying |policy| and + // |key_container|, encrypting the keys therein. |session_init| and + // |session_state| are returned to be cached and provided in subsequent + // calls to the function. If no additional PolicyItem or KeyContainer objects + // are necessary to fulfill the request (such as the case with license + // renewal), |policy| and/or |key_container| may be NULL. + // The response is expected to be sent to the Widevine CDM. + virtual Status GenerateSignedLicense( + /*IN*/ const License::Policy* policy, + /*IN*/ const std::list* key_container, + /*IN*/ const SessionInit* session_init, + /*INOUT*/ SessionState* session_state, + /*OUT*/ std::string* signed_message_bytes); + + virtual PlatformVerificationStatus GetPlatformVerificationStatus() const; + + // Returns the service id of the provider that owns the device certificate. + virtual std::string GetDrmDeviceServiceId() const; + + // Returns true, if the license request for this session included a key + // control nonce, else false. + virtual bool HasKeyControlNonce() const; + + // If set to 'true', allow licenses to be generated even if VMP data was + // determined to be video_widevine::PLATFORM_UNVERIFIED. + virtual void set_allow_unverified_platform(bool allow_unverified_platform); + + // Return the setting of whether licenses are allowed to be generated even + // when VMP data was determined to be video_widevine::PLATFORM_UNVERIFIED. + virtual bool allow_unverified_platform() const; + + // If set to 'true', allow licenses to be generated even if VMP data was + // determined to be video_widevine::PLATFORM_TAMPERED. + virtual void set_allow_tampered_platform(bool allow_tampered_platform); + + /** + * If set to true, reject WvDrm SDK to reject licensing behaviors to unknown + * make model. Default value is false. + */ + virtual void set_reject_unknown_make_model(bool reject_unknown_make_model); + + /** + * Retrieves the setting of whether unknown make model is rejected. + */ + virtual bool reject_unknown_make_model() const; + + // Return the setting of whether licenses are allowed to be generated even + // when VMP data was determined to be video_widevine::PLATFORM_TAMPERED. + virtual bool allow_tampered_platform() const; + + virtual void SetKeys(std::list* oem_key_container); + + // 'Provider' making the request. + virtual void set_provider(const std::string& provider); + + // Return the device status such as as RELEASED or REVOKED. + virtual DeviceCertificateStatus::Status GetDeviceStatus() const; + + // Returns message type such as LICENSE_REQUEST, SERVICE_CERTIFICATE_REQUEST + // or EXTERNAL_LICENSE_REQUEST. + virtual SignedMessage::MessageType message_type() const; + + // Retrieves Widevine Security Profile DrmInfo of the device. + // Returns true if |drm_info| was successully populated, else false. + virtual bool GetDrmInfo(SecurityProfile::DrmInfo* drm_info) const; + + // Retrieves the ContentIdentification from the request. Returns OK, if + // successful, else failure. + virtual Status GetContentId( + LicenseRequest::ContentIdentification* content_id) const; + + // Retrieves the request type. + virtual LicenseRequest::RequestType request_type() const; + + protected: + Session(std::shared_ptr env_impl, + std::unique_ptr impl); + Session(std::shared_ptr env_impl, + std::unique_ptr + external_playready_session_impl); + // For testing only. This allows unit tests to define a mock Session class. + Session(); + + friend class Environment; + + private: +#ifndef SWIG + Session(const Session&) = delete; + Session& operator=(const Session&) = delete; +#endif + + std::shared_ptr env_impl_; + std::unique_ptr impl_; + std::unique_ptr + external_playready_session_impl_; +}; + +} // namespace video_widevine + +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_SESSION_H_ diff --git a/centos/sdk/external/common/wvpl/wvpl_sdk_copy_utils.h b/centos/sdk/external/cpp/wvpl/common/wvpl_sdk_copy_utils.h similarity index 87% rename from centos/sdk/external/common/wvpl/wvpl_sdk_copy_utils.h rename to centos/sdk/external/cpp/wvpl/common/wvpl_sdk_copy_utils.h index 9daec52..97be91a 100755 --- a/centos/sdk/external/common/wvpl/wvpl_sdk_copy_utils.h +++ b/centos/sdk/external/cpp/wvpl/common/wvpl_sdk_copy_utils.h @@ -1,9 +1,9 @@ // Copyright 2020 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_COPY_UTILS_H_ -#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_COPY_UTILS_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_COPY_UTILS_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_COPY_UTILS_H_ -#include "sdk/external/common/wvpl/wvpl_types.h" +#include "sdk/external/cpp/wvpl/common/wvpl_types.h" #include "protos/public/client_identification.pb.h" #include "protos/public/device_security_profile_data.pb.h" #include "protos/public/license_server_sdk.pb.h" @@ -53,4 +53,4 @@ void CopyBrowserRequirement( } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_COPY_UTILS_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_COPY_UTILS_H_ diff --git a/centos/sdk/external/common/wvpl/wvpl_sdk_environment.h b/centos/sdk/external/cpp/wvpl/common/wvpl_sdk_environment.h similarity index 90% rename from centos/sdk/external/common/wvpl/wvpl_sdk_environment.h rename to centos/sdk/external/cpp/wvpl/common/wvpl_sdk_environment.h index e0b8e8b..69fd01e 100755 --- a/centos/sdk/external/common/wvpl/wvpl_sdk_environment.h +++ b/centos/sdk/external/cpp/wvpl/common/wvpl_sdk_environment.h @@ -1,15 +1,16 @@ // Copyright 2017 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_ENVIRONMENT_H_ -#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_ENVIRONMENT_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_ENVIRONMENT_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_ENVIRONMENT_H_ #include #include #include "absl/synchronization/mutex.h" -#include "sdk/external/common/wvpl/wvpl_types.h" +#include "sdk/external/cpp/wvpl/common/wvpl_types.h" #include "protos/public/client_identification.pb.h" #include "protos/public/device_security_profile_list.pb.h" +#include "protos/public/provider_key.pb.h" #include "protos/public/security_profile.pb.h" namespace video_widevine { @@ -152,6 +153,22 @@ class WvPLSDKEnvironment { */ static WvPLDeviceInfo GetDeviceInfo(uint32_t system_id); + /** + * Set the provider key used for L3 CDM. + * |provider_key_config_bytes| is a serialized ProviderKeyConfig proto + * message. Returns OK if parsing is successful, otherwise an error is + * returned. + */ + virtual WvPLStatus SetProviderKeyConfig( + const std::string& provider_key_config_bytes); + + /** + * Returns the provider key config used for L3 CDM. + */ + const video_widevine::ProviderKeyConfig& GetProviderKeyConfig() const { + return provider_key_config_; + } + protected: // Return the signature for the provider specified in the |config_values| // parameter in the constructor. |signature| is owned by the caller. @@ -197,6 +214,8 @@ class WvPLSDKEnvironment { // List of device system Ids to succeed even if the device is revoked. std::vector allowed_revoked_devices_ ABSL_GUARDED_BY(allowed_revoked_devices_mutex_); + // Provider key config used with L3 CDM. + video_widevine::ProviderKeyConfig provider_key_config_; private: // Get the expected service type for drm service certificate. @@ -244,4 +263,4 @@ class WvPLSDKEnvironment { } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_ENVIRONMENT_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_ENVIRONMENT_H_ diff --git a/centos/sdk/external/common/wvpl/wvpl_sdk_session.h b/centos/sdk/external/cpp/wvpl/common/wvpl_sdk_session.h similarity index 96% rename from centos/sdk/external/common/wvpl/wvpl_sdk_session.h rename to centos/sdk/external/cpp/wvpl/common/wvpl_sdk_session.h index 089c466..a1304bb 100755 --- a/centos/sdk/external/common/wvpl/wvpl_sdk_session.h +++ b/centos/sdk/external/cpp/wvpl/common/wvpl_sdk_session.h @@ -1,12 +1,12 @@ // Copyright 2018 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_SESSION_H_ -#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_SESSION_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_SESSION_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_SESSION_H_ #include #include "common/security_profile_list.h" -#include "sdk/external/common/wvpl/wvpl_types.h" +#include "sdk/external/cpp/wvpl/common/wvpl_types.h" #include "protos/public/device_certificate_status.pb.h" namespace video_widevine { @@ -219,6 +219,7 @@ class WvPLSDKSession { WvPLRequestType request_type_; bool has_session_state_ = false; bool has_encrypted_client_id_ = false; + bool using_generated_content_id_ = false; std::string provider_; std::string provider_iv_; std::string provider_key_; @@ -331,6 +332,10 @@ class WvPLSDKSession { DeviceStatus GetDeviceStatus(video_widevine::DeviceCertificateStatus::Status device_certificate_status) const; + bool using_generated_content_id() const { + return using_generated_content_id_; + } + private: std::unique_ptr system_id_; bool has_policy_ = false; @@ -344,4 +349,4 @@ class WvPLSDKSession { } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_SESSION_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_SESSION_H_ diff --git a/centos/sdk/external/common/wvpl/wvpl_types.h b/centos/sdk/external/cpp/wvpl/common/wvpl_types.h similarity index 96% rename from centos/sdk/external/common/wvpl/wvpl_types.h rename to centos/sdk/external/cpp/wvpl/common/wvpl_types.h index 0e46287..6e63dd4 100755 --- a/centos/sdk/external/common/wvpl/wvpl_types.h +++ b/centos/sdk/external/cpp/wvpl/common/wvpl_types.h @@ -1,7 +1,7 @@ // Copyright 2017 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_TYPES_H_ -#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_TYPES_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_TYPES_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_TYPES_H_ #include @@ -46,7 +46,9 @@ enum KeyType { // for now. PROVIDER_ECM_VERIFIER_PUBLIC_KEY = 4, // Wrapped key for auxiliary crypto operations. - OPERATOR_SESSION = 5 + OPERATOR_SESSION = 5, + // OEM-specified Entitlement key. + OEM_ENTITLEMENT = 6 }; // A shortcut for specifying whether to return keys for the video feature only @@ -66,7 +68,7 @@ enum VideoFeatureKeySet { // not associated with the video feature (e.g., SDR keys). VF_INCLUDED = 3, }; -// LINT.ThenChange(//depot/google3/license_server_sdk/external/wvpl/java/com/google/video/widevine/sdk/wvpl/WvPLVideoFeatureKeySet.java) +// LINT.ThenChange(//depot/google3/sdk/external/java/com/google/video/widevine/wvpl/license/WvPLVideoFeatureKeySet.java) // LINT.IfChange enum LicenseType { @@ -75,7 +77,7 @@ enum LicenseType { OFFLINE = 2, AUTOMATIC = 3, }; -// LINT.ThenChange(//depot/google3/license_server_sdk/external/wvpl/java/com/google/video/widevine/sdk/wvpl/WvPLLicenseType.java) +// LINT.ThenChange(//depot/google3/sdk/external/java/com/google/video/widevine/wvpl/license/WvPLLicenseType.java) /** * Represents the type of message. This struct is used by WvPL License SDK, @@ -88,7 +90,7 @@ enum MessageType { SERVICE_CERTIFICATE_REQUEST = 4, EXTERNAL_LICENSE_REQUEST = 9 }; -// LINT.ThenChange(//depot/google3/license_server_sdk/external/wvpl/java/com/google/video/widevine/sdk/wvpl/WvPLMessageType.java) +// LINT.ThenChange(//depot/google3/sdk/external/java/com/google/video/widevine/wvpl/license/WvPLMessageType.java) enum CertificateKeyType { RSA_2048 = 0, @@ -121,7 +123,7 @@ enum HDCP { HDCP_V2_3 = 5, HDCP_NO_DIGITAL_OUTPUT = 0xff }; -// LINT.ThenChange(//depot/google3/license_server_sdk/external/wvpl/java/com/google/video/widevine/sdk/wvpl/WvPLHdcp.java) +// LINT.ThenChange(//depot/google3/sdk/external/java/com/google/video/widevine/wvpl/license/WvPLHdcp.java) enum Platform { PLATFORM_UNSPECIFIED = 0, @@ -234,6 +236,17 @@ enum DeviceState { REVOKED_LICENSING = 7, }; +// Client-side watermarking restrictions for the license. +enum WatermarkingControl { + // Watermarking may or may not be used, provider does not care. + WATERMARKING_CONTROL_UNSPECIFIED = 0, + // Watermarking must not be used. The device must disable watermarking + // if it supports it. + WATERMARKING_FORBIDDEN = 1, + // Watermarking is required if the device supports it. + WATERMARKING_REQUIRED = 2, +}; + /* * Defines the type wrapper for wvpl request. */ @@ -288,6 +301,7 @@ class WvPLPlaybackPolicy { soft_enforce_rental_duration_ = true; always_include_client_id_ = false; renew_with_usage_ = false; + watermarking_control_ = WATERMARKING_CONTROL_UNSPECIFIED; } void set_license_duration_seconds(int64_t duration) { @@ -352,6 +366,12 @@ class WvPLPlaybackPolicy { bool soft_enforce_rental_duration() const { return soft_enforce_rental_duration_; } + void set_watermarking_control(WatermarkingControl watermarking_control) { + watermarking_control_ = watermarking_control; + } + WatermarkingControl watermarking_control() const { + return watermarking_control_; + } private: // The license window. Once a license is granted, the number of seconds to use @@ -415,6 +435,9 @@ class WvPLPlaybackPolicy { // indicates to client that RENEWAL and RELEASE requests should include // Clientidentification. bool always_include_client_id_; + + // Optional requirement to indicate watermarking is allowed. + WatermarkingControl watermarking_control_; }; /** @@ -703,8 +726,9 @@ class WvPLKey { const std::string& key_bytes() const { return key_bytes_; } // |wrapping_key| must be specified in bytes. This is to be specified only - // when 'key_type' is OEM_CONTENT. This key will be used to 'wrap' or - // 'encrypt' the Widevine-generated key control block in the license. + // when 'key_type' is OEM_CONTENT or OEM_ENTITLEMENT. This key will be used + // to 'wrap' or 'encrypt' the Widevine-generated key control block in the + // license. void set_wrapping_key(const std::string& wrapping_key) { wrapping_key_ = wrapping_key; } @@ -902,7 +926,7 @@ struct WvPLLicenseStatusCounterData { // Initialize members WvPLLicenseStatusCounterData() : license_status_(0), status_count_(0) {} uint32_t license_status_; - // Count of occurences of the above status; + // Count of occurrences of the above status; uint32_t status_count_; }; @@ -1779,4 +1803,4 @@ class WvPLSecurityProfile { } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_TYPES_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_TYPES_H_ diff --git a/centos/license_server_sdk/external/common/wvpl/wvpl_environment.h b/centos/sdk/external/cpp/wvpl/license_server_sdk/wvpl_environment.h similarity index 93% rename from centos/license_server_sdk/external/common/wvpl/wvpl_environment.h rename to centos/sdk/external/cpp/wvpl/license_server_sdk/wvpl_environment.h index a7ebbfc..75b1524 100755 --- a/centos/license_server_sdk/external/common/wvpl/wvpl_environment.h +++ b/centos/sdk/external/cpp/wvpl/license_server_sdk/wvpl_environment.h @@ -1,15 +1,15 @@ // Copyright 2017 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_ENVIRONMENT_H_ -#define VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_ENVIRONMENT_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_ENVIRONMENT_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_ENVIRONMENT_H_ #include #include #include -#include "license_server_sdk/public/environment.h" -#include "sdk/external/common/wvpl/wvpl_sdk_environment.h" -#include "sdk/external/common/wvpl/wvpl_types.h" +#include "sdk/external/cpp/wvdrm/license_server_sdk/environment.h" +#include "sdk/external/cpp/wvpl/common/wvpl_sdk_environment.h" +#include "sdk/external/cpp/wvpl/common/wvpl_types.h" // TODO(yawenyu): Use generateSignature function in WvPLSDKEnvironement instead // of get GetSignature. @@ -165,12 +165,12 @@ class WvPLEnvironment : public WvPLSDKEnvironment { // send a v17 message by setting the std::string to "16". For details, please see // common/oemcrypto_core_message/odk/include/core_message_features.h std::string core_message_features_; - // A few functions from license_server_sdk/public/environment are used to run - // wvpl_environment. + // A few functions from sdk/external/cpp/wvdrm/license_server_sdk/environment + // are used to run wvpl_environment. std::unique_ptr environment_; }; } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_ENVIRONMENT_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_ENVIRONMENT_H_ diff --git a/ubuntu/license_server_sdk/external/common/wvpl/wvpl_session.h b/centos/sdk/external/cpp/wvpl/license_server_sdk/wvpl_session.h old mode 100644 new mode 100755 similarity index 87% rename from ubuntu/license_server_sdk/external/common/wvpl/wvpl_session.h rename to centos/sdk/external/cpp/wvpl/license_server_sdk/wvpl_session.h index 857d3b2..7836e4b --- a/ubuntu/license_server_sdk/external/common/wvpl/wvpl_session.h +++ b/centos/sdk/external/cpp/wvpl/license_server_sdk/wvpl_session.h @@ -1,16 +1,16 @@ // Copyright 2017 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_SESSION_H_ -#define VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_SESSION_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_SESSION_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_SESSION_H_ #include #include #include -#include "license_server_sdk/public/session.h" -#include "sdk/external/common/wvpl/wvpl_sdk_session.h" -#include "sdk/external/common/wvpl/wvpl_types.h" +#include "sdk/external/cpp/wvdrm/license_server_sdk/session.h" +#include "sdk/external/cpp/wvpl/common/wvpl_sdk_session.h" +#include "sdk/external/cpp/wvpl/common/wvpl_types.h" #include "protos/public/errors.pb.h" #include "protos/public/license_server_sdk.pb.h" #include "protos/public/oem_key_container.pb.h" @@ -28,9 +28,9 @@ namespace wv_pl_sdk { class WvPLLicenseCounter; // major version to line up with latest released OEMCryptoAPI version. -const uint32_t kMajorVersion = 16; -const uint32_t kMinorVersion = 5; -const uint32_t kRelease = 0; +const uint32_t kMajorVersion = 17; +const uint32_t kMinorVersion = 0; +const uint32_t kRelease = 1; // Once a Widevine environment object is successfully initialized, generate a // Widevine session object for each license request. CreateSession() parses @@ -116,4 +116,4 @@ class WvPLSession : public WvPLSDKSession { } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_SESSION_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_SESSION_H_ diff --git a/ubuntu/cc_header/environment.h b/ubuntu/cc_header/environment.h index 631cc24..f8fa3db 100644 --- a/ubuntu/cc_header/environment.h +++ b/ubuntu/cc_header/environment.h @@ -1,7 +1,7 @@ // Copyright 2020 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_ENVIRONMENT_H_ -#define VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_ENVIRONMENT_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_ENVIRONMENT_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_ENVIRONMENT_H_ #include @@ -10,8 +10,8 @@ #include "common/drm_root_certificate.h" #include "common/security_profile_list.h" #include "common/status.h" -#include "license_server_sdk/internal/environment_impl.h" -#include "license_server_sdk/public/session.h" +#include "sdk/external/cpp/wvdrm/license_server_sdk/session.h" +#include "sdk/internal/environment_impl.h" namespace video_widevine { @@ -47,6 +47,11 @@ class Environment { void SetDevicesToHandleOEMCryptoVersionInKCB( const std::string& system_id_list); + // Set pre-provisioning keys system-wide. Map key is system_id, value. + // Value should be human-readable hex digits encoded bytes, e.g. + // 'preProvKeys.put(100, "f7008b38acc00ec68c732ac665c55c65")'. Must be called + // before any other calls to this class. Calls are thread-safe, so the keys + // can be updated at any time. void SetPreProvisioningKeys(const std::map& keys); void SetPreProvisioningKeys(const std::multimap& keys); @@ -222,14 +227,22 @@ class Environment { // may be automatically set, // // The default setting for |auto_set_provider_session_token| is 'true'. - virtual void SetAutosetProviderSessionToken( + virtual void SetAutoSetProviderSessionToken( bool auto_set_provider_session_token); // Returns the setting as to whether the provider session token will be // automatically set. - virtual bool GetAutosetProviderSessionToken() const; + virtual bool GetAutoSetProviderSessionToken() const; + + // Set the provider key used for L3 CDM. + // |provider_key_config_bytes| is a serialized ProviderKeyConfig proto + // message. Return OK if parsing is successful, otherwise an error is + // returned. + virtual Status SetProviderKeyConfig( + const std::string& provider_key_config_bytes); private: + friend class EnvironmentTest; // Environment::CreateSession which also fills in the parsed // ExternalLicenseRequest. Used to create a Session object. Status CreateSession(SignedMessage* signed_message, Session** session, @@ -239,8 +252,9 @@ class Environment { std::unique_ptr device_security_profile_list_; std::shared_ptr env_impl_; - friend class EnvironmentTest; + // Provider key configuration assigned to a provider for use with L3 CDM. + ProviderKeyConfig provider_key_config_; }; } // namespace video_widevine -#endif // VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_ENVIRONMENT_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_ENVIRONMENT_H_ diff --git a/ubuntu/cc_header/environment_impl.h b/ubuntu/cc_header/environment_impl.h index 9985756..add2448 100644 --- a/ubuntu/cc_header/environment_impl.h +++ b/ubuntu/cc_header/environment_impl.h @@ -1,7 +1,7 @@ // Copyright 2021 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_INTERNAL_ENVIRONMENT_IMPL_H_ -#define VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_INTERNAL_ENVIRONMENT_IMPL_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_INTERNAL_ENVIRONMENT_IMPL_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_INTERNAL_ENVIRONMENT_IMPL_H_ #include #include @@ -16,13 +16,14 @@ #include "common/core_message_util.h" #include "common/security_profile_list.h" #include "common/status.h" -#include "license_server_sdk/internal/session_usage_report.h" +#include "sdk/internal/session_usage_report.h" #include "common/crypto_util.h" #include "protos/public/client_identification.pb.h" #include "protos/public/device_certificate_status.pb.h" #include "protos/public/license_protocol.pb.h" #include "protos/public/license_server_sdk.pb.h" #include "protos/public/oem_key_container.pb.h" +#include "protos/public/provider_key.pb.h" #include "protos/public/provisioned_device_info.pb.h" namespace video_widevine { @@ -192,19 +193,36 @@ class EnvironmentImpl { // If |auto_set_provider_session_token| is 'true', the provider session token // may be automatically set, + // * if the provider session token has not been specified. + // * for OFFLINE requests + // * if Policy.can_persist is set to 'true'. + // * if Policy.can_renew is set to 'true'. + // * if OEMCryptoVersion of the client making the request is at least 16. // // The default setting for |auto_set_provider_session_token| is 'true'. - virtual void SetAutosetProviderSessionToken( + virtual void SetAutoSetProviderSessionToken( bool auto_set_provider_session_token) { auto_set_provider_session_token_ = auto_set_provider_session_token; } // Returns the setting as to whether the provider session token will be // automatically set. - virtual bool GetAutosetProviderSessionToken() const { + virtual bool GetAutoSetProviderSessionToken() const { return auto_set_provider_session_token_; } + // Set the provider key used for L3 CDM. + // |provider_key_config_bytes| is a serialized ProviderKeyConfig proto + // message. Return OK if parsing is successful, otherwise an error is + // returned. + virtual Status SetProviderKeyConfig( + const std::string& provider_key_config_bytes); + + // Returns the provider key config. + virtual const ProviderKeyConfig& GetProviderKeyConfig() const { + return provider_key_config_; + } + virtual ~EnvironmentImpl(); private: @@ -221,7 +239,9 @@ class EnvironmentImpl { const DrmRootCertificate* drm_root_certificate_; mutable absl::Mutex profile_mutex_; SecurityProfileList* profile_list_ ABSL_GUARDED_BY(profile_mutex_); + // Provider key configuration assigned to a provider for use with L3 CDM. + ProviderKeyConfig provider_key_config_; }; } // namespace video_widevine -#endif // VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_INTERNAL_ENVIRONMENT_IMPL_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_INTERNAL_ENVIRONMENT_IMPL_H_ diff --git a/ubuntu/cc_header/session.h b/ubuntu/cc_header/session.h index 4e02e23..b21576b 100644 --- a/ubuntu/cc_header/session.h +++ b/ubuntu/cc_header/session.h @@ -1,7 +1,7 @@ // Copyright 2017 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_SESSION_H__ -#define VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_SESSION_H__ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_SESSION_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_SESSION_H_ #include #include @@ -20,6 +20,7 @@ #include "protos/public/license_server_sdk.pb.h" #include "protos/public/oem_key_container.pb.h" #include "protos/public/security_profile.pb.h" +#include "protos/public/provider_key.pb.h" namespace video_widevine { @@ -42,242 +43,6 @@ class SessionUsage; // global settings and create new sessions. class Session { public: - // Specify a comma separated list of system Ids that can support having - // OEMCrypto version, as specified in the license request, reflected back in - // the Key Control Block which is used by partner. Otherwise, only 'kctl' or - // 'kc09' is returned in KCB. - // TODO(tinskip): What is this, and can we do it better? Seems like something - // that would be better in the ClientCapabilities or device metadata. - static void SetDevicesToHandleOEMCryptoVersionInKCB( - const std::string& system_id_list); - // Set pre-provisioning keys system-wide. Map key is system_id, value. - // Value should be human-readable hex digits encoded bytes. - // Must be called before any other calls to this class. Calls are - // thread-safe, so the keys can be updated at any time. - static void SetPreProvisioningKeys( - const std::map& keys); - static void SetPreProvisioningKeys( - const std::multimap& keys); - // Set the certificate status list system-wide. |root_cert| is the root - // certificate which signed the DCSL. - // |expiration_period| is the number of seconds until the - // certificate_status_list expires after its creation time - // (creation_time_seconds). If |allow_unknown_devices| is false, an error is - // returned if the device does not appear in the certificate_status_list. - static Status SetCertificateStatusList( - const DrmRootCertificate* root_cert, - const std::string& certificate_status_list, - uint32_t expiration_period_seconds, bool allow_unknown_devices); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Add a service certificate system-wide. |root_cert| is the root certificate - // which signed the service certificate; |service_certificate| is a - // Google-generated certificate used to authenticate the service provider for - // purposes of device privacy; |service_private_key| is the encrypted PKCS#8 - // private RSA key corresponding to the service certificate; and - // |service_private_key_passphrase| is the password required to decrypt - // |service_private_key|. - static Status AddDrmServiceCertificate( - const DrmRootCertificate* root_cert, - const std::string& service_certificate, - const std::string& service_private_key, - const std::string& service_private_key_passphrase); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Enable delivery of licenses to client devices. This includes devices with - // TEST_ONLY status, and development platform verification certificates. - // Defaults to false. - static void AllowDevelopmentClients(bool enable); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Enable delivery of licenses to TEST_ONLY client devices. - // |device_list_make| is a comma separated list of devices to allow even - // if the device is in a TEST_ONLY state. This list wil be used only if - // AllowDevelopmentClient(false) is in use. - static void AllowTestOnlyDevices(const std::string& device_list_make) { - AllowTestOnlyDevicesByMake(device_list_make); - } - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - static void AllowTestOnlyDevicesByMake(const std::string& device_list_make); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Enable delivery of licenses to TEST_ONLY client devices. - // |device_list_provider| is a comma separated list of provider to allow - // even if the device is in a TEST_ONLY state. This list wil be used only if - // AllowDevelopmentClient(false) is in use. - static void AllowTestOnlyDevicesByProvider( - const std::string& device_list_provider); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Enable delivery of licenses to revoked client devices. |system_id_list| is - // a comma separated list of systems Ids to allow even if revoked. - static void AllowRevokedDevices(const std::string& system_id_list); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // A comma separated list of DRM Certificate Serial Numbers that are revoked. - static void RevokedDrmCertificateSerialNumbers( - const std::string& drm_certificate_serial_numbers); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Restriction on core message features. If this is an empty string, the - // default feature set is used. If it is an integer, that is the ODK version - // supported. - static void SetCoreMessageFeatures(const std::string& core_message_features); - - // Creates a Session object. - // |root_cert| is the root certificate to be used to validate client - // credentials. - // |signed_license_request| is the serialized SignedMessage received from the - // client. |session| points to a Session*, which must be initialized to NULL - // on entry, but |session| itself may not be NULL. The new Session object will - // be owned by the caller. This method returns Status::OK if successful, - // or an appropriate error status, in which case - // Session::GenerateErrorResponse should be invoked. - // Example usage: - // Session* session = NULL; - // Status status = Session::Create(root_cert, request_from_client, - // &session); - // if (!status.ok()) { - // std::string error_license; - // if (Session::GenerateErrorResponse(status, &error_license)) { - // // Send error_license to the client. - // } else { - // // Handle error - // } - // return ... - // } - // // Create license, invoke GenerateSignedLicense, etc. - static Status Create(const DrmRootCertificate* root_cert, - const std::string& signed_license_request, - Session** session); - - // Create a session for generating a license. This variation of Create takes - // options to allow for the creation of the session to succeed even if the - // device is revoked. - static Status CreateWithOptions(const DrmRootCertificate* root_cert, - const std::string& signed_license_request, - const SessionCreateOptions& options, - Session** session); - - // Variation of Session::Create which also fills in the parsed LicenseRequest, - // for use in logging or debugging. - static Status Create(const DrmRootCertificate* root_cert, - const std::string& signed_license_request, - const SessionCreateOptions& options, Session** session, - LicenseRequest* parsed_request_out); - - // Same as Create(), but caller can specify the ClientIdentification - // message and/or PlatformVerificationStatus. If ClientIdentification is - // specified, this variation of Create() will use the specified |client_id| - // instead of what is specified in |signed_license_request|. If - // PlatformVerificationStatus is specified, this method will use the specified - // |platform_verification_status| instead of attempting to determine it. - // Background for this function is to support cases where the client - // identification is encrypted with the provider's service certificate in - // which case we won't be able to decrypt OR when the provider determines - // platform verification. The provider will specify the - // clear client identification in |client_id| and the platform verification - // in |platform_verification_status|. - static Status CreateForProxy( - const DrmRootCertificate* root_cert, - const std::string& signed_license_request, - const PlatformVerificationStatus platform_verification_status, - const ClientIdentification* client_id, - const SessionCreateOptions& options, Session** session, - LicenseRequest* parsed_request_out); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Generates a SignedMessage containing a message generated in response to - // an error condition. |status| is a previous error status returned by the - // Session or Status(error::UNAVAILABLE, ...) to indicate that the - // backend is unavailable, |signed_message| points to a std::string to contain the - // serialized SignedMessage, and may not be NULL. This method returns true if - // there is an error license to be sent to the client, or false otherwise. - // Example usage in the Session::Create comments above. - static bool GenerateErrorResponse(const Status& status, - std::string* signed_message_bytes); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Generates a SignedMessage containing a service certificate for the - // specified |provider_id|. This method returns true if a service certificate - // exist for the provider. - static bool GenerateServiceCertificateResponse( - const std::string& provider_id, std::string* signed_message_bytes); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // DeriveKey uses the NIST 800-108 KDF recommendation, using AES-CMAC PRF. - // NIST 800-108: - // http://csrc.nist.gov/publications/nistpubs/800-108/sp800-108.pdf - // AES-CMAC: - // http://tools.ietf.org/html/rfc4493 - static std::string DeriveKey(const std::string& key, const std::string& label, - const std::string& context, - const uint32_t size_bits); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Returns a std::string containing the Widevine License Server SDK version in the - // form .. . - static std::string GetSdkVersionString(); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // If set to true, adds SDK and server version information to the license - // response. - static void SetIncludeVersionInfoInLicense(bool include_version_info); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Sets the service version information which can be included with the license - // response. If SetIncludeVersionInfoInLicense() is set to true and the server - // version is not empty, then the server version will be included in the - // license response. The host_version must be <= 32 characters and limited to - // alphanumeric and '_', '-', ':', ';', ' ', '/' and '.'. - static void SetHostServerVersion(const std::string& host_version); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Generate a signed request to be sent to Widevine Certificate Provisioning - // Server to retrieve 'DeviceCertificateStatusList'. - static Status GenerateDeviceStatusListRequest( - std::string* signed_device_certificate_status_list_request); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Set the custom device security profile list which is returned, from a call - // to Widevine PublishedDevicesService. - static Status SetCustomDeviceSecurityProfiles( - const DrmRootCertificate* root_cert, - absl::string_view serialized_signed_device_security_profiles); - virtual ~Session(); virtual const LicenseRequest& request() const; virtual const std::string& GetSessionId(); @@ -385,47 +150,6 @@ class Session { // 'Provider' making the request. virtual void set_provider(const std::string& provider); - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Obtain the owner list for custom profiles. - virtual Status GetCustomDeviceSecurityProfileOwners( - std::vector* custom_profile_owners) const; - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Return a list of custom profile names associated with |owner_name|. - virtual Status GetCustomDeviceSecurityProfileNames( - absl::string_view owner_name, - std::vector* profile_names) const; - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Return the custom profiles associated with |owner_name|. - virtual Status GetCustomDeviceSecurityProfiles( - absl::string_view owner_name, - std::vector* custom_device_security_profiles) const; - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Return a list of default profile names obtained from default profiles. - // The input argument |profile_names| cannot be null and it will be replaced - // by the results. - // For any non-ok status, |profile_names| won't be modified. - virtual Status GetDefaultDeviceSecurityProfileNames( - std::vector* profile_names) const; - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Return the default profile associated with |profile_name|. - virtual Status GetDefaultDeviceSecurityProfile( - absl::string_view profile_name, - SecurityProfile* device_security_profile) const; - // Return the device status such as as RELEASED or REVOKED. virtual DeviceCertificateStatus::Status GetDeviceStatus() const; @@ -445,28 +169,6 @@ class Session { // Retrieves the request type. virtual LicenseRequest::RequestType request_type() const; - // Deprecated. - // TODO(b/200839386): This API is now available in environment.h. It will be - // removed from this header file in the Q4 2021 SDK release. - // If |auto_set_provider_session_token| is 'true', the provider session token - // will be automatically set, - // * if the provider session token has not been specified. - // * for OFFLINE requests - // * if Policy.can_persist is set to 'true'. - // * if Policy.can_renew is set to 'true'. - // * if OEMCryptoVersion of the client making the request is at least 16. - // - // The default setting for |auto_set_provider_session_token| is 'true'. - virtual void set_auto_set_provider_session_token( - bool auto_set_provider_session_token); - - // Deprecated. - // TODO(b/200839386): This API is now available in environment.h. It will be - // removed from this header file in the Q4 2021 SDK release. - // Returns the setting as to whether the provider session token will be - // automatically set. - virtual bool auto_set_provider_session_token() const; - protected: Session(std::shared_ptr env_impl, std::unique_ptr impl); @@ -484,26 +186,12 @@ class Session { Session& operator=(const Session&) = delete; #endif - // Session::Create which also fills in the parsed - // ExternalLicenseRequest. Used to create a Session object. - static Status Create(const DrmRootCertificate* root_cert, - SignedMessage* signed_message, Session** session, - ExternalLicenseRequest* parsed_request_out); - - explicit Session(std::unique_ptr impl); - - explicit Session(std::unique_ptr - external_playready_session_impl); - std::shared_ptr env_impl_; std::unique_ptr impl_; std::unique_ptr external_playready_session_impl_; - static absl::Mutex profile_mutex_; - static std::unique_ptr security_profile_list_ - ABSL_GUARDED_BY(profile_mutex_); }; } // namespace video_widevine -#endif // VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_SESSION_H__ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_SESSION_H_ diff --git a/ubuntu/cc_header/wvpl_license_counter.h b/ubuntu/cc_header/wvpl_license_counter.h index 788e1ad..12388cf 100644 --- a/ubuntu/cc_header/wvpl_license_counter.h +++ b/ubuntu/cc_header/wvpl_license_counter.h @@ -1,14 +1,15 @@ // Copyright 2017 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_LICENSE_COUNTER_H_ -#define VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_LICENSE_COUNTER_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_LICENSE_COUNTER_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_LICENSE_COUNTER_H_ #include + #include #include #include "absl/synchronization/mutex.h" -#include "sdk/external/common/wvpl/wvpl_types.h" +#include "sdk/external/cpp/wvpl/common/wvpl_types.h" #include "protos/public/provisioned_device_info.pb.h" #include "protos/public/sdk_stats.pb.h" @@ -99,4 +100,4 @@ class WvPLLicenseCounter { } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_LICENSE_COUNTER_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_LICENSE_COUNTER_H_ diff --git a/ubuntu/cc_header/wvpl_sdk_environment.h b/ubuntu/cc_header/wvpl_sdk_environment.h index e0b8e8b..69fd01e 100644 --- a/ubuntu/cc_header/wvpl_sdk_environment.h +++ b/ubuntu/cc_header/wvpl_sdk_environment.h @@ -1,15 +1,16 @@ // Copyright 2017 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_ENVIRONMENT_H_ -#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_ENVIRONMENT_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_ENVIRONMENT_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_ENVIRONMENT_H_ #include #include #include "absl/synchronization/mutex.h" -#include "sdk/external/common/wvpl/wvpl_types.h" +#include "sdk/external/cpp/wvpl/common/wvpl_types.h" #include "protos/public/client_identification.pb.h" #include "protos/public/device_security_profile_list.pb.h" +#include "protos/public/provider_key.pb.h" #include "protos/public/security_profile.pb.h" namespace video_widevine { @@ -152,6 +153,22 @@ class WvPLSDKEnvironment { */ static WvPLDeviceInfo GetDeviceInfo(uint32_t system_id); + /** + * Set the provider key used for L3 CDM. + * |provider_key_config_bytes| is a serialized ProviderKeyConfig proto + * message. Returns OK if parsing is successful, otherwise an error is + * returned. + */ + virtual WvPLStatus SetProviderKeyConfig( + const std::string& provider_key_config_bytes); + + /** + * Returns the provider key config used for L3 CDM. + */ + const video_widevine::ProviderKeyConfig& GetProviderKeyConfig() const { + return provider_key_config_; + } + protected: // Return the signature for the provider specified in the |config_values| // parameter in the constructor. |signature| is owned by the caller. @@ -197,6 +214,8 @@ class WvPLSDKEnvironment { // List of device system Ids to succeed even if the device is revoked. std::vector allowed_revoked_devices_ ABSL_GUARDED_BY(allowed_revoked_devices_mutex_); + // Provider key config used with L3 CDM. + video_widevine::ProviderKeyConfig provider_key_config_; private: // Get the expected service type for drm service certificate. @@ -244,4 +263,4 @@ class WvPLSDKEnvironment { } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_ENVIRONMENT_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_ENVIRONMENT_H_ diff --git a/ubuntu/cc_header/wvpl_sdk_session.h b/ubuntu/cc_header/wvpl_sdk_session.h index 089c466..a1304bb 100644 --- a/ubuntu/cc_header/wvpl_sdk_session.h +++ b/ubuntu/cc_header/wvpl_sdk_session.h @@ -1,12 +1,12 @@ // Copyright 2018 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_SESSION_H_ -#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_SESSION_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_SESSION_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_SESSION_H_ #include #include "common/security_profile_list.h" -#include "sdk/external/common/wvpl/wvpl_types.h" +#include "sdk/external/cpp/wvpl/common/wvpl_types.h" #include "protos/public/device_certificate_status.pb.h" namespace video_widevine { @@ -219,6 +219,7 @@ class WvPLSDKSession { WvPLRequestType request_type_; bool has_session_state_ = false; bool has_encrypted_client_id_ = false; + bool using_generated_content_id_ = false; std::string provider_; std::string provider_iv_; std::string provider_key_; @@ -331,6 +332,10 @@ class WvPLSDKSession { DeviceStatus GetDeviceStatus(video_widevine::DeviceCertificateStatus::Status device_certificate_status) const; + bool using_generated_content_id() const { + return using_generated_content_id_; + } + private: std::unique_ptr system_id_; bool has_policy_ = false; @@ -344,4 +349,4 @@ class WvPLSDKSession { } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_SESSION_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_SESSION_H_ diff --git a/ubuntu/cc_header/wvpl_session.h b/ubuntu/cc_header/wvpl_session.h index 857d3b2..7836e4b 100644 --- a/ubuntu/cc_header/wvpl_session.h +++ b/ubuntu/cc_header/wvpl_session.h @@ -1,16 +1,16 @@ // Copyright 2017 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_SESSION_H_ -#define VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_SESSION_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_SESSION_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_SESSION_H_ #include #include #include -#include "license_server_sdk/public/session.h" -#include "sdk/external/common/wvpl/wvpl_sdk_session.h" -#include "sdk/external/common/wvpl/wvpl_types.h" +#include "sdk/external/cpp/wvdrm/license_server_sdk/session.h" +#include "sdk/external/cpp/wvpl/common/wvpl_sdk_session.h" +#include "sdk/external/cpp/wvpl/common/wvpl_types.h" #include "protos/public/errors.pb.h" #include "protos/public/license_server_sdk.pb.h" #include "protos/public/oem_key_container.pb.h" @@ -28,9 +28,9 @@ namespace wv_pl_sdk { class WvPLLicenseCounter; // major version to line up with latest released OEMCryptoAPI version. -const uint32_t kMajorVersion = 16; -const uint32_t kMinorVersion = 5; -const uint32_t kRelease = 0; +const uint32_t kMajorVersion = 17; +const uint32_t kMinorVersion = 0; +const uint32_t kRelease = 1; // Once a Widevine environment object is successfully initialized, generate a // Widevine session object for each license request. CreateSession() parses @@ -116,4 +116,4 @@ class WvPLSession : public WvPLSDKSession { } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_SESSION_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_SESSION_H_ diff --git a/ubuntu/common/certificate_type.h b/ubuntu/common/certificate_type.h old mode 100644 new mode 100755 diff --git a/ubuntu/common/hash_algorithm.h b/ubuntu/common/hash_algorithm.h old mode 100644 new mode 100755 diff --git a/ubuntu/common/security_profile_list.h b/ubuntu/common/security_profile_list.h old mode 100644 new mode 100755 diff --git a/ubuntu/common/status.h b/ubuntu/common/status.h old mode 100644 new mode 100755 diff --git a/ubuntu/javadoc/allclasses-index.html b/ubuntu/javadoc/allclasses-index.html index a78d07c..e48fe49 100644 --- a/ubuntu/javadoc/allclasses-index.html +++ b/ubuntu/javadoc/allclasses-index.html @@ -2,10 +2,10 @@ - + All Classes - + diff --git a/ubuntu/javadoc/allclasses.html b/ubuntu/javadoc/allclasses.html index 5b9e644..e70d1a7 100644 --- a/ubuntu/javadoc/allclasses.html +++ b/ubuntu/javadoc/allclasses.html @@ -2,10 +2,10 @@ - + All Classes - + diff --git a/ubuntu/javadoc/allpackages-index.html b/ubuntu/javadoc/allpackages-index.html index 6ddd5a8..fbca4f9 100644 --- a/ubuntu/javadoc/allpackages-index.html +++ b/ubuntu/javadoc/allpackages-index.html @@ -2,10 +2,10 @@ - + All Packages - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLAnalogOutputCapabilities.AnalogOutputCapabilities.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLAnalogOutputCapabilities.AnalogOutputCapabilities.html index b8869de..9a26eab 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLAnalogOutputCapabilities.AnalogOutputCapabilities.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLAnalogOutputCapabilities.AnalogOutputCapabilities.html @@ -2,10 +2,10 @@ - + WvPLAnalogOutputCapabilities.AnalogOutputCapabilities - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLAnalogOutputCapabilities.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLAnalogOutputCapabilities.html index 76baf6a..33008b4 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLAnalogOutputCapabilities.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLAnalogOutputCapabilities.html @@ -2,10 +2,10 @@ - + WvPLAnalogOutputCapabilities - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseEnvironment.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseEnvironment.html index 71d1bfd..b6f72dd 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseEnvironment.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseEnvironment.html @@ -2,10 +2,10 @@ - + WvPLBaseEnvironment - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseKey.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseKey.html index 7537494..0cb64da 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseKey.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseKey.html @@ -2,10 +2,10 @@ - + WvPLBaseKey - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseSession.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseSession.html index 6a2387e..d04a1cd 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseSession.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBaseSession.html @@ -2,10 +2,10 @@ - + WvPLBaseSession - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBrowserRequirement.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBrowserRequirement.html index 7d9d1e0..52b5030 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBrowserRequirement.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLBrowserRequirement.html @@ -2,10 +2,10 @@ - + WvPLBrowserRequirement - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCertificateKeyType.CertificateKeyType.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCertificateKeyType.CertificateKeyType.html index fbc4c48..146a452 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCertificateKeyType.CertificateKeyType.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCertificateKeyType.CertificateKeyType.html @@ -2,10 +2,10 @@ - + WvPLCertificateKeyType.CertificateKeyType - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCertificateKeyType.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCertificateKeyType.html index c5960fc..aea8ac3 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCertificateKeyType.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCertificateKeyType.html @@ -2,10 +2,10 @@ - + WvPLCertificateKeyType - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCgms.Cgms.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCgms.Cgms.html index d470052..f71304f 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCgms.Cgms.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCgms.Cgms.html @@ -2,10 +2,10 @@ - + WvPLCgms.Cgms - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCgms.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCgms.html index 884187a..2c593c9 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCgms.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLCgms.html @@ -2,10 +2,10 @@ - + WvPLCgms - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLClientCapabilities.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLClientCapabilities.html index f1660a9..c7c6b4c 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLClientCapabilities.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLClientCapabilities.html @@ -2,10 +2,10 @@ - + WvPLClientCapabilities - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLClientInfo.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLClientInfo.html index 55b3ebb..3e5e628 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLClientInfo.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLClientInfo.html @@ -2,10 +2,10 @@ - + WvPLClientInfo - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceInfo.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceInfo.html index 533d25e..db73d22 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceInfo.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceInfo.html @@ -2,10 +2,10 @@ - + WvPLDeviceInfo - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceModelStatus.DeviceModelStatus.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceModelStatus.DeviceModelStatus.html index b2c375d..d7a89a7 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceModelStatus.DeviceModelStatus.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceModelStatus.DeviceModelStatus.html @@ -2,10 +2,10 @@ - + WvPLDeviceModelStatus.DeviceModelStatus - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceModelStatus.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceModelStatus.html index cd653d7..50019b4 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceModelStatus.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceModelStatus.html @@ -2,10 +2,10 @@ - + WvPLDeviceModelStatus - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDevicePlatform.Platform.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDevicePlatform.Platform.html index ab90527..dfb9e21 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDevicePlatform.Platform.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDevicePlatform.Platform.html @@ -2,10 +2,10 @@ - + WvPLDevicePlatform.Platform - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDevicePlatform.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDevicePlatform.html index 3cd4bc0..3da8120 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDevicePlatform.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDevicePlatform.html @@ -2,10 +2,10 @@ - + WvPLDevicePlatform - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityLevel.DeviceSecurityLevel.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityLevel.DeviceSecurityLevel.html index 5fc24e4..3cb9dee 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityLevel.DeviceSecurityLevel.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityLevel.DeviceSecurityLevel.html @@ -2,10 +2,10 @@ - + WvPLDeviceSecurityLevel.DeviceSecurityLevel - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityLevel.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityLevel.html index b29fffe..336ff9a 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityLevel.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityLevel.html @@ -2,10 +2,10 @@ - + WvPLDeviceSecurityLevel - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityProfile.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityProfile.html index 8bceeed..52ea6fd 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityProfile.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceSecurityProfile.html @@ -2,10 +2,10 @@ - + WvPLDeviceSecurityProfile - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceState.DeviceState.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceState.DeviceState.html index 2a514af..bedd93a 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceState.DeviceState.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceState.DeviceState.html @@ -2,10 +2,10 @@ - + WvPLDeviceState.DeviceState - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceState.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceState.html index 9167e9f..456bca9 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceState.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceState.html @@ -2,10 +2,10 @@ - + WvPLDeviceState - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceStatus.DeviceStatus.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceStatus.DeviceStatus.html index 9c4cfda..36d7d51 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceStatus.DeviceStatus.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceStatus.DeviceStatus.html @@ -2,10 +2,10 @@ - + WvPLDeviceStatus.DeviceStatus - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceStatus.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceStatus.html index 49d3a76..ef15dcb 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceStatus.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLDeviceStatus.html @@ -2,10 +2,10 @@ - + WvPLDeviceStatus - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLEntitledKey.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLEntitledKey.html index d1fcb07..fc862c7 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLEntitledKey.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLEntitledKey.html @@ -2,10 +2,10 @@ - + WvPLEntitledKey - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLEnvironment.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLEnvironment.html index eb6f8b5..c6f682d 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLEnvironment.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLEnvironment.html @@ -2,10 +2,10 @@ - + WvPLEnvironment - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLHdcp.HDCP.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLHdcp.HDCP.html index c88ccf0..a78fcb5 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLHdcp.HDCP.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLHdcp.HDCP.html @@ -2,10 +2,10 @@ - + WvPLHdcp.HDCP - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLHdcp.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLHdcp.html index 4ade5b6..ffd7798 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLHdcp.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLHdcp.html @@ -2,10 +2,10 @@ - + WvPLHdcp - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKey.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKey.html index 61b9c6d..338bd4a 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKey.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKey.html @@ -2,10 +2,10 @@ - + WvPLKey - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategory.KeyCategory.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategory.KeyCategory.html index c55dba7..912dfb4 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategory.KeyCategory.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategory.KeyCategory.html @@ -2,10 +2,10 @@ - + WvPLKeyCategory.KeyCategory - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategory.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategory.html index 3c2b9fd..b4db822 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategory.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategory.html @@ -2,10 +2,10 @@ - + WvPLKeyCategory - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategorySpec.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategorySpec.html index 3b08a3e..ea51ce1 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategorySpec.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyCategorySpec.html @@ -2,10 +2,10 @@ - + WvPLKeyCategorySpec - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyType.KeyType.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyType.KeyType.html index c7c00eb..9c2c6a6 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyType.KeyType.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyType.KeyType.html @@ -2,10 +2,10 @@ - + WvPLKeyType.KeyType - + @@ -178,10 +178,14 @@ extends java.lang.Enum<  -PROVIDER_ECM_VERIFIER_PUBLIC_KEY +OEM_ENTITLEMENT   +PROVIDER_ECM_VERIFIER_PUBLIC_KEY +  + + UNKNOWN_KEY   @@ -288,12 +292,21 @@ the order they are declared. - diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyType.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyType.html index 571a881..2a17f21 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyType.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLKeyType.html @@ -2,10 +2,10 @@ - + WvPLKeyType - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategory.LicenseCategory.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategory.LicenseCategory.html index d4b331b..05bf85a 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategory.LicenseCategory.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategory.LicenseCategory.html @@ -2,10 +2,10 @@ - + WvPLLicenseCategory.LicenseCategory - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategory.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategory.html index a461613..23f74f2 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategory.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategory.html @@ -2,10 +2,10 @@ - + WvPLLicenseCategory - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategorySpec.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategorySpec.html index 945f955..c6317b1 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategorySpec.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseCategorySpec.html @@ -2,10 +2,10 @@ - + WvPLLicenseCategorySpec - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseIdentification.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseIdentification.html index bfda917..9388dc6 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseIdentification.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseIdentification.html @@ -2,10 +2,10 @@ - + WvPLLicenseIdentification - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseRequestType.LicenseRequestType.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseRequestType.LicenseRequestType.html index 7ecb60d..bb67795 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseRequestType.LicenseRequestType.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseRequestType.LicenseRequestType.html @@ -2,10 +2,10 @@ - + WvPLLicenseRequestType.LicenseRequestType - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseRequestType.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseRequestType.html index 0218a76..af4d84b 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseRequestType.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseRequestType.html @@ -2,10 +2,10 @@ - + WvPLLicenseRequestType - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseType.LicenseType.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseType.LicenseType.html index 9927858..5197624 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseType.LicenseType.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseType.LicenseType.html @@ -2,10 +2,10 @@ - + WvPLLicenseType.LicenseType - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseType.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseType.html index b06c881..f429964 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseType.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLLicenseType.html @@ -2,10 +2,10 @@ - + WvPLLicenseType - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLMessageType.MessageType.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLMessageType.MessageType.html index d512ae3..ab1f4e6 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLMessageType.MessageType.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLMessageType.MessageType.html @@ -2,10 +2,10 @@ - + WvPLMessageType.MessageType - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLMessageType.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLMessageType.html index 83006fc..b6296b3 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLMessageType.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLMessageType.html @@ -2,10 +2,10 @@ - + WvPLMessageType - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLOutputProtection.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLOutputProtection.html index b3c7857..e2652ea 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLOutputProtection.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLOutputProtection.html @@ -2,10 +2,10 @@ - + WvPLOutputProtection - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlatformVerificationStatus.PlatformVerificationStatus.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlatformVerificationStatus.PlatformVerificationStatus.html index 79ac2cd..6dd012b 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlatformVerificationStatus.PlatformVerificationStatus.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlatformVerificationStatus.PlatformVerificationStatus.html @@ -2,10 +2,10 @@ - + WvPLPlatformVerificationStatus.PlatformVerificationStatus - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlatformVerificationStatus.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlatformVerificationStatus.html index b40c4ca..d26509d 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlatformVerificationStatus.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlatformVerificationStatus.html @@ -2,10 +2,10 @@ - + WvPLPlatformVerificationStatus - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlaybackPolicy.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlaybackPolicy.html index 6e6bc86..1e616e6 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlaybackPolicy.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLPlaybackPolicy.html @@ -2,10 +2,10 @@ - + WvPLPlaybackPolicy - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLRequestType.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLRequestType.html index 2e1ff5b..1a8204f 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLRequestType.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLRequestType.html @@ -2,10 +2,10 @@ - + WvPLRequestType - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSecurityLevel.SecurityLevel.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSecurityLevel.SecurityLevel.html index bb96096..40f68e4 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSecurityLevel.SecurityLevel.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSecurityLevel.SecurityLevel.html @@ -2,10 +2,10 @@ - + WvPLSecurityLevel.SecurityLevel - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSecurityLevel.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSecurityLevel.html index c532d46..059e6ab 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSecurityLevel.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSecurityLevel.html @@ -2,10 +2,10 @@ - + WvPLSecurityLevel - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSession.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSession.html index e414966..887bdaa 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSession.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSession.html @@ -2,10 +2,10 @@ - + WvPLSession - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionCreateOptions.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionCreateOptions.html index 7f1c8ae..d840f47 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionCreateOptions.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionCreateOptions.html @@ -2,10 +2,10 @@ - + WvPLSessionCreateOptions - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionInit.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionInit.html index 6159ccb..559232d 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionInit.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionInit.html @@ -2,10 +2,10 @@ - + WvPLSessionInit - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionState.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionState.html index b5608d3..3d1bd4c 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionState.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLSessionState.html @@ -2,10 +2,10 @@ - + WvPLSessionState - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatus.StatusCode.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatus.StatusCode.html index 11638cc..5048d3e 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatus.StatusCode.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatus.StatusCode.html @@ -2,10 +2,10 @@ - + WvPLStatus.StatusCode - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatus.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatus.html index e59f192..52c1cef 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatus.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatus.html @@ -2,10 +2,10 @@ - + WvPLStatus - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatusException.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatusException.html index ef359f0..b71cd60 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatusException.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLStatusException.html @@ -2,10 +2,10 @@ - + WvPLStatusException - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLTrackType.TrackType.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLTrackType.TrackType.html index b7494db..ab3617d 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLTrackType.TrackType.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLTrackType.TrackType.html @@ -2,10 +2,10 @@ - + WvPLTrackType.TrackType - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLTrackType.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLTrackType.html index 64f0630..38d75fd 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLTrackType.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLTrackType.html @@ -2,10 +2,10 @@ - + WvPLTrackType - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoFeatureKeySet.VideoFeatureKeySet.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoFeatureKeySet.VideoFeatureKeySet.html index 7d949eb..ef218ab 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoFeatureKeySet.VideoFeatureKeySet.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoFeatureKeySet.VideoFeatureKeySet.html @@ -2,10 +2,10 @@ - + WvPLVideoFeatureKeySet.VideoFeatureKeySet - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoFeatureKeySet.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoFeatureKeySet.html index 2495b55..8e1efc2 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoFeatureKeySet.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoFeatureKeySet.html @@ -2,10 +2,10 @@ - + WvPLVideoFeatureKeySet - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoResolutionConstraint.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoResolutionConstraint.html index e95dcc3..1e29f8f 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoResolutionConstraint.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVideoResolutionConstraint.html @@ -2,10 +2,10 @@ - + WvPLVideoResolutionConstraint - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVulnerabilityLevel.VulnerabilityLevel.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVulnerabilityLevel.VulnerabilityLevel.html index 331f25a..d31f7f2 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVulnerabilityLevel.VulnerabilityLevel.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVulnerabilityLevel.VulnerabilityLevel.html @@ -2,10 +2,10 @@ - + WvPLVulnerabilityLevel.VulnerabilityLevel - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVulnerabilityLevel.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVulnerabilityLevel.html index ed6930d..1324868 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVulnerabilityLevel.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLVulnerabilityLevel.html @@ -2,10 +2,10 @@ - + WvPLVulnerabilityLevel - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLWidevinePsshData.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLWidevinePsshData.html index 65fb85c..ed7cdcd 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLWidevinePsshData.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/WvPLWidevinePsshData.html @@ -2,10 +2,10 @@ - + WvPLWidevinePsshData - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/package-summary.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/package-summary.html index 96d398b..3e43fcb 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/package-summary.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/package-summary.html @@ -2,10 +2,10 @@ - + com.google.video.widevine.sdk.wvpl - + diff --git a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/package-tree.html b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/package-tree.html index c098832..bb1433b 100644 --- a/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/package-tree.html +++ b/ubuntu/javadoc/com/google/video/widevine/sdk/wvpl/package-tree.html @@ -2,10 +2,10 @@ - + com.google.video.widevine.sdk.wvpl Class Hierarchy - + diff --git a/ubuntu/javadoc/constant-values.html b/ubuntu/javadoc/constant-values.html index a509818..edced88 100644 --- a/ubuntu/javadoc/constant-values.html +++ b/ubuntu/javadoc/constant-values.html @@ -2,10 +2,10 @@ - + Constant Field Values - + diff --git a/ubuntu/javadoc/deprecated-list.html b/ubuntu/javadoc/deprecated-list.html index 4c3c731..0daf786 100644 --- a/ubuntu/javadoc/deprecated-list.html +++ b/ubuntu/javadoc/deprecated-list.html @@ -2,10 +2,10 @@ - + Deprecated List - + diff --git a/ubuntu/javadoc/help-doc.html b/ubuntu/javadoc/help-doc.html index a306da7..4624a13 100644 --- a/ubuntu/javadoc/help-doc.html +++ b/ubuntu/javadoc/help-doc.html @@ -2,10 +2,10 @@ - + API Help - + diff --git a/ubuntu/javadoc/index-all.html b/ubuntu/javadoc/index-all.html index 26eafc6..470760a 100644 --- a/ubuntu/javadoc/index-all.html +++ b/ubuntu/javadoc/index-all.html @@ -2,10 +2,10 @@ - + Index - + @@ -1190,6 +1190,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
OEM_CONTENT - com.google.video.widevine.sdk.wvpl.WvPLKeyType.KeyType
 
+
OEM_ENTITLEMENT - com.google.video.widevine.sdk.wvpl.WvPLKeyType.KeyType
+
 
OFFLINE - com.google.video.widevine.sdk.wvpl.WvPLLicenseType.LicenseType
 
OK - com.google.video.widevine.sdk.wvpl.WvPLStatus.StatusCode
diff --git a/ubuntu/javadoc/index.html b/ubuntu/javadoc/index.html index 81c61dc..1f7fb3b 100644 --- a/ubuntu/javadoc/index.html +++ b/ubuntu/javadoc/index.html @@ -2,7 +2,7 @@ - + Generated Documentation (Untitled) diff --git a/ubuntu/javadoc/member-search-index.js b/ubuntu/javadoc/member-search-index.js index 1270d2d..a80a054 100644 --- a/ubuntu/javadoc/member-search-index.js +++ b/ubuntu/javadoc/member-search-index.js @@ -1 +1 @@ -memberSearchIndex = [{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"addKey(T)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"addKey(WvPLKey)","url":"addKey(com.google.video.widevine.sdk.wvpl.WvPLKey)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"addModelInfo(WvPLDeviceModelInfo)","url":"addModelInfo(com.google.video.widevine.sdk.wvpl.WvPLDeviceModelInfo)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"addVideoResolutionConstraint(WvPLVideoResolutionConstraint)","url":"addVideoResolutionConstraint(com.google.video.widevine.sdk.wvpl.WvPLVideoResolutionConstraint)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"allowRevokedDevices(String)","url":"allowRevokedDevices(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"allowRevokedDevices(String)","url":"allowRevokedDevices(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"ALREADY_EXISTS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"ANALOG_OUTPUT_NONE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"ANALOG_OUTPUT_SUPPORTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"ANALOG_OUTPUT_SUPPORTS_CGMS_A"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"ANALOG_OUTPUT_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"ATSC_PROFILE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"AUDIO"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"AUTOMATIC"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"CERT_CHAIN_NOT_SELECTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"CERTIFICATE_STATUS_LIST_NOT_FOUND"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"CGMS_NONE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"CONTENT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"CONTENT_INFO_ENTRY_EMPTY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"COPY_FREE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"COPY_NEVER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"COPY_ONCE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"CREATE_RSA_PUBLIC_KEY_FAILED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"createSession(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"createSession(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"createSessionWithOptions(byte[], WvPLSessionCreateOptions)","url":"createSessionWithOptions(byte[],com.google.video.widevine.sdk.wvpl.WvPLSessionCreateOptions)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"DELETED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"destroySession(T)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"destroySession(WvPLSession)","url":"destroySession(com.google.video.widevine.sdk.wvpl.WvPLSession)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVELOPMENT_CERTIFICATE_NOT_ALLOWED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVICE_CAPABILITIES_TOO_LOW"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVICE_CERTIFICATE_REVOKED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVICE_CERTIFICATE_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"DEVICE_LEVEL_1"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"DEVICE_LEVEL_2"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"DEVICE_LEVEL_3"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"DEVICE_LEVEL_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVICE_NOT_SUPPORTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"DEVICE_STATE_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DRM_DEVICE_CERTIFICATE_ECC_KEYGEN_FAILED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DRM_DEVICE_CERTIFICATE_EMPTY_SERIAL_NUMBER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DRM_DEVICE_CERTIFICATE_EXPIRED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DRM_DEVICE_CERTIFICATE_SERIAL_NUMBER_REVOKED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"EMPTY_GROUP_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"ENCRYPT_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"ENTITLEMENT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"entitlementPeriodIndex()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"EXPIRED_CERTIFICATE_STATUS_LIST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"EXTERNAL_LICENSE_REQUEST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"EXTERNAL_LICENSE_REQUEST_PARSE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"EXTERNAL_LICENSE_REQUEST_TYPE_UNDEFINED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"findDeviceState(int)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"generateDeviceStatusListRequest()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"generateDeviceStatusListRequest()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"generateErrorResponse(WvPLStatus)","url":"generateErrorResponse(com.google.video.widevine.sdk.wvpl.WvPLStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"generateLicense()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getAllowRecord()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"getAllowRevokedDevice()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getAllowTamperedPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getAllowUnverifiedPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getAlwaysIncludeClientId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities","l":"getAnalogOutputCapabilities()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getAnalogOutputCapabilities()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getAntiRollbackUsageTable()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getCanDisableAnalogOutput()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getCanPersist()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getCanPlay()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getCanRenew()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getCanUpdateSrm()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getCdmVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType","l":"getCertificateKeyType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms","l":"getCgms()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getCgms()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getClientCapabilities()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getClientInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getClientInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getContentId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getContentId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getContentId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"getContentOrGroupId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"getContentOrGroupId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getControlTime()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getCustomDeviceSecurityProfileNames(String)","url":"getCustomDeviceSecurityProfileNames(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getCustomDeviceSecurityProfileNames(String)","url":"getCustomDeviceSecurityProfileNames(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getCustomDeviceSecurityProfileOwners()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getCustomDeviceSecurityProfileOwners()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getCustomDeviceSecurityProfiles(String)","url":"getCustomDeviceSecurityProfiles(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getCustomDeviceSecurityProfiles(String)","url":"getCustomDeviceSecurityProfiles(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getDefaultDeviceSecurityProfile(String)","url":"getDefaultDeviceSecurityProfile(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getDefaultDeviceSecurityProfile(String)","url":"getDefaultDeviceSecurityProfile(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getDefaultDeviceSecurityProfileNames()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getDefaultDeviceSecurityProfileNames()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getDeviceInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getDeviceInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus","l":"getDeviceModelStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"getDeviceModelStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform","l":"getDevicePlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getDeviceSecurityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel","l":"getDeviceSecurityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState","l":"getDeviceState()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"getDeviceState()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getDeviceStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus","l":"getDeviceStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"getDeviceStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getDeviceType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getDisableAnalogOutput()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getDisableDigitalOutput()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getDrmCertificateSerialNumber()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getDrmInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getDrmInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getEntitledKeys()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getEntitlementKeyId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getEntitlementKeyIv()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getEntitlementKeySize()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getEntitlementRotationEnabled()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getExceptions()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getGroupIds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getHdcp()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"getHdcp()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp","l":"getHDCP()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"getHDCP()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getKeyboxSystemId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getKeyBytes()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getKeyBytes()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"getKeyCategory()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getKeyId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getKeyId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getKeyIds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getKeys()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getKeys()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"getKeyType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getKeyType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"getLicenseCategory()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getLicenseCategorySpec()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getLicenseCounter()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getLicenseDurationSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getLicenseId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType","l":"getLicenseRequestType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"getLicenseRequestType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getLicenseStartTime()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getLicenseType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType","l":"getLicenseType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"getLicenseType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getManufacturer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getMasterSigningKey()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getMaxHdcpVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getMaxHdcpVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"getMaxResolutionPixels()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"getMessage()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType","l":"getMessageType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"getMessageType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"getMinResolutionPixels()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getModel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getModelInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getName()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getNamesValues()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"getNumericCode()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getOemCryptoApiVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getOemCryptoApiVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"getOutputProtection()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getOutputProtection()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getOutputRequirement()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getOverrideDeviceRevocation()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getOverrideProviderClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getOwner()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus","l":"getPlatformVerificationStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBrowserRequirement","l":"getPlatformVerificationStatuses()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getPlaybackDurationSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getPolicy()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getPolicy()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getProviderClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getProviderClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getProviderClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getProviderSessionToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getProviderSessionToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getProvisionedDeviceInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getPsshData()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getPsshData()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getPurchaseId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getPurchaseId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getQualifiedCustomDeviceSecurityProfiles(String)","url":"getQualifiedCustomDeviceSecurityProfiles(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getQualifiedCustomDeviceSecurityProfiles(String)","url":"getQualifiedCustomDeviceSecurityProfiles(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getQualifiedDefaultDeviceSecurityProfiles()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getQualifiedDefaultDeviceSecurityProfiles()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getRejectUnknownMakeModel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getRejectUnknownMakeModel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewalIntervalSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewalRecoveryDurationSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewalRetryIntervalSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewalUrl()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewWithUsage()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRentalDurationSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getRequestAsString(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getRequestAsString(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"getRequestedOutputProtection()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getRequestedOutputProtection()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getRequestId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getRequestType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getRequestType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getResourceRatingTier()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getSecuredataPath()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getSecurityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getSecurityRequirement()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getServiceId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getSessionId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getSessionId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getSessionInit()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getSessionInit()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getSessionState()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getSessionToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getSigningKey()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getSoc()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getSoftEnforcePlaybackDuration()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getSoftEnforceRentalDuration()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getSrmVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getStatsAsBytes(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getStatsAsString(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatusException","l":"getStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"getStatusCode()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getSupportedCertificateKeyType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getSystemId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getTestDevice()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"getTrackType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getTrackType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getVersionString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getVideoFeature()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"getVideoFeatureKeySet()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getVideoResolutionConstraint()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getVideoResolutionConstraints()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel","l":"getVulnerabilityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"getVulnerabilityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getWrappingKey()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategory.KeyCategory","l":"GROUP_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"GROUP_LICENSE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"hasSdkSession()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_NO_DIGITAL_OUTPUT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_NONE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V1"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V2"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V2_1"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V2_2"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V2_3"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"HW_SECURE_ALL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"HW_SECURE_CRYPTO"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"HW_SECURE_DECODE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"IN_TESTING"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"init(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INTERNAL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_ARGUMENT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CENC_INIT_DATA"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CERT_ALGORITHM"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CERTIFICATE_STATUS_LIST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CLIENT_CERT_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CONTENT_ID_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_DEVICE_CERTIFICATE_TOKEN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_DEVICE_SECURITY_PROFILE_LIST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_ENCRYPTED_CLIENT_IDENTIFICATION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_ENCRYPTED_LICENSE_CHALLENGE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_KEY_CONTROL_NONCE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_KEY_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_KEY_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_KEYBOX_TOKEN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_MASTER_SIGNING_KEY_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_MESSAGE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_MESSAGE_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_OFFLINE_CAN_PERSIST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_PARAMETER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_PROVIDER_SESSION_TOKEN_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_PSSH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_RELEASE_CAN_PLAY_VALUE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_RENEWAL_SIGNATURE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_RENEWAL_SIGNING_KEY_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SERVICE_CERTIFICATE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SERVICE_PRIVATE_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SERVICE_PUBLIC_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SESSION_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SESSION_USAGE_SIGNATURE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SESSION_USAGE_TABLE_ENTRY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SIGNATURE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SIGNED_DEVICE_SECURITY_PROFILES"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SIGNING_KEY_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SRM_LOCATION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SRM_SIGNATURE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SRM_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_WIDEVINE_PSSH_DATA"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"isChromeCDM()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"isExternalLicenseRequest()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"isRevokedDeviceAllowed(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"isRevokedDeviceAllowed(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"KEYBOX_DECRYPT_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"KEYBOX_TOKEN_KEYS_NOT_INITIALIZED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"KEYCONTROL_GENERATION_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"LICENSE_REQUEST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"LICENSE_REQUEST_PARSE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"LICENSE_TYPE_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_CLIENT_CERT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_CLIENT_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_CONTENT_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_ENCRYPTION_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_EVEN_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_EVEN_KEY_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_GROUP_MASTER_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_GROUP_MASTER_KEY_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_INIT_DATA"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_LICENSE_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_PRE_PROV_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_PROVIDER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_PROVIDER_IV"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_PROVIDER_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_REMOTE_ATTESTATION_CERTIFICATE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_RENEWAL_SIGNING_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_RSA_PUBLIC_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_SIGNING_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_REJECTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_UNVERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"MULTI_CONTENT_LICENSE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MULTIPLE_CLIENT_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"NEW"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"NOT_FOUND"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"OEM_CONTENT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"OFFLINE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"OK"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"PERMISSION_DENIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_ANDROID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_CHROME_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_CHROMECAST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_FIRE_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_FUCHSIA"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_HARDWARE_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_IOS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_IPAD_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_KAIOS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_LINUX"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_MAC_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_NO_VERIFICATION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_OTHER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_PLAYSTATION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_RDK"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_ROKU"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_SECURE_STORAGE_SOFTWARE_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_SOFTWARE_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_TAMPERED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_TIZEN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_TV_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_UNVERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_WEB_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_WINDOWS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_XBOX"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"PRE_RELEASE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"PROVIDER_ECM_VERIFIER_PUBLIC_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"PROVIDER_ID_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"PUBLIC_KEY_AND_PRIVATE_KEY_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"RELEASE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"RELEASED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"REMOTE_ATTESTATION_FAILED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"RENEWAL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"RENEWAL_LICENSE_ID_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"RENEWAL_WITH_CONTENT_KEYS_NOT_ALLOWED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"REQUEST_TYPE_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"REVOKED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"REVOKED_LICENSING"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"ROOT_CERTIFICATE_NOT_SET"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType.CertificateKeyType","l":"RSA_2048"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType.CertificateKeyType","l":"RSA_3072"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"SECURITY_LEVEL_UNDEFINED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SERVICE_CERTIFICATE_NOT_FOUND"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SERVICE_CERTIFICATE_NOT_SET"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"SERVICE_CERTIFICATE_REQUEST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SERVICE_CERTIFICATE_REQUEST_MESSAGE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SERVICE_PRIVATE_KEY_DECRYPT_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SESSION_ID_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SESSION_STATE_PARSE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setAllowRecord(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"setAllowRevokedDevice(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setAllowTamperedPlatform(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setAllowTamperedPlatform(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setAllowUnverifiedPlatform(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setAllowUnverifiedPlatform(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setAlwaysIncludeClientId(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setCanPersist(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setCanPlay(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setCanRenew(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setCgms(WvPLCgms.Cgms)","url":"setCgms(com.google.video.widevine.sdk.wvpl.WvPLCgms.Cgms)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"setContentOrGroupId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"setContentOrGroupId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"setCustomDeviceSecurityProfiles(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"setCustomDeviceSecurityProfiles(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"setDeviceCertificateStatusList(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"setDeviceCertificateStatusList(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setDeviceSecurityLevel(WvPLDeviceSecurityLevel.DeviceSecurityLevel)","url":"setDeviceSecurityLevel(com.google.video.widevine.sdk.wvpl.WvPLDeviceSecurityLevel.DeviceSecurityLevel)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setDeviceStatus(WvPLDeviceStatus.DeviceStatus)","url":"setDeviceStatus(com.google.video.widevine.sdk.wvpl.WvPLDeviceStatus.DeviceStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setDeviceType(String)","url":"setDeviceType(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setDisableAnalogOutput(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setDisableDigitalOutput(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setDrmCertificateSerialNumber(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setHdcp(WvPLHdcp.HDCP)","url":"setHdcp(com.google.video.widevine.sdk.wvpl.WvPLHdcp.HDCP)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"setHdcp(WvPLHdcp.HDCP)","url":"setHdcp(com.google.video.widevine.sdk.wvpl.WvPLHdcp.HDCP)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setIsExternalLicenseRequest(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setKeyboxSystemId(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setKeyBytes(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"setKeyCategory(WvPLKeyCategory.KeyCategory)","url":"setKeyCategory(com.google.video.widevine.sdk.wvpl.WvPLKeyCategory.KeyCategory)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setKeyId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"setKeyType(WvPLKeyType.KeyType)","url":"setKeyType(com.google.video.widevine.sdk.wvpl.WvPLKeyType.KeyType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setKeyType(WvPLKeyType.KeyType)","url":"setKeyType(com.google.video.widevine.sdk.wvpl.WvPLKeyType.KeyType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"setLicenseCategory(WvPLLicenseCategory.LicenseCategory)","url":"setLicenseCategory(com.google.video.widevine.sdk.wvpl.WvPLLicenseCategory.LicenseCategory)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setLicenseCategorySpec(WvPLLicenseCategorySpec)","url":"setLicenseCategorySpec(com.google.video.widevine.sdk.wvpl.WvPLLicenseCategorySpec)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setLicenseCounter(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setLicenseDurationSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setLicenseId(WvPLLicenseIdentification)","url":"setLicenseId(com.google.video.widevine.sdk.wvpl.WvPLLicenseIdentification)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setLicenseStartTime(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setLicenseType(WvPLLicenseType.LicenseType)","url":"setLicenseType(com.google.video.widevine.sdk.wvpl.WvPLLicenseType.LicenseType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setManufacturer(String)","url":"setManufacturer(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setMasterSigningKey(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setMasterSigningKey(String)","url":"setMasterSigningKey(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"setMaxResolutionPixels(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"setMinResolutionPixels(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setModel(String)","url":"setModel(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"setOutputProtection(WvPLOutputProtection)","url":"setOutputProtection(com.google.video.widevine.sdk.wvpl.WvPLOutputProtection)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setOutputProtection(WvPLOutputProtection)","url":"setOutputProtection(com.google.video.widevine.sdk.wvpl.WvPLOutputProtection)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setOverrideDeviceRevocation(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setOverrideProviderClientToken(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setPlatform(WvPLDevicePlatform.Platform)","url":"setPlatform(com.google.video.widevine.sdk.wvpl.WvPLDevicePlatform.Platform)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setPlaybackDurationSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setPolicy(WvPLPlaybackPolicy)","url":"setPolicy(com.google.video.widevine.sdk.wvpl.WvPLPlaybackPolicy)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setPolicy(WvPLPlaybackPolicy)","url":"setPolicy(com.google.video.widevine.sdk.wvpl.WvPLPlaybackPolicy)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"setPreProvisioningKeys(Map)","url":"setPreProvisioningKeys(java.util.Map)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setProviderClientToken(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setProviderClientToken(String)","url":"setProviderClientToken(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setProviderSessionToken(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setProviderSessionToken(String)","url":"setProviderSessionToken(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setPurchaseId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setPurchaseId(String)","url":"setPurchaseId(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setRejectUnknownMakeModel(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setRejectUnknownMakeModel(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewalIntervalSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewalRecoveryDurationSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewalRetryIntervalSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewalUrl(String)","url":"setRenewalUrl(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewWithUsage(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRentalDurationSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"setRequestedOutputProtection(WvPLOutputProtection)","url":"setRequestedOutputProtection(com.google.video.widevine.sdk.wvpl.WvPLOutputProtection)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setRequestedOutputProtection(WvPLOutputProtection)","url":"setRequestedOutputProtection(com.google.video.widevine.sdk.wvpl.WvPLOutputProtection)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setRequestId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setSecuredataPath(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setSecurityLevel(WvPLSecurityLevel.SecurityLevel)","url":"setSecurityLevel(com.google.video.widevine.sdk.wvpl.WvPLSecurityLevel.SecurityLevel)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"setServiceCertificate(byte[], byte[], byte[])","url":"setServiceCertificate(byte[],byte[],byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"setServiceCertificate(byte[], byte[], byte[])","url":"setServiceCertificate(byte[],byte[],byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setServiceId(String)","url":"setServiceId(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setSessionId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setSessionId(String)","url":"setSessionId(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setSessionInit(WvPLSessionInit)","url":"setSessionInit(com.google.video.widevine.sdk.wvpl.WvPLSessionInit)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setSessionInit(WvPLSessionInit)","url":"setSessionInit(com.google.video.widevine.sdk.wvpl.WvPLSessionInit)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setSigningKey(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setSoc(String)","url":"setSoc(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setSoftEnforcePlaybackDuration(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setSoftEnforceRentalDuration(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setSystemId(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setTestDevice(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"setTrackType(WvPLTrackType.TrackType)","url":"setTrackType(com.google.video.widevine.sdk.wvpl.WvPLTrackType.TrackType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setTrackType(WvPLTrackType.TrackType)","url":"setTrackType(com.google.video.widevine.sdk.wvpl.WvPLTrackType.TrackType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setVersion(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setWrappingKey(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SIGNATURE_VERIFICATION_FAILED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SIGNED_MESSAGE_PARSE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SIGNER_PROVIDER_ID_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SIGNING_KEY_EXPIRED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategory.KeyCategory","l":"SINGLE_CONTENT_KEY_DEFAULT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"SINGLE_CONTENT_LICENSE_DEFAULT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_IN_TESTING"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_RELEASED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_REVOKED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_TEST_ONLY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"STREAMING"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"SW_SECURE_CRYPTO"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"SW_SECURE_DECODE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"TEST_ONLY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"TOKEN_HASH_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBrowserRequirement","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"TRACK_TYPE_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNABLE_TO_SERIALIZE_SESSION_STATE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNABLE_TO_SERIALIZE_SIGNED_MESSAGE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNAVAILABLE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNIMPLEMENTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNKNOWN_INIT_DATA_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"UNKNOWN_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNKNOWN_MAKE_MODEL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNSUPPORTED_PSSH_VERSION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNSUPPORTED_SYSTEM_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"updateWithCertificates(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType.CertificateKeyType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategory.KeyCategory","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType.CertificateKeyType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategory.KeyCategory","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"verifyPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"verifyPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"VF_EXCLUDED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"VF_INCLUDED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"VF_ONLY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"VF_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"VIDEO_HD"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"VIDEO_SD"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"VIDEO_UHD1"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"VIDEO_UHD2"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"VMP_ERROR_PLATFORM_NOT_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"VMP_ERROR_PLATFORM_TAMPERED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_CRITICAL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_HIGH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_LEVEL_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_LOW"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_MEDIUM"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_NONE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities","l":"WvPLAnalogOutputCapabilities(WvPLAnalogOutputCapabilities.AnalogOutputCapabilities)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLAnalogOutputCapabilities.AnalogOutputCapabilities)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"WvPLBaseEnvironment()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"WvPLBaseKey()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"WvPLBaseSession()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType","l":"WvPLCertificateKeyType(WvPLCertificateKeyType.CertificateKeyType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLCertificateKeyType.CertificateKeyType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms","l":"WvPLCgms(WvPLCgms.Cgms)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLCgms.Cgms)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"WvPLDeviceInfo()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus","l":"WvPLDeviceModelStatus(WvPLDeviceModelStatus.DeviceModelStatus)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDeviceModelStatus.DeviceModelStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform","l":"WvPLDevicePlatform(WvPLDevicePlatform.Platform)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDevicePlatform.Platform)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel","l":"WvPLDeviceSecurityLevel(WvPLDeviceSecurityLevel.DeviceSecurityLevel)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDeviceSecurityLevel.DeviceSecurityLevel)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState","l":"WvPLDeviceState(WvPLDeviceState.DeviceState)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDeviceState.DeviceState)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus","l":"WvPLDeviceStatus(WvPLDeviceStatus.DeviceStatus)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDeviceStatus.DeviceStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"WvPLEnvironment(Map)","url":"%3Cinit%3E(java.util.Map)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp","l":"WvPLHdcp(WvPLHdcp.HDCP)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLHdcp.HDCP)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"WvPLKey()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"WvPLKeyCategorySpec()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType","l":"WvPLKeyType()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"WvPLLicenseCategorySpec()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"WvPLLicenseIdentification()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType","l":"WvPLLicenseRequestType(WvPLLicenseRequestType.LicenseRequestType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLLicenseRequestType.LicenseRequestType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType","l":"WvPLLicenseType(WvPLLicenseType.LicenseType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLLicenseType.LicenseType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType","l":"WvPLMessageType(WvPLMessageType.MessageType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLMessageType.MessageType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"WvPLOutputProtection()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus","l":"WvPLPlatformVerificationStatus(WvPLPlatformVerificationStatus.PlatformVerificationStatus)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLPlatformVerificationStatus.PlatformVerificationStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"WvPLPlaybackPolicy()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"WvPLPlaybackPolicy(long, long, long, long, long, long, boolean, boolean, boolean, boolean, String, boolean, boolean, boolean)","url":"%3Cinit%3E(long,long,long,long,long,long,boolean,boolean,boolean,boolean,java.lang.String,boolean,boolean,boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"WvPLRequestType()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"WvPLRequestType(WvPLMessageType.MessageType, WvPLLicenseRequestType.LicenseRequestType, WvPLLicenseType.LicenseType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLMessageType.MessageType,com.google.video.widevine.sdk.wvpl.WvPLLicenseRequestType.LicenseRequestType,com.google.video.widevine.sdk.wvpl.WvPLLicenseType.LicenseType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel","l":"WvPLSecurityLevel()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"WvPLSession()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"WvPLSessionCreateOptions()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"WvPLSessionInit()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"WvPLSessionState()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"WvPLStatus(WvPLStatus.StatusCode, String)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLStatus.StatusCode,java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatusException","l":"WvPLStatusException(WvPLStatus)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType","l":"WvPLTrackType()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"WvPLVideoResolutionConstraint()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel","l":"WvPLVulnerabilityLevel(WvPLVulnerabilityLevel.VulnerabilityLevel)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLVulnerabilityLevel.VulnerabilityLevel)"}] \ No newline at end of file +memberSearchIndex = [{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"addKey(T)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"addKey(WvPLKey)","url":"addKey(com.google.video.widevine.sdk.wvpl.WvPLKey)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"addModelInfo(WvPLDeviceModelInfo)","url":"addModelInfo(com.google.video.widevine.sdk.wvpl.WvPLDeviceModelInfo)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"addVideoResolutionConstraint(WvPLVideoResolutionConstraint)","url":"addVideoResolutionConstraint(com.google.video.widevine.sdk.wvpl.WvPLVideoResolutionConstraint)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"allowRevokedDevices(String)","url":"allowRevokedDevices(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"allowRevokedDevices(String)","url":"allowRevokedDevices(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"ALREADY_EXISTS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"ANALOG_OUTPUT_NONE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"ANALOG_OUTPUT_SUPPORTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"ANALOG_OUTPUT_SUPPORTS_CGMS_A"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"ANALOG_OUTPUT_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"ATSC_PROFILE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"AUDIO"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"AUTOMATIC"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"CERT_CHAIN_NOT_SELECTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"CERTIFICATE_STATUS_LIST_NOT_FOUND"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"CGMS_NONE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"CONTENT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"CONTENT_INFO_ENTRY_EMPTY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"COPY_FREE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"COPY_NEVER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"COPY_ONCE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"CREATE_RSA_PUBLIC_KEY_FAILED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"createSession(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"createSession(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"createSessionWithOptions(byte[], WvPLSessionCreateOptions)","url":"createSessionWithOptions(byte[],com.google.video.widevine.sdk.wvpl.WvPLSessionCreateOptions)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"DELETED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"destroyPeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"destroySession(T)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"destroySession(WvPLSession)","url":"destroySession(com.google.video.widevine.sdk.wvpl.WvPLSession)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVELOPMENT_CERTIFICATE_NOT_ALLOWED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVICE_CAPABILITIES_TOO_LOW"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVICE_CERTIFICATE_REVOKED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVICE_CERTIFICATE_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"DEVICE_LEVEL_1"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"DEVICE_LEVEL_2"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"DEVICE_LEVEL_3"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"DEVICE_LEVEL_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DEVICE_NOT_SUPPORTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"DEVICE_STATE_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DRM_DEVICE_CERTIFICATE_ECC_KEYGEN_FAILED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DRM_DEVICE_CERTIFICATE_EMPTY_SERIAL_NUMBER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DRM_DEVICE_CERTIFICATE_EXPIRED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"DRM_DEVICE_CERTIFICATE_SERIAL_NUMBER_REVOKED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"EMPTY_GROUP_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"ENCRYPT_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"ENTITLEMENT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"entitlementPeriodIndex()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"EXPIRED_CERTIFICATE_STATUS_LIST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"EXTERNAL_LICENSE_REQUEST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"EXTERNAL_LICENSE_REQUEST_PARSE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"EXTERNAL_LICENSE_REQUEST_TYPE_UNDEFINED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"findDeviceState(int)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"generateDeviceStatusListRequest()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"generateDeviceStatusListRequest()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"generateErrorResponse(WvPLStatus)","url":"generateErrorResponse(com.google.video.widevine.sdk.wvpl.WvPLStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"generateLicense()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getAllowRecord()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"getAllowRevokedDevice()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getAllowTamperedPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getAllowUnverifiedPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getAlwaysIncludeClientId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities","l":"getAnalogOutputCapabilities()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getAnalogOutputCapabilities()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getAntiRollbackUsageTable()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getCanDisableAnalogOutput()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getCanPersist()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getCanPlay()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getCanRenew()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getCanUpdateSrm()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getCdmVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType","l":"getCertificateKeyType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms","l":"getCgms()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getCgms()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getClientCapabilities()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getClientInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getClientInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getContentId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getContentId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getContentId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"getContentOrGroupId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"getContentOrGroupId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getControlTime()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getCustomDeviceSecurityProfileNames(String)","url":"getCustomDeviceSecurityProfileNames(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getCustomDeviceSecurityProfileNames(String)","url":"getCustomDeviceSecurityProfileNames(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getCustomDeviceSecurityProfileOwners()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getCustomDeviceSecurityProfileOwners()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getCustomDeviceSecurityProfiles(String)","url":"getCustomDeviceSecurityProfiles(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getCustomDeviceSecurityProfiles(String)","url":"getCustomDeviceSecurityProfiles(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getDefaultDeviceSecurityProfile(String)","url":"getDefaultDeviceSecurityProfile(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getDefaultDeviceSecurityProfile(String)","url":"getDefaultDeviceSecurityProfile(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getDefaultDeviceSecurityProfileNames()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getDefaultDeviceSecurityProfileNames()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getDeviceInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getDeviceInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus","l":"getDeviceModelStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"getDeviceModelStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform","l":"getDevicePlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getDeviceSecurityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel","l":"getDeviceSecurityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState","l":"getDeviceState()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"getDeviceState()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getDeviceStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus","l":"getDeviceStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"getDeviceStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getDeviceType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getDisableAnalogOutput()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getDisableDigitalOutput()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getDrmCertificateSerialNumber()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getDrmInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getDrmInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getEntitledKeys()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getEntitlementKeyId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getEntitlementKeyIv()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getEntitlementKeySize()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getEntitlementRotationEnabled()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getExceptions()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getGroupIds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getHdcp()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"getHdcp()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp","l":"getHDCP()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"getHDCP()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getKeyboxSystemId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getKeyBytes()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getKeyBytes()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"getKeyCategory()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"getKeyId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getKeyId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getKeyIds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getKeys()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getKeys()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"getKeyType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getKeyType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"getLicenseCategory()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getLicenseCategorySpec()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getLicenseCounter()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getLicenseDurationSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getLicenseId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType","l":"getLicenseRequestType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"getLicenseRequestType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getLicenseStartTime()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getLicenseType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType","l":"getLicenseType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"getLicenseType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getManufacturer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getMasterSigningKey()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getMaxHdcpVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getMaxHdcpVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"getMaxResolutionPixels()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"getMessage()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType","l":"getMessageType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"getMessageType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"getMinResolutionPixels()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getModel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getModelInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getName()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getNamesValues()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"getNumericCode()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getOemCryptoApiVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getOemCryptoApiVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"getOutputProtection()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getOutputProtection()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getOutputRequirement()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getOverrideDeviceRevocation()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getOverrideProviderClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getOwner()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus","l":"getPlatformVerificationStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBrowserRequirement","l":"getPlatformVerificationStatuses()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getPlaybackDurationSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getPolicy()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getPolicy()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientInfo","l":"getProviderClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getProviderClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getProviderClientToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getProviderSessionToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getProviderSessionToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getProvisionedDeviceInfo()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getPsshData()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getPsshData()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getPurchaseId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getPurchaseId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getQualifiedCustomDeviceSecurityProfiles(String)","url":"getQualifiedCustomDeviceSecurityProfiles(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getQualifiedCustomDeviceSecurityProfiles(String)","url":"getQualifiedCustomDeviceSecurityProfiles(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getQualifiedDefaultDeviceSecurityProfiles()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getQualifiedDefaultDeviceSecurityProfiles()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getRejectUnknownMakeModel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getRejectUnknownMakeModel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewalIntervalSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewalRecoveryDurationSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewalRetryIntervalSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewalUrl()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRenewWithUsage()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getRentalDurationSeconds()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"getRequestAsString(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getRequestAsString(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"getRequestedOutputProtection()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getRequestedOutputProtection()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getRequestId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getRequestType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getRequestType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getResourceRatingTier()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getSecuredataPath()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"getSecurityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"getSecurityRequirement()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getServiceId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getSessionId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"getSessionId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"getSessionInit()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getSessionInit()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getSessionState()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getSessionToken()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"getSigningKey()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getSoc()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getSoftEnforcePlaybackDuration()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"getSoftEnforceRentalDuration()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getSrmVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getStatsAsBytes(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"getStatsAsString(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatusException","l":"getStatus()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"getStatusCode()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getSupportedCertificateKeyType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getSystemId()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"getTestDevice()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"getTrackType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getTrackType()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"getVersion()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"getVersionString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"getVideoFeature()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"getVideoFeatureKeySet()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getVideoResolutionConstraint()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"getVideoResolutionConstraints()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel","l":"getVulnerabilityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"getVulnerabilityLevel()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"getWrappingKey()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategory.KeyCategory","l":"GROUP_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"GROUP_LICENSE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"hasSdkSession()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_NO_DIGITAL_OUTPUT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_NONE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V1"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V2"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V2_1"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V2_2"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"HDCP_V2_3"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"HW_SECURE_ALL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"HW_SECURE_CRYPTO"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"HW_SECURE_DECODE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"IN_TESTING"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"init(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"initializePeer()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INTERNAL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_ARGUMENT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CENC_INIT_DATA"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CERT_ALGORITHM"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CERTIFICATE_STATUS_LIST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CLIENT_CERT_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_CONTENT_ID_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_DEVICE_CERTIFICATE_TOKEN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_DEVICE_SECURITY_PROFILE_LIST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_ENCRYPTED_CLIENT_IDENTIFICATION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_ENCRYPTED_LICENSE_CHALLENGE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_KEY_CONTROL_NONCE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_KEY_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_KEY_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_KEYBOX_TOKEN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_MASTER_SIGNING_KEY_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_MESSAGE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_MESSAGE_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_OFFLINE_CAN_PERSIST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_PARAMETER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_PROVIDER_SESSION_TOKEN_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_PSSH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_RELEASE_CAN_PLAY_VALUE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_RENEWAL_SIGNATURE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_RENEWAL_SIGNING_KEY_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SERVICE_CERTIFICATE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SERVICE_PRIVATE_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SERVICE_PUBLIC_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SESSION_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SESSION_USAGE_SIGNATURE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SESSION_USAGE_TABLE_ENTRY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SIGNATURE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SIGNED_DEVICE_SECURITY_PROFILES"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SIGNING_KEY_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SRM_LOCATION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SRM_SIGNATURE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_SRM_SIZE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"INVALID_WIDEVINE_PSSH_DATA"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"isChromeCDM()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"isExternalLicenseRequest()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"isRevokedDeviceAllowed(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"isRevokedDeviceAllowed(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"KEYBOX_DECRYPT_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"KEYBOX_TOKEN_KEYS_NOT_INITIALIZED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"KEYCONTROL_GENERATION_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"LICENSE_REQUEST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"LICENSE_REQUEST_PARSE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"LICENSE_TYPE_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_CLIENT_CERT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_CLIENT_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_CONTENT_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_ENCRYPTION_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_EVEN_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_EVEN_KEY_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_GROUP_MASTER_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_GROUP_MASTER_KEY_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_INIT_DATA"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_LICENSE_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_PRE_PROV_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_PROVIDER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_PROVIDER_IV"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_PROVIDER_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_REMOTE_ATTESTATION_CERTIFICATE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_RENEWAL_SIGNING_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_RSA_PUBLIC_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MISSING_SIGNING_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_REJECTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_UNVERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"MODEL_STATUS_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"MULTI_CONTENT_LICENSE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"MULTIPLE_CLIENT_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"NEW"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"NOT_FOUND"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"OEM_CONTENT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"OEM_ENTITLEMENT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"OFFLINE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"OK"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"PERMISSION_DENIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_ANDROID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_CHROME_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_CHROMECAST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_FIRE_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_FUCHSIA"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_HARDWARE_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_IOS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_IPAD_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_KAIOS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_LINUX"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_MAC_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_NO_VERIFICATION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_OTHER"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_PLAYSTATION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_RDK"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_ROKU"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_SECURE_STORAGE_SOFTWARE_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_SOFTWARE_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_TAMPERED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_TIZEN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_TV_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"PLATFORM_UNVERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_WEB_OS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_WINDOWS"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"PLATFORM_XBOX"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"PRE_RELEASE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"PROVIDER_ECM_VERIFIER_PUBLIC_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"PROVIDER_ID_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"PUBLIC_KEY_AND_PRIVATE_KEY_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"RELEASE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"RELEASED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"REMOTE_ATTESTATION_FAILED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"RENEWAL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"RENEWAL_LICENSE_ID_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"RENEWAL_WITH_CONTENT_KEYS_NOT_ALLOWED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"REQUEST_TYPE_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"REVOKED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"REVOKED_LICENSING"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"ROOT_CERTIFICATE_NOT_SET"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType.CertificateKeyType","l":"RSA_2048"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType.CertificateKeyType","l":"RSA_3072"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"SECURITY_LEVEL_UNDEFINED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SERVICE_CERTIFICATE_NOT_FOUND"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SERVICE_CERTIFICATE_NOT_SET"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"SERVICE_CERTIFICATE_REQUEST"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SERVICE_CERTIFICATE_REQUEST_MESSAGE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SERVICE_PRIVATE_KEY_DECRYPT_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SESSION_ID_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SESSION_STATE_PARSE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setAllowRecord(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"setAllowRevokedDevice(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setAllowTamperedPlatform(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setAllowTamperedPlatform(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setAllowUnverifiedPlatform(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setAllowUnverifiedPlatform(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setAlwaysIncludeClientId(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setCanPersist(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setCanPlay(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setCanRenew(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setCgms(WvPLCgms.Cgms)","url":"setCgms(com.google.video.widevine.sdk.wvpl.WvPLCgms.Cgms)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"setContentOrGroupId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"setContentOrGroupId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"setCustomDeviceSecurityProfiles(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"setCustomDeviceSecurityProfiles(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"setDeviceCertificateStatusList(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"setDeviceCertificateStatusList(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setDeviceSecurityLevel(WvPLDeviceSecurityLevel.DeviceSecurityLevel)","url":"setDeviceSecurityLevel(com.google.video.widevine.sdk.wvpl.WvPLDeviceSecurityLevel.DeviceSecurityLevel)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setDeviceStatus(WvPLDeviceStatus.DeviceStatus)","url":"setDeviceStatus(com.google.video.widevine.sdk.wvpl.WvPLDeviceStatus.DeviceStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setDeviceType(String)","url":"setDeviceType(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setDisableAnalogOutput(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setDisableDigitalOutput(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setDrmCertificateSerialNumber(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setHdcp(WvPLHdcp.HDCP)","url":"setHdcp(com.google.video.widevine.sdk.wvpl.WvPLHdcp.HDCP)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"setHdcp(WvPLHdcp.HDCP)","url":"setHdcp(com.google.video.widevine.sdk.wvpl.WvPLHdcp.HDCP)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setIsExternalLicenseRequest(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setKeyboxSystemId(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setKeyBytes(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"setKeyCategory(WvPLKeyCategory.KeyCategory)","url":"setKeyCategory(com.google.video.widevine.sdk.wvpl.WvPLKeyCategory.KeyCategory)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setKeyId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"setKeyType(WvPLKeyType.KeyType)","url":"setKeyType(com.google.video.widevine.sdk.wvpl.WvPLKeyType.KeyType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setKeyType(WvPLKeyType.KeyType)","url":"setKeyType(com.google.video.widevine.sdk.wvpl.WvPLKeyType.KeyType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"setLicenseCategory(WvPLLicenseCategory.LicenseCategory)","url":"setLicenseCategory(com.google.video.widevine.sdk.wvpl.WvPLLicenseCategory.LicenseCategory)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setLicenseCategorySpec(WvPLLicenseCategorySpec)","url":"setLicenseCategorySpec(com.google.video.widevine.sdk.wvpl.WvPLLicenseCategorySpec)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setLicenseCounter(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setLicenseDurationSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setLicenseId(WvPLLicenseIdentification)","url":"setLicenseId(com.google.video.widevine.sdk.wvpl.WvPLLicenseIdentification)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setLicenseStartTime(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setLicenseType(WvPLLicenseType.LicenseType)","url":"setLicenseType(com.google.video.widevine.sdk.wvpl.WvPLLicenseType.LicenseType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setManufacturer(String)","url":"setManufacturer(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setMasterSigningKey(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setMasterSigningKey(String)","url":"setMasterSigningKey(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"setMaxResolutionPixels(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"setMinResolutionPixels(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setModel(String)","url":"setModel(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"setOutputProtection(WvPLOutputProtection)","url":"setOutputProtection(com.google.video.widevine.sdk.wvpl.WvPLOutputProtection)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setOutputProtection(WvPLOutputProtection)","url":"setOutputProtection(com.google.video.widevine.sdk.wvpl.WvPLOutputProtection)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setOverrideDeviceRevocation(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setOverrideProviderClientToken(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setPlatform(WvPLDevicePlatform.Platform)","url":"setPlatform(com.google.video.widevine.sdk.wvpl.WvPLDevicePlatform.Platform)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setPlaybackDurationSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setPolicy(WvPLPlaybackPolicy)","url":"setPolicy(com.google.video.widevine.sdk.wvpl.WvPLPlaybackPolicy)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setPolicy(WvPLPlaybackPolicy)","url":"setPolicy(com.google.video.widevine.sdk.wvpl.WvPLPlaybackPolicy)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"setPreProvisioningKeys(Map)","url":"setPreProvisioningKeys(java.util.Map)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setProviderClientToken(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setProviderClientToken(String)","url":"setProviderClientToken(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setProviderSessionToken(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setProviderSessionToken(String)","url":"setProviderSessionToken(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setPurchaseId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setPurchaseId(String)","url":"setPurchaseId(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setRejectUnknownMakeModel(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setRejectUnknownMakeModel(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewalIntervalSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewalRecoveryDurationSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewalRetryIntervalSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewalUrl(String)","url":"setRenewalUrl(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRenewWithUsage(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setRentalDurationSeconds(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"setRequestedOutputProtection(WvPLOutputProtection)","url":"setRequestedOutputProtection(com.google.video.widevine.sdk.wvpl.WvPLOutputProtection)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setRequestedOutputProtection(WvPLOutputProtection)","url":"setRequestedOutputProtection(com.google.video.widevine.sdk.wvpl.WvPLOutputProtection)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setRequestId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setSecuredataPath(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"setSecurityLevel(WvPLSecurityLevel.SecurityLevel)","url":"setSecurityLevel(com.google.video.widevine.sdk.wvpl.WvPLSecurityLevel.SecurityLevel)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"setServiceCertificate(byte[], byte[], byte[])","url":"setServiceCertificate(byte[],byte[],byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"setServiceCertificate(byte[], byte[], byte[])","url":"setServiceCertificate(byte[],byte[],byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setServiceId(String)","url":"setServiceId(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setSessionId(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"setSessionId(String)","url":"setSessionId(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"setSessionInit(WvPLSessionInit)","url":"setSessionInit(com.google.video.widevine.sdk.wvpl.WvPLSessionInit)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"setSessionInit(WvPLSessionInit)","url":"setSessionInit(com.google.video.widevine.sdk.wvpl.WvPLSessionInit)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"setSigningKey(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setSoc(String)","url":"setSoc(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setSoftEnforcePlaybackDuration(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"setSoftEnforceRentalDuration(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setSystemId(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"setTestDevice(boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"setTrackType(WvPLTrackType.TrackType)","url":"setTrackType(com.google.video.widevine.sdk.wvpl.WvPLTrackType.TrackType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setTrackType(WvPLTrackType.TrackType)","url":"setTrackType(com.google.video.widevine.sdk.wvpl.WvPLTrackType.TrackType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"setVersion(long)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"setWrappingKey(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SIGNATURE_VERIFICATION_FAILED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SIGNED_MESSAGE_PARSE_ERROR"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SIGNER_PROVIDER_ID_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"SIGNING_KEY_EXPIRED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategory.KeyCategory","l":"SINGLE_CONTENT_KEY_DEFAULT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"SINGLE_CONTENT_LICENSE_DEFAULT"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_IN_TESTING"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_RELEASED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_REVOKED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_TEST_ONLY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"STATUS_UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"STREAMING"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"SW_SECURE_CRYPTO"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"SW_SECURE_DECODE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"TEST_ONLY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"TOKEN_HASH_MISMATCH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBrowserRequirement","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLClientCapabilities","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityProfile","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEntitledKey","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLWidevinePsshData","l":"toString()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"TRACK_TYPE_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNABLE_TO_SERIALIZE_SESSION_STATE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNABLE_TO_SERIALIZE_SIGNED_MESSAGE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNAVAILABLE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNIMPLEMENTED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNKNOWN"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNKNOWN_INIT_DATA_TYPE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"UNKNOWN_KEY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNKNOWN_MAKE_MODEL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNSUPPORTED_PSSH_VERSION"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"UNSUPPORTED_SYSTEM_ID"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"updateWithCertificates(byte[])"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType.CertificateKeyType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategory.KeyCategory","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"valueOf(String)","url":"valueOf(java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities.AnalogOutputCapabilities","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType.CertificateKeyType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms.Cgms","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus.DeviceModelStatus","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform.Platform","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel.DeviceSecurityLevel","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState.DeviceState","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus.DeviceStatus","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp.HDCP","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategory.KeyCategory","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType.KeyType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategory.LicenseCategory","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType.LicenseRequestType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType.LicenseType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType.MessageType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus.PlatformVerificationStatus","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel.SecurityLevel","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"values()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"verifyPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"verifyPlatform()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"VF_EXCLUDED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"VF_INCLUDED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"VF_ONLY"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoFeatureKeySet.VideoFeatureKeySet","l":"VF_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"VIDEO_HD"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"VIDEO_SD"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"VIDEO_UHD1"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType.TrackType","l":"VIDEO_UHD2"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"VMP_ERROR_PLATFORM_NOT_VERIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus.StatusCode","l":"VMP_ERROR_PLATFORM_TAMPERED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_CRITICAL"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_HIGH"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_LEVEL_UNSPECIFIED"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_LOW"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_MEDIUM"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel.VulnerabilityLevel","l":"VULNERABILITY_NONE"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLAnalogOutputCapabilities","l":"WvPLAnalogOutputCapabilities(WvPLAnalogOutputCapabilities.AnalogOutputCapabilities)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLAnalogOutputCapabilities.AnalogOutputCapabilities)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseEnvironment","l":"WvPLBaseEnvironment()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseKey","l":"WvPLBaseKey()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLBaseSession","l":"WvPLBaseSession()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCertificateKeyType","l":"WvPLCertificateKeyType(WvPLCertificateKeyType.CertificateKeyType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLCertificateKeyType.CertificateKeyType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLCgms","l":"WvPLCgms(WvPLCgms.Cgms)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLCgms.Cgms)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceInfo","l":"WvPLDeviceInfo()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceModelStatus","l":"WvPLDeviceModelStatus(WvPLDeviceModelStatus.DeviceModelStatus)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDeviceModelStatus.DeviceModelStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDevicePlatform","l":"WvPLDevicePlatform(WvPLDevicePlatform.Platform)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDevicePlatform.Platform)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceSecurityLevel","l":"WvPLDeviceSecurityLevel(WvPLDeviceSecurityLevel.DeviceSecurityLevel)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDeviceSecurityLevel.DeviceSecurityLevel)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceState","l":"WvPLDeviceState(WvPLDeviceState.DeviceState)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDeviceState.DeviceState)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLDeviceStatus","l":"WvPLDeviceStatus(WvPLDeviceStatus.DeviceStatus)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLDeviceStatus.DeviceStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLEnvironment","l":"WvPLEnvironment(Map)","url":"%3Cinit%3E(java.util.Map)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLHdcp","l":"WvPLHdcp(WvPLHdcp.HDCP)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLHdcp.HDCP)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKey","l":"WvPLKey()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyCategorySpec","l":"WvPLKeyCategorySpec()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLKeyType","l":"WvPLKeyType()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseCategorySpec","l":"WvPLLicenseCategorySpec()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseIdentification","l":"WvPLLicenseIdentification()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseRequestType","l":"WvPLLicenseRequestType(WvPLLicenseRequestType.LicenseRequestType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLLicenseRequestType.LicenseRequestType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLLicenseType","l":"WvPLLicenseType(WvPLLicenseType.LicenseType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLLicenseType.LicenseType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLMessageType","l":"WvPLMessageType(WvPLMessageType.MessageType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLMessageType.MessageType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLOutputProtection","l":"WvPLOutputProtection()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlatformVerificationStatus","l":"WvPLPlatformVerificationStatus(WvPLPlatformVerificationStatus.PlatformVerificationStatus)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLPlatformVerificationStatus.PlatformVerificationStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"WvPLPlaybackPolicy()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLPlaybackPolicy","l":"WvPLPlaybackPolicy(long, long, long, long, long, long, boolean, boolean, boolean, boolean, String, boolean, boolean, boolean)","url":"%3Cinit%3E(long,long,long,long,long,long,boolean,boolean,boolean,boolean,java.lang.String,boolean,boolean,boolean)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"WvPLRequestType()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLRequestType","l":"WvPLRequestType(WvPLMessageType.MessageType, WvPLLicenseRequestType.LicenseRequestType, WvPLLicenseType.LicenseType)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLMessageType.MessageType,com.google.video.widevine.sdk.wvpl.WvPLLicenseRequestType.LicenseRequestType,com.google.video.widevine.sdk.wvpl.WvPLLicenseType.LicenseType)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSecurityLevel","l":"WvPLSecurityLevel()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSession","l":"WvPLSession()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionCreateOptions","l":"WvPLSessionCreateOptions()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionInit","l":"WvPLSessionInit()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLSessionState","l":"WvPLSessionState()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatus","l":"WvPLStatus(WvPLStatus.StatusCode, String)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLStatus.StatusCode,java.lang.String)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLStatusException","l":"WvPLStatusException(WvPLStatus)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLStatus)"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLTrackType","l":"WvPLTrackType()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVideoResolutionConstraint","l":"WvPLVideoResolutionConstraint()","url":"%3Cinit%3E()"},{"p":"com.google.video.widevine.sdk.wvpl","c":"WvPLVulnerabilityLevel","l":"WvPLVulnerabilityLevel(WvPLVulnerabilityLevel.VulnerabilityLevel)","url":"%3Cinit%3E(com.google.video.widevine.sdk.wvpl.WvPLVulnerabilityLevel.VulnerabilityLevel)"}] \ No newline at end of file diff --git a/ubuntu/javadoc/member-search-index.zip b/ubuntu/javadoc/member-search-index.zip index a4c0d2e..d1d458a 100644 Binary files a/ubuntu/javadoc/member-search-index.zip and b/ubuntu/javadoc/member-search-index.zip differ diff --git a/ubuntu/javadoc/overview-tree.html b/ubuntu/javadoc/overview-tree.html index b479737..d5a2974 100644 --- a/ubuntu/javadoc/overview-tree.html +++ b/ubuntu/javadoc/overview-tree.html @@ -2,10 +2,10 @@ - + Class Hierarchy - + diff --git a/ubuntu/javadoc/package-search-index.zip b/ubuntu/javadoc/package-search-index.zip index aa87f57..42cda26 100644 Binary files a/ubuntu/javadoc/package-search-index.zip and b/ubuntu/javadoc/package-search-index.zip differ diff --git a/ubuntu/javadoc/serialized-form.html b/ubuntu/javadoc/serialized-form.html index f2870a9..3184d36 100644 --- a/ubuntu/javadoc/serialized-form.html +++ b/ubuntu/javadoc/serialized-form.html @@ -2,10 +2,10 @@ - + Serialized Form - + diff --git a/ubuntu/javadoc/type-search-index.zip b/ubuntu/javadoc/type-search-index.zip index 578f796..8f4ced4 100644 Binary files a/ubuntu/javadoc/type-search-index.zip and b/ubuntu/javadoc/type-search-index.zip differ diff --git a/ubuntu/libcore.jar b/ubuntu/libcore.jar old mode 100644 new mode 100755 diff --git a/ubuntu/libexported_wvpl_license_server_sdk_proto-speed.jar b/ubuntu/libexported_wvpl_license_server_sdk_proto-speed.jar old mode 100644 new mode 100755 index 2009337..58222b0 Binary files a/ubuntu/libexported_wvpl_license_server_sdk_proto-speed.jar and b/ubuntu/libexported_wvpl_license_server_sdk_proto-speed.jar differ diff --git a/ubuntu/libplay_ready_impl.jar b/ubuntu/libplay_ready_impl.jar index 6ab85d3..296b924 100755 Binary files a/ubuntu/libplay_ready_impl.jar and b/ubuntu/libplay_ready_impl.jar differ diff --git a/ubuntu/libplayready_lib.jar b/ubuntu/libplayready_lib.jar index dd00853..9cc031a 100755 Binary files a/ubuntu/libplayready_lib.jar and b/ubuntu/libplayready_lib.jar differ diff --git a/ubuntu/libplayready_rmsdk.so b/ubuntu/libplayready_rmsdk.so index e90df28..e93ba8f 100755 Binary files a/ubuntu/libplayready_rmsdk.so and b/ubuntu/libplayready_rmsdk.so differ diff --git a/ubuntu/libsdk_utils.jar b/ubuntu/libsdk_utils.jar index c97edec..f973bc5 100755 Binary files a/ubuntu/libsdk_utils.jar and b/ubuntu/libsdk_utils.jar differ diff --git a/ubuntu/libwidevine_license_wvpl_sdk_lib.jar b/ubuntu/libwidevine_license_wvpl_sdk_lib.jar old mode 100644 new mode 100755 index cf8f517..a37c4a2 Binary files a/ubuntu/libwidevine_license_wvpl_sdk_lib.jar and b/ubuntu/libwidevine_license_wvpl_sdk_lib.jar differ diff --git a/ubuntu/libwidevine_playready_revocation_constants.jar b/ubuntu/libwidevine_playready_revocation_constants.jar index 9601072..d2259a4 100755 Binary files a/ubuntu/libwidevine_playready_revocation_constants.jar and b/ubuntu/libwidevine_playready_revocation_constants.jar differ diff --git a/ubuntu/libwvpl_license_sdk.so b/ubuntu/libwvpl_license_sdk.so old mode 100644 new mode 100755 index 652a5ef..af56781 Binary files a/ubuntu/libwvpl_license_sdk.so and b/ubuntu/libwvpl_license_sdk.so differ diff --git a/ubuntu/libwvpl_playready_utils.jar b/ubuntu/libwvpl_playready_utils.jar index 96ca453..e95e3a4 100755 Binary files a/ubuntu/libwvpl_playready_utils.jar and b/ubuntu/libwvpl_playready_utils.jar differ diff --git a/ubuntu/libwvpl_utils.jar b/ubuntu/libwvpl_utils.jar index cc186a4..9aaafea 100755 Binary files a/ubuntu/libwvpl_utils.jar and b/ubuntu/libwvpl_utils.jar differ diff --git a/ubuntu/license_server_sdk/public/session.h b/ubuntu/license_server_sdk/public/session.h deleted file mode 100644 index 4e02e23..0000000 --- a/ubuntu/license_server_sdk/public/session.h +++ /dev/null @@ -1,509 +0,0 @@ -// Copyright 2017 Google LLC. All rights reserved. - -#ifndef VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_SESSION_H__ -#define VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_SESSION_H__ - -#include -#include -#include -#include -#include - -#include "absl/strings/string_view.h" -#include "absl/synchronization/mutex.h" -#include "common/status.h" -#include "protos/public/client_identification.pb.h" -#include "protos/public/device_certificate_status.pb.h" -#include "protos/public/drm_certificate.pb.h" -#include "protos/public/external_license.pb.h" -#include "protos/public/license_protocol.pb.h" -#include "protos/public/license_server_sdk.pb.h" -#include "protos/public/oem_key_container.pb.h" -#include "protos/public/security_profile.pb.h" - -namespace video_widevine { - -class ClientIdentification; -class ContentInfo; -class DrmRootCertificate; -class ExternalPlayReadySessionImpl; -class License; -class LicenseRequest; -class ProvisionedDeviceInfo; -class SecurityProfile; -class SecurityProfileList; -class SessionImpl; -class EnvironmentImpl; -class SessionInit; -class SessionState; -class SessionUsage; - -// TODO(tinskip): Rename this to LicenseSession and add LicenseEngine to hold -// global settings and create new sessions. -class Session { - public: - // Specify a comma separated list of system Ids that can support having - // OEMCrypto version, as specified in the license request, reflected back in - // the Key Control Block which is used by partner. Otherwise, only 'kctl' or - // 'kc09' is returned in KCB. - // TODO(tinskip): What is this, and can we do it better? Seems like something - // that would be better in the ClientCapabilities or device metadata. - static void SetDevicesToHandleOEMCryptoVersionInKCB( - const std::string& system_id_list); - // Set pre-provisioning keys system-wide. Map key is system_id, value. - // Value should be human-readable hex digits encoded bytes. - // Must be called before any other calls to this class. Calls are - // thread-safe, so the keys can be updated at any time. - static void SetPreProvisioningKeys( - const std::map& keys); - static void SetPreProvisioningKeys( - const std::multimap& keys); - // Set the certificate status list system-wide. |root_cert| is the root - // certificate which signed the DCSL. - // |expiration_period| is the number of seconds until the - // certificate_status_list expires after its creation time - // (creation_time_seconds). If |allow_unknown_devices| is false, an error is - // returned if the device does not appear in the certificate_status_list. - static Status SetCertificateStatusList( - const DrmRootCertificate* root_cert, - const std::string& certificate_status_list, - uint32_t expiration_period_seconds, bool allow_unknown_devices); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Add a service certificate system-wide. |root_cert| is the root certificate - // which signed the service certificate; |service_certificate| is a - // Google-generated certificate used to authenticate the service provider for - // purposes of device privacy; |service_private_key| is the encrypted PKCS#8 - // private RSA key corresponding to the service certificate; and - // |service_private_key_passphrase| is the password required to decrypt - // |service_private_key|. - static Status AddDrmServiceCertificate( - const DrmRootCertificate* root_cert, - const std::string& service_certificate, - const std::string& service_private_key, - const std::string& service_private_key_passphrase); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Enable delivery of licenses to client devices. This includes devices with - // TEST_ONLY status, and development platform verification certificates. - // Defaults to false. - static void AllowDevelopmentClients(bool enable); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Enable delivery of licenses to TEST_ONLY client devices. - // |device_list_make| is a comma separated list of devices to allow even - // if the device is in a TEST_ONLY state. This list wil be used only if - // AllowDevelopmentClient(false) is in use. - static void AllowTestOnlyDevices(const std::string& device_list_make) { - AllowTestOnlyDevicesByMake(device_list_make); - } - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - static void AllowTestOnlyDevicesByMake(const std::string& device_list_make); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Enable delivery of licenses to TEST_ONLY client devices. - // |device_list_provider| is a comma separated list of provider to allow - // even if the device is in a TEST_ONLY state. This list wil be used only if - // AllowDevelopmentClient(false) is in use. - static void AllowTestOnlyDevicesByProvider( - const std::string& device_list_provider); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Enable delivery of licenses to revoked client devices. |system_id_list| is - // a comma separated list of systems Ids to allow even if revoked. - static void AllowRevokedDevices(const std::string& system_id_list); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // A comma separated list of DRM Certificate Serial Numbers that are revoked. - static void RevokedDrmCertificateSerialNumbers( - const std::string& drm_certificate_serial_numbers); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Restriction on core message features. If this is an empty string, the - // default feature set is used. If it is an integer, that is the ODK version - // supported. - static void SetCoreMessageFeatures(const std::string& core_message_features); - - // Creates a Session object. - // |root_cert| is the root certificate to be used to validate client - // credentials. - // |signed_license_request| is the serialized SignedMessage received from the - // client. |session| points to a Session*, which must be initialized to NULL - // on entry, but |session| itself may not be NULL. The new Session object will - // be owned by the caller. This method returns Status::OK if successful, - // or an appropriate error status, in which case - // Session::GenerateErrorResponse should be invoked. - // Example usage: - // Session* session = NULL; - // Status status = Session::Create(root_cert, request_from_client, - // &session); - // if (!status.ok()) { - // std::string error_license; - // if (Session::GenerateErrorResponse(status, &error_license)) { - // // Send error_license to the client. - // } else { - // // Handle error - // } - // return ... - // } - // // Create license, invoke GenerateSignedLicense, etc. - static Status Create(const DrmRootCertificate* root_cert, - const std::string& signed_license_request, - Session** session); - - // Create a session for generating a license. This variation of Create takes - // options to allow for the creation of the session to succeed even if the - // device is revoked. - static Status CreateWithOptions(const DrmRootCertificate* root_cert, - const std::string& signed_license_request, - const SessionCreateOptions& options, - Session** session); - - // Variation of Session::Create which also fills in the parsed LicenseRequest, - // for use in logging or debugging. - static Status Create(const DrmRootCertificate* root_cert, - const std::string& signed_license_request, - const SessionCreateOptions& options, Session** session, - LicenseRequest* parsed_request_out); - - // Same as Create(), but caller can specify the ClientIdentification - // message and/or PlatformVerificationStatus. If ClientIdentification is - // specified, this variation of Create() will use the specified |client_id| - // instead of what is specified in |signed_license_request|. If - // PlatformVerificationStatus is specified, this method will use the specified - // |platform_verification_status| instead of attempting to determine it. - // Background for this function is to support cases where the client - // identification is encrypted with the provider's service certificate in - // which case we won't be able to decrypt OR when the provider determines - // platform verification. The provider will specify the - // clear client identification in |client_id| and the platform verification - // in |platform_verification_status|. - static Status CreateForProxy( - const DrmRootCertificate* root_cert, - const std::string& signed_license_request, - const PlatformVerificationStatus platform_verification_status, - const ClientIdentification* client_id, - const SessionCreateOptions& options, Session** session, - LicenseRequest* parsed_request_out); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Generates a SignedMessage containing a message generated in response to - // an error condition. |status| is a previous error status returned by the - // Session or Status(error::UNAVAILABLE, ...) to indicate that the - // backend is unavailable, |signed_message| points to a std::string to contain the - // serialized SignedMessage, and may not be NULL. This method returns true if - // there is an error license to be sent to the client, or false otherwise. - // Example usage in the Session::Create comments above. - static bool GenerateErrorResponse(const Status& status, - std::string* signed_message_bytes); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Generates a SignedMessage containing a service certificate for the - // specified |provider_id|. This method returns true if a service certificate - // exist for the provider. - static bool GenerateServiceCertificateResponse( - const std::string& provider_id, std::string* signed_message_bytes); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // DeriveKey uses the NIST 800-108 KDF recommendation, using AES-CMAC PRF. - // NIST 800-108: - // http://csrc.nist.gov/publications/nistpubs/800-108/sp800-108.pdf - // AES-CMAC: - // http://tools.ietf.org/html/rfc4493 - static std::string DeriveKey(const std::string& key, const std::string& label, - const std::string& context, - const uint32_t size_bits); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Returns a std::string containing the Widevine License Server SDK version in the - // form .. . - static std::string GetSdkVersionString(); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // If set to true, adds SDK and server version information to the license - // response. - static void SetIncludeVersionInfoInLicense(bool include_version_info); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Sets the service version information which can be included with the license - // response. If SetIncludeVersionInfoInLicense() is set to true and the server - // version is not empty, then the server version will be included in the - // license response. The host_version must be <= 32 characters and limited to - // alphanumeric and '_', '-', ':', ';', ' ', '/' and '.'. - static void SetHostServerVersion(const std::string& host_version); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Generate a signed request to be sent to Widevine Certificate Provisioning - // Server to retrieve 'DeviceCertificateStatusList'. - static Status GenerateDeviceStatusListRequest( - std::string* signed_device_certificate_status_list_request); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Set the custom device security profile list which is returned, from a call - // to Widevine PublishedDevicesService. - static Status SetCustomDeviceSecurityProfiles( - const DrmRootCertificate* root_cert, - absl::string_view serialized_signed_device_security_profiles); - - virtual ~Session(); - virtual const LicenseRequest& request() const; - virtual const std::string& GetSessionId(); - - // Return list of Widevine profiles meeting the DRM requirements for this - // session. - virtual Status GetQualifiedDefaultDeviceSecurityProfiles( - std::vector* qualified_profiles) const; - - // Retrieves qualifying Custom Security Profiles names given the owner name. - virtual Status GetQualifiedCustomDeviceSecurityProfiles( - absl::string_view owner_name, - std::vector* custom_qualified_profile_names) const; - - // Returns true if a provisioned device info exists. Caller - // owns |provisioned_device_info| and it must not be null. - virtual bool GetProvisionedDeviceInfo( - video_widevine::ProvisionedDeviceInfo* device_info); - - // Accessor for request_id field which may be encoded in one of multiple - // places in the liciense request protcol buffer. Use this method instead - // of accessing directly. |request_id| is a pointer to a std::string to contain - // the request ID upon successful return. - virtual Status GetRequestId(std::string* request_id) const; - - // Accessor for license_type field which may be encoded in one of multiple - // places in the license request protocol buffer. Use this method instead - // of accessing directly. |license_type| is a pointer to a value to contain - // the license type upon successful return. - virtual Status GetLicenseType(LicenseType* license_type) const; - - // Method used to get ContentIdentification in a consistent message regardless - // of the type or version of initialization data contained in the content_id - // field of the license request. Use this method instead of accessing the - // fields of ContentIdentification directly. |content_info| is a pointer to a - // message to contain the parsed values from content_id upon successful - // return. - virtual Status GetContentInfo(ContentInfo* content_info) const; - - // Returns the serial number of certificate associated with this device and - // content provider. - virtual std::string GetDrmDeviceId() const; - - // Copies the session usage table from license request to |usage_report|. - // Returns true if session usage exist in the license request, otherwise - // returns false. - bool GetSessionUsage(SessionUsage* usage_report) const; - - // Returns true if client info exists, otherwise returns false. Populate the - // specified |client_info| structure. - virtual bool GetClientInfo(ClientIdentification* client_info) const; - - // Generates a serialized signed License response, emptying |policy| and - // |key_container|, encrypting the keys therein. |session_init| and - // |session_state| are returned to be cached and provided in subsequent - // calls to the function. If no additional PolicyItem or KeyContainer objects - // are necessary to fulfill the request (such as the case with license - // renewal), |policy| and/or |key_container| may be NULL. - // The response is expected to be sent to the Widevine CDM. - virtual Status GenerateSignedLicense( - /*IN*/ const License::Policy* policy, - /*IN*/ const std::list* key_container, - /*IN*/ const SessionInit* session_init, - /*INOUT*/ SessionState* session_state, - /*OUT*/ std::string* signed_message_bytes); - - virtual PlatformVerificationStatus GetPlatformVerificationStatus() const; - - // Returns the service id of the provider that owns the device certificate. - virtual std::string GetDrmDeviceServiceId() const; - - // Returns true, if the license request for this session included a key - // control nonce, else false. - virtual bool HasKeyControlNonce() const; - - // If set to 'true', allow licenses to be generated even if VMP data was - // determined to be video_widevine::PLATFORM_UNVERIFIED. - virtual void set_allow_unverified_platform(bool allow_unverified_platform); - - // Return the setting of whether licenses are allowed to be generated even - // when VMP data was determined to be video_widevine::PLATFORM_UNVERIFIED. - virtual bool allow_unverified_platform() const; - - // If set to 'true', allow licenses to be generated even if VMP data was - // determined to be video_widevine::PLATFORM_TAMPERED. - virtual void set_allow_tampered_platform(bool allow_tampered_platform); - - /** - * If set to true, reject WvDrm SDK to reject licensing behaviors to unknown - * make model. Default value is false. - */ - virtual void set_reject_unknown_make_model(bool reject_unknown_make_model); - - /** - * Retrieves the setting of whether unknown make model is rejected. - */ - virtual bool reject_unknown_make_model() const; - - // Return the setting of whether licenses are allowed to be generated even - // when VMP data was determined to be video_widevine::PLATFORM_TAMPERED. - virtual bool allow_tampered_platform() const; - - virtual void SetKeys(std::list* oem_key_container); - - // 'Provider' making the request. - virtual void set_provider(const std::string& provider); - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Obtain the owner list for custom profiles. - virtual Status GetCustomDeviceSecurityProfileOwners( - std::vector* custom_profile_owners) const; - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Return a list of custom profile names associated with |owner_name|. - virtual Status GetCustomDeviceSecurityProfileNames( - absl::string_view owner_name, - std::vector* profile_names) const; - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Return the custom profiles associated with |owner_name|. - virtual Status GetCustomDeviceSecurityProfiles( - absl::string_view owner_name, - std::vector* custom_device_security_profiles) const; - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Return a list of default profile names obtained from default profiles. - // The input argument |profile_names| cannot be null and it will be replaced - // by the results. - // For any non-ok status, |profile_names| won't be modified. - virtual Status GetDefaultDeviceSecurityProfileNames( - std::vector* profile_names) const; - - // Deprecated. - // TODO(b/187189998): This API is now available in environment.h. It will be - // removed from this header file in the mid-Q3 2021 SDK release. - // Return the default profile associated with |profile_name|. - virtual Status GetDefaultDeviceSecurityProfile( - absl::string_view profile_name, - SecurityProfile* device_security_profile) const; - - // Return the device status such as as RELEASED or REVOKED. - virtual DeviceCertificateStatus::Status GetDeviceStatus() const; - - // Returns message type such as LICENSE_REQUEST, SERVICE_CERTIFICATE_REQUEST - // or EXTERNAL_LICENSE_REQUEST. - virtual SignedMessage::MessageType message_type() const; - - // Retrieves Widevine Security Profile DrmInfo of the device. - // Returns true if |drm_info| was successully populated, else false. - virtual bool GetDrmInfo(SecurityProfile::DrmInfo* drm_info) const; - - // Retrieves the ContentIdentification from the request. Returns OK, if - // successful, else failure. - virtual Status GetContentId( - LicenseRequest::ContentIdentification* content_id) const; - - // Retrieves the request type. - virtual LicenseRequest::RequestType request_type() const; - - // Deprecated. - // TODO(b/200839386): This API is now available in environment.h. It will be - // removed from this header file in the Q4 2021 SDK release. - // If |auto_set_provider_session_token| is 'true', the provider session token - // will be automatically set, - // * if the provider session token has not been specified. - // * for OFFLINE requests - // * if Policy.can_persist is set to 'true'. - // * if Policy.can_renew is set to 'true'. - // * if OEMCryptoVersion of the client making the request is at least 16. - // - // The default setting for |auto_set_provider_session_token| is 'true'. - virtual void set_auto_set_provider_session_token( - bool auto_set_provider_session_token); - - // Deprecated. - // TODO(b/200839386): This API is now available in environment.h. It will be - // removed from this header file in the Q4 2021 SDK release. - // Returns the setting as to whether the provider session token will be - // automatically set. - virtual bool auto_set_provider_session_token() const; - - protected: - Session(std::shared_ptr env_impl, - std::unique_ptr impl); - Session(std::shared_ptr env_impl, - std::unique_ptr - external_playready_session_impl); - // For testing only. This allows unit tests to define a mock Session class. - Session(); - - friend class Environment; - - private: -#ifndef SWIG - Session(const Session&) = delete; - Session& operator=(const Session&) = delete; -#endif - - // Session::Create which also fills in the parsed - // ExternalLicenseRequest. Used to create a Session object. - static Status Create(const DrmRootCertificate* root_cert, - SignedMessage* signed_message, Session** session, - ExternalLicenseRequest* parsed_request_out); - - explicit Session(std::unique_ptr impl); - - explicit Session(std::unique_ptr - external_playready_session_impl); - - std::shared_ptr env_impl_; - std::unique_ptr impl_; - std::unique_ptr - external_playready_session_impl_; - static absl::Mutex profile_mutex_; - static std::unique_ptr security_profile_list_ - ABSL_GUARDED_BY(profile_mutex_); -}; - -} // namespace video_widevine - -#endif // VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_SESSION_H__ diff --git a/ubuntu/protos/public/client_identification.pb.h b/ubuntu/protos/public/client_identification.pb.h index f1dad1b..a1fea6f 100755 --- a/ubuntu/protos/public/client_identification.pb.h +++ b/ubuntu/protos/public/client_identification.pb.h @@ -164,6 +164,31 @@ inline bool ClientIdentification_ClientCapabilities_AnalogOutputCapabilities_Par return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( ClientIdentification_ClientCapabilities_AnalogOutputCapabilities_descriptor(), name, value); } +enum ClientIdentification_ClientCapabilities_WatermarkingSupport : int { + ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_SUPPORT_UNKNOWN = 0, + ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_NOT_SUPPORTED = 1, + ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_CONFIGURABLE = 2, + ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_ALWAYS_ON = 3 +}; +bool ClientIdentification_ClientCapabilities_WatermarkingSupport_IsValid(int value); +constexpr ClientIdentification_ClientCapabilities_WatermarkingSupport ClientIdentification_ClientCapabilities_WatermarkingSupport_WatermarkingSupport_MIN = ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_SUPPORT_UNKNOWN; +constexpr ClientIdentification_ClientCapabilities_WatermarkingSupport ClientIdentification_ClientCapabilities_WatermarkingSupport_WatermarkingSupport_MAX = ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_ALWAYS_ON; +constexpr int ClientIdentification_ClientCapabilities_WatermarkingSupport_WatermarkingSupport_ARRAYSIZE = ClientIdentification_ClientCapabilities_WatermarkingSupport_WatermarkingSupport_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ClientIdentification_ClientCapabilities_WatermarkingSupport_descriptor(); +template +inline const std::string& ClientIdentification_ClientCapabilities_WatermarkingSupport_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function ClientIdentification_ClientCapabilities_WatermarkingSupport_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + ClientIdentification_ClientCapabilities_WatermarkingSupport_descriptor(), enum_t_value); +} +inline bool ClientIdentification_ClientCapabilities_WatermarkingSupport_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ClientIdentification_ClientCapabilities_WatermarkingSupport* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + ClientIdentification_ClientCapabilities_WatermarkingSupport_descriptor(), name, value); +} enum ClientIdentification_TokenType : int { ClientIdentification_TokenType_KEYBOX = 0, ClientIdentification_TokenType_DRM_DEVICE_CERTIFICATE = 1, @@ -607,6 +632,40 @@ class ClientIdentification_ClientCapabilities final : return ClientIdentification_ClientCapabilities_AnalogOutputCapabilities_Parse(name, value); } + typedef ClientIdentification_ClientCapabilities_WatermarkingSupport WatermarkingSupport; + static constexpr WatermarkingSupport WATERMARKING_SUPPORT_UNKNOWN = + ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_SUPPORT_UNKNOWN; + static constexpr WatermarkingSupport WATERMARKING_NOT_SUPPORTED = + ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_NOT_SUPPORTED; + static constexpr WatermarkingSupport WATERMARKING_CONFIGURABLE = + ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_CONFIGURABLE; + static constexpr WatermarkingSupport WATERMARKING_ALWAYS_ON = + ClientIdentification_ClientCapabilities_WatermarkingSupport_WATERMARKING_ALWAYS_ON; + static inline bool WatermarkingSupport_IsValid(int value) { + return ClientIdentification_ClientCapabilities_WatermarkingSupport_IsValid(value); + } + static constexpr WatermarkingSupport WatermarkingSupport_MIN = + ClientIdentification_ClientCapabilities_WatermarkingSupport_WatermarkingSupport_MIN; + static constexpr WatermarkingSupport WatermarkingSupport_MAX = + ClientIdentification_ClientCapabilities_WatermarkingSupport_WatermarkingSupport_MAX; + static constexpr int WatermarkingSupport_ARRAYSIZE = + ClientIdentification_ClientCapabilities_WatermarkingSupport_WatermarkingSupport_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + WatermarkingSupport_descriptor() { + return ClientIdentification_ClientCapabilities_WatermarkingSupport_descriptor(); + } + template + static inline const std::string& WatermarkingSupport_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function WatermarkingSupport_Name."); + return ClientIdentification_ClientCapabilities_WatermarkingSupport_Name(enum_t_value); + } + static inline bool WatermarkingSupport_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + WatermarkingSupport* value) { + return ClientIdentification_ClientCapabilities_WatermarkingSupport_Parse(name, value); + } + // accessors ------------------------------------------------------- enum : int { @@ -622,6 +681,7 @@ class ClientIdentification_ClientCapabilities final : kCanDisableAnalogOutputFieldNumber = 11, kAnalogOutputCapabilitiesFieldNumber = 10, kResourceRatingTierFieldNumber = 12, + kWatermarkingSupportFieldNumber = 13, }; // repeated .video_widevine.ClientIdentification.ClientCapabilities.CertificateKeyType supported_certificate_key_type = 9; int supported_certificate_key_type_size() const; @@ -783,6 +843,19 @@ class ClientIdentification_ClientCapabilities final : void _internal_set_resource_rating_tier(::PROTOBUF_NAMESPACE_ID::uint32 value); public: + // optional .video_widevine.ClientIdentification.ClientCapabilities.WatermarkingSupport watermarking_support = 13; + bool has_watermarking_support() const; + private: + bool _internal_has_watermarking_support() const; + public: + void clear_watermarking_support(); + ::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport watermarking_support() const; + void set_watermarking_support(::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport value); + private: + ::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport _internal_watermarking_support() const; + void _internal_set_watermarking_support(::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport value); + public: + // @@protoc_insertion_point(class_scope:video_widevine.ClientIdentification.ClientCapabilities) private: class _Internal; @@ -804,6 +877,7 @@ class ClientIdentification_ClientCapabilities final : bool can_disable_analog_output_; int analog_output_capabilities_; ::PROTOBUF_NAMESPACE_ID::uint32 resource_rating_tier_; + int watermarking_support_; friend struct ::TableStruct_protos_2fpublic_2fclient_5fidentification_2eproto; }; // ------------------------------------------------------------------- @@ -2025,6 +2099,35 @@ inline void ClientIdentification_ClientCapabilities::set_resource_rating_tier(:: // @@protoc_insertion_point(field_set:video_widevine.ClientIdentification.ClientCapabilities.resource_rating_tier) } +// optional .video_widevine.ClientIdentification.ClientCapabilities.WatermarkingSupport watermarking_support = 13; +inline bool ClientIdentification_ClientCapabilities::_internal_has_watermarking_support() const { + bool value = (_has_bits_[0] & 0x00000800u) != 0; + return value; +} +inline bool ClientIdentification_ClientCapabilities::has_watermarking_support() const { + return _internal_has_watermarking_support(); +} +inline void ClientIdentification_ClientCapabilities::clear_watermarking_support() { + watermarking_support_ = 0; + _has_bits_[0] &= ~0x00000800u; +} +inline ::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport ClientIdentification_ClientCapabilities::_internal_watermarking_support() const { + return static_cast< ::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport >(watermarking_support_); +} +inline ::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport ClientIdentification_ClientCapabilities::watermarking_support() const { + // @@protoc_insertion_point(field_get:video_widevine.ClientIdentification.ClientCapabilities.watermarking_support) + return _internal_watermarking_support(); +} +inline void ClientIdentification_ClientCapabilities::_internal_set_watermarking_support(::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport value) { + assert(::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport_IsValid(value)); + _has_bits_[0] |= 0x00000800u; + watermarking_support_ = value; +} +inline void ClientIdentification_ClientCapabilities::set_watermarking_support(::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport value) { + _internal_set_watermarking_support(value); + // @@protoc_insertion_point(field_set:video_widevine.ClientIdentification.ClientCapabilities.watermarking_support) +} + // ------------------------------------------------------------------- // ClientIdentification_ClientCredentials @@ -2898,6 +3001,11 @@ template <> inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::ClientIdentification_ClientCapabilities_AnalogOutputCapabilities>() { return ::video_widevine::ClientIdentification_ClientCapabilities_AnalogOutputCapabilities_descriptor(); } +template <> struct is_proto_enum< ::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport>() { + return ::video_widevine::ClientIdentification_ClientCapabilities_WatermarkingSupport_descriptor(); +} template <> struct is_proto_enum< ::video_widevine::ClientIdentification_TokenType> : ::std::true_type {}; template <> inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::ClientIdentification_TokenType>() { diff --git a/ubuntu/protos/public/device_certificate_status.pb.h b/ubuntu/protos/public/device_certificate_status.pb.h index 43bd2ae..9ae9dc3 100755 --- a/ubuntu/protos/public/device_certificate_status.pb.h +++ b/ubuntu/protos/public/device_certificate_status.pb.h @@ -49,7 +49,7 @@ struct TableStruct_protos_2fpublic_2fdevice_5fcertificate_5fstatus_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[5] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[7] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -66,6 +66,12 @@ extern DeviceCertificateStatusListDefaultTypeInternal _DeviceCertificateStatusLi class DeviceCertificateStatus_RevokedIdentifiers; struct DeviceCertificateStatus_RevokedIdentifiersDefaultTypeInternal; extern DeviceCertificateStatus_RevokedIdentifiersDefaultTypeInternal _DeviceCertificateStatus_RevokedIdentifiers_default_instance_; +class ImpactAnalysis; +struct ImpactAnalysisDefaultTypeInternal; +extern ImpactAnalysisDefaultTypeInternal _ImpactAnalysis_default_instance_; +class ImpactAnalysis_ImpactAnalysisMetrics; +struct ImpactAnalysis_ImpactAnalysisMetricsDefaultTypeInternal; +extern ImpactAnalysis_ImpactAnalysisMetricsDefaultTypeInternal _ImpactAnalysis_ImpactAnalysisMetrics_default_instance_; class PublishedDevicesList; struct PublishedDevicesListDefaultTypeInternal; extern PublishedDevicesListDefaultTypeInternal _PublishedDevicesList_default_instance_; @@ -77,6 +83,8 @@ PROTOBUF_NAMESPACE_OPEN template<> ::video_widevine::DeviceCertificateStatus* Arena::CreateMaybeMessage<::video_widevine::DeviceCertificateStatus>(Arena*); template<> ::video_widevine::DeviceCertificateStatusList* Arena::CreateMaybeMessage<::video_widevine::DeviceCertificateStatusList>(Arena*); template<> ::video_widevine::DeviceCertificateStatus_RevokedIdentifiers* Arena::CreateMaybeMessage<::video_widevine::DeviceCertificateStatus_RevokedIdentifiers>(Arena*); +template<> ::video_widevine::ImpactAnalysis* Arena::CreateMaybeMessage<::video_widevine::ImpactAnalysis>(Arena*); +template<> ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* Arena::CreateMaybeMessage<::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics>(Arena*); template<> ::video_widevine::PublishedDevicesList* Arena::CreateMaybeMessage<::video_widevine::PublishedDevicesList>(Arena*); template<> ::video_widevine::SignedDeviceCertificateStatusList* Arena::CreateMaybeMessage<::video_widevine::SignedDeviceCertificateStatusList>(Arena*); PROTOBUF_NAMESPACE_CLOSE @@ -131,32 +139,55 @@ inline bool DeviceCertificateStatus_Status_Parse( return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( DeviceCertificateStatus_Status_descriptor(), name, value); } -enum DeviceCertificateStatus_DeviceVulnerabilityLevel : int { - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_UNSPECIFIED = 0, - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_NONE = 1, - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_LOW = 2, - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_MEDIUM = 3, - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_HIGH = 4, - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_CRITICAL = 5 +enum ImpactAnalysis_DeviceStatusOperation : int { + ImpactAnalysis_DeviceStatusOperation_DEVICE_STATUS_OPERATION_UNSPECIFIED = 0, + ImpactAnalysis_DeviceStatusOperation_DEVICE_STATUS_UPDATE = 1, + ImpactAnalysis_DeviceStatusOperation_DEVICE_STATUS_REVOKE = 2 }; -bool DeviceCertificateStatus_DeviceVulnerabilityLevel_IsValid(int value); -constexpr DeviceCertificateStatus_DeviceVulnerabilityLevel DeviceCertificateStatus_DeviceVulnerabilityLevel_DeviceVulnerabilityLevel_MIN = DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_UNSPECIFIED; -constexpr DeviceCertificateStatus_DeviceVulnerabilityLevel DeviceCertificateStatus_DeviceVulnerabilityLevel_DeviceVulnerabilityLevel_MAX = DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_CRITICAL; -constexpr int DeviceCertificateStatus_DeviceVulnerabilityLevel_DeviceVulnerabilityLevel_ARRAYSIZE = DeviceCertificateStatus_DeviceVulnerabilityLevel_DeviceVulnerabilityLevel_MAX + 1; +bool ImpactAnalysis_DeviceStatusOperation_IsValid(int value); +constexpr ImpactAnalysis_DeviceStatusOperation ImpactAnalysis_DeviceStatusOperation_DeviceStatusOperation_MIN = ImpactAnalysis_DeviceStatusOperation_DEVICE_STATUS_OPERATION_UNSPECIFIED; +constexpr ImpactAnalysis_DeviceStatusOperation ImpactAnalysis_DeviceStatusOperation_DeviceStatusOperation_MAX = ImpactAnalysis_DeviceStatusOperation_DEVICE_STATUS_REVOKE; +constexpr int ImpactAnalysis_DeviceStatusOperation_DeviceStatusOperation_ARRAYSIZE = ImpactAnalysis_DeviceStatusOperation_DeviceStatusOperation_MAX + 1; -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DeviceCertificateStatus_DeviceVulnerabilityLevel_descriptor(); +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ImpactAnalysis_DeviceStatusOperation_descriptor(); template -inline const std::string& DeviceCertificateStatus_DeviceVulnerabilityLevel_Name(T enum_t_value) { - static_assert(::std::is_same::value || +inline const std::string& ImpactAnalysis_DeviceStatusOperation_Name(T enum_t_value) { + static_assert(::std::is_same::value || ::std::is_integral::value, - "Incorrect type passed to function DeviceCertificateStatus_DeviceVulnerabilityLevel_Name."); + "Incorrect type passed to function ImpactAnalysis_DeviceStatusOperation_Name."); return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - DeviceCertificateStatus_DeviceVulnerabilityLevel_descriptor(), enum_t_value); + ImpactAnalysis_DeviceStatusOperation_descriptor(), enum_t_value); } -inline bool DeviceCertificateStatus_DeviceVulnerabilityLevel_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DeviceCertificateStatus_DeviceVulnerabilityLevel* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - DeviceCertificateStatus_DeviceVulnerabilityLevel_descriptor(), name, value); +inline bool ImpactAnalysis_DeviceStatusOperation_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ImpactAnalysis_DeviceStatusOperation* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + ImpactAnalysis_DeviceStatusOperation_descriptor(), name, value); +} +enum ImpactAnalysis_DeviceStatusImpact : int { + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_UNSPECIFIED = 0, + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_NONE = 1, + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_LOW = 2, + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_MEDIUM = 3, + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_HIGH = 4 +}; +bool ImpactAnalysis_DeviceStatusImpact_IsValid(int value); +constexpr ImpactAnalysis_DeviceStatusImpact ImpactAnalysis_DeviceStatusImpact_DeviceStatusImpact_MIN = ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_UNSPECIFIED; +constexpr ImpactAnalysis_DeviceStatusImpact ImpactAnalysis_DeviceStatusImpact_DeviceStatusImpact_MAX = ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_HIGH; +constexpr int ImpactAnalysis_DeviceStatusImpact_DeviceStatusImpact_ARRAYSIZE = ImpactAnalysis_DeviceStatusImpact_DeviceStatusImpact_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ImpactAnalysis_DeviceStatusImpact_descriptor(); +template +inline const std::string& ImpactAnalysis_DeviceStatusImpact_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function ImpactAnalysis_DeviceStatusImpact_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + ImpactAnalysis_DeviceStatusImpact_descriptor(), enum_t_value); +} +inline bool ImpactAnalysis_DeviceStatusImpact_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ImpactAnalysis_DeviceStatusImpact* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + ImpactAnalysis_DeviceStatusImpact_descriptor(), name, value); } // =================================================================== @@ -534,44 +565,6 @@ class DeviceCertificateStatus final : return DeviceCertificateStatus_Status_Parse(name, value); } - typedef DeviceCertificateStatus_DeviceVulnerabilityLevel DeviceVulnerabilityLevel; - static constexpr DeviceVulnerabilityLevel DEVICE_VULNERABILITY_LEVEL_UNSPECIFIED = - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_UNSPECIFIED; - static constexpr DeviceVulnerabilityLevel DEVICE_VULNERABILITY_LEVEL_NONE = - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_NONE; - static constexpr DeviceVulnerabilityLevel DEVICE_VULNERABILITY_LEVEL_LOW = - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_LOW; - static constexpr DeviceVulnerabilityLevel DEVICE_VULNERABILITY_LEVEL_MEDIUM = - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_MEDIUM; - static constexpr DeviceVulnerabilityLevel DEVICE_VULNERABILITY_LEVEL_HIGH = - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_HIGH; - static constexpr DeviceVulnerabilityLevel DEVICE_VULNERABILITY_LEVEL_CRITICAL = - DeviceCertificateStatus_DeviceVulnerabilityLevel_DEVICE_VULNERABILITY_LEVEL_CRITICAL; - static inline bool DeviceVulnerabilityLevel_IsValid(int value) { - return DeviceCertificateStatus_DeviceVulnerabilityLevel_IsValid(value); - } - static constexpr DeviceVulnerabilityLevel DeviceVulnerabilityLevel_MIN = - DeviceCertificateStatus_DeviceVulnerabilityLevel_DeviceVulnerabilityLevel_MIN; - static constexpr DeviceVulnerabilityLevel DeviceVulnerabilityLevel_MAX = - DeviceCertificateStatus_DeviceVulnerabilityLevel_DeviceVulnerabilityLevel_MAX; - static constexpr int DeviceVulnerabilityLevel_ARRAYSIZE = - DeviceCertificateStatus_DeviceVulnerabilityLevel_DeviceVulnerabilityLevel_ARRAYSIZE; - static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* - DeviceVulnerabilityLevel_descriptor() { - return DeviceCertificateStatus_DeviceVulnerabilityLevel_descriptor(); - } - template - static inline const std::string& DeviceVulnerabilityLevel_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function DeviceVulnerabilityLevel_Name."); - return DeviceCertificateStatus_DeviceVulnerabilityLevel_Name(enum_t_value); - } - static inline bool DeviceVulnerabilityLevel_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, - DeviceVulnerabilityLevel* value) { - return DeviceCertificateStatus_DeviceVulnerabilityLevel_Parse(name, value); - } - // accessors ------------------------------------------------------- enum : int { @@ -581,7 +574,6 @@ class DeviceCertificateStatus final : kRevokedIdentifiersFieldNumber = 7, kDeprecatedStatusFieldNumber = 2, kStatusFieldNumber = 6, - kDeviceVulnerabilityLevelFieldNumber = 8, }; // optional bytes drm_serial_number = 1; bool has_drm_serial_number() const; @@ -681,19 +673,6 @@ class DeviceCertificateStatus final : void _internal_set_status(::video_widevine::DeviceCertificateStatus_Status value); public: - // optional .video_widevine.DeviceCertificateStatus.DeviceVulnerabilityLevel device_vulnerability_level = 8; - bool has_device_vulnerability_level() const; - private: - bool _internal_has_device_vulnerability_level() const; - public: - void clear_device_vulnerability_level(); - ::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel device_vulnerability_level() const; - void set_device_vulnerability_level(::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel value); - private: - ::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel _internal_device_vulnerability_level() const; - void _internal_set_device_vulnerability_level(::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel value); - public: - // @@protoc_insertion_point(class_scope:video_widevine.DeviceCertificateStatus) private: class _Internal; @@ -709,7 +688,473 @@ class DeviceCertificateStatus final : ::video_widevine::DeviceCertificateStatus_RevokedIdentifiers* revoked_identifiers_; int deprecated_status_; int status_; - int device_vulnerability_level_; + friend struct ::TableStruct_protos_2fpublic_2fdevice_5fcertificate_5fstatus_2eproto; +}; +// ------------------------------------------------------------------- + +class ImpactAnalysis_ImpactAnalysisMetrics final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.ImpactAnalysis.ImpactAnalysisMetrics) */ { + public: + inline ImpactAnalysis_ImpactAnalysisMetrics() : ImpactAnalysis_ImpactAnalysisMetrics(nullptr) {} + ~ImpactAnalysis_ImpactAnalysisMetrics() override; + explicit constexpr ImpactAnalysis_ImpactAnalysisMetrics(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ImpactAnalysis_ImpactAnalysisMetrics(const ImpactAnalysis_ImpactAnalysisMetrics& from); + ImpactAnalysis_ImpactAnalysisMetrics(ImpactAnalysis_ImpactAnalysisMetrics&& from) noexcept + : ImpactAnalysis_ImpactAnalysisMetrics() { + *this = ::std::move(from); + } + + inline ImpactAnalysis_ImpactAnalysisMetrics& operator=(const ImpactAnalysis_ImpactAnalysisMetrics& from) { + CopyFrom(from); + return *this; + } + inline ImpactAnalysis_ImpactAnalysisMetrics& operator=(ImpactAnalysis_ImpactAnalysisMetrics&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ImpactAnalysis_ImpactAnalysisMetrics& default_instance() { + return *internal_default_instance(); + } + static inline const ImpactAnalysis_ImpactAnalysisMetrics* internal_default_instance() { + return reinterpret_cast( + &_ImpactAnalysis_ImpactAnalysisMetrics_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + friend void swap(ImpactAnalysis_ImpactAnalysisMetrics& a, ImpactAnalysis_ImpactAnalysisMetrics& b) { + a.Swap(&b); + } + inline void Swap(ImpactAnalysis_ImpactAnalysisMetrics* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ImpactAnalysis_ImpactAnalysisMetrics* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ImpactAnalysis_ImpactAnalysisMetrics* New() const final { + return new ImpactAnalysis_ImpactAnalysisMetrics(); + } + + ImpactAnalysis_ImpactAnalysisMetrics* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ImpactAnalysis_ImpactAnalysisMetrics& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const ImpactAnalysis_ImpactAnalysisMetrics& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ImpactAnalysis_ImpactAnalysisMetrics* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "video_widevine.ImpactAnalysis.ImpactAnalysisMetrics"; + } + protected: + explicit ImpactAnalysis_ImpactAnalysisMetrics(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kImpactValueFieldNumber = 1, + kRequestNumberFieldNumber = 2, + kRequestDurationDaysFieldNumber = 3, + }; + // optional float impact_value = 1; + bool has_impact_value() const; + private: + bool _internal_has_impact_value() const; + public: + void clear_impact_value(); + float impact_value() const; + void set_impact_value(float value); + private: + float _internal_impact_value() const; + void _internal_set_impact_value(float value); + public: + + // optional uint32 request_number = 2; + bool has_request_number() const; + private: + bool _internal_has_request_number() const; + public: + void clear_request_number(); + ::PROTOBUF_NAMESPACE_ID::uint32 request_number() const; + void set_request_number(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_request_number() const; + void _internal_set_request_number(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + + // optional uint32 request_duration_days = 3; + bool has_request_duration_days() const; + private: + bool _internal_has_request_duration_days() const; + public: + void clear_request_duration_days(); + ::PROTOBUF_NAMESPACE_ID::uint32 request_duration_days() const; + void set_request_duration_days(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_request_duration_days() const; + void _internal_set_request_duration_days(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + + // @@protoc_insertion_point(class_scope:video_widevine.ImpactAnalysis.ImpactAnalysisMetrics) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + float impact_value_; + ::PROTOBUF_NAMESPACE_ID::uint32 request_number_; + ::PROTOBUF_NAMESPACE_ID::uint32 request_duration_days_; + friend struct ::TableStruct_protos_2fpublic_2fdevice_5fcertificate_5fstatus_2eproto; +}; +// ------------------------------------------------------------------- + +class ImpactAnalysis final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.ImpactAnalysis) */ { + public: + inline ImpactAnalysis() : ImpactAnalysis(nullptr) {} + ~ImpactAnalysis() override; + explicit constexpr ImpactAnalysis(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ImpactAnalysis(const ImpactAnalysis& from); + ImpactAnalysis(ImpactAnalysis&& from) noexcept + : ImpactAnalysis() { + *this = ::std::move(from); + } + + inline ImpactAnalysis& operator=(const ImpactAnalysis& from) { + CopyFrom(from); + return *this; + } + inline ImpactAnalysis& operator=(ImpactAnalysis&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ImpactAnalysis& default_instance() { + return *internal_default_instance(); + } + static inline const ImpactAnalysis* internal_default_instance() { + return reinterpret_cast( + &_ImpactAnalysis_default_instance_); + } + static constexpr int kIndexInFileMessages = + 3; + + friend void swap(ImpactAnalysis& a, ImpactAnalysis& b) { + a.Swap(&b); + } + inline void Swap(ImpactAnalysis* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ImpactAnalysis* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ImpactAnalysis* New() const final { + return new ImpactAnalysis(); + } + + ImpactAnalysis* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ImpactAnalysis& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const ImpactAnalysis& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ImpactAnalysis* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "video_widevine.ImpactAnalysis"; + } + protected: + explicit ImpactAnalysis(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef ImpactAnalysis_ImpactAnalysisMetrics ImpactAnalysisMetrics; + + typedef ImpactAnalysis_DeviceStatusOperation DeviceStatusOperation; + static constexpr DeviceStatusOperation DEVICE_STATUS_OPERATION_UNSPECIFIED = + ImpactAnalysis_DeviceStatusOperation_DEVICE_STATUS_OPERATION_UNSPECIFIED; + static constexpr DeviceStatusOperation DEVICE_STATUS_UPDATE = + ImpactAnalysis_DeviceStatusOperation_DEVICE_STATUS_UPDATE; + static constexpr DeviceStatusOperation DEVICE_STATUS_REVOKE = + ImpactAnalysis_DeviceStatusOperation_DEVICE_STATUS_REVOKE; + static inline bool DeviceStatusOperation_IsValid(int value) { + return ImpactAnalysis_DeviceStatusOperation_IsValid(value); + } + static constexpr DeviceStatusOperation DeviceStatusOperation_MIN = + ImpactAnalysis_DeviceStatusOperation_DeviceStatusOperation_MIN; + static constexpr DeviceStatusOperation DeviceStatusOperation_MAX = + ImpactAnalysis_DeviceStatusOperation_DeviceStatusOperation_MAX; + static constexpr int DeviceStatusOperation_ARRAYSIZE = + ImpactAnalysis_DeviceStatusOperation_DeviceStatusOperation_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + DeviceStatusOperation_descriptor() { + return ImpactAnalysis_DeviceStatusOperation_descriptor(); + } + template + static inline const std::string& DeviceStatusOperation_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DeviceStatusOperation_Name."); + return ImpactAnalysis_DeviceStatusOperation_Name(enum_t_value); + } + static inline bool DeviceStatusOperation_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + DeviceStatusOperation* value) { + return ImpactAnalysis_DeviceStatusOperation_Parse(name, value); + } + + typedef ImpactAnalysis_DeviceStatusImpact DeviceStatusImpact; + static constexpr DeviceStatusImpact DEVICE_STATUS_IMPACT_UNSPECIFIED = + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_UNSPECIFIED; + static constexpr DeviceStatusImpact DEVICE_STATUS_IMPACT_NONE = + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_NONE; + static constexpr DeviceStatusImpact DEVICE_STATUS_IMPACT_LOW = + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_LOW; + static constexpr DeviceStatusImpact DEVICE_STATUS_IMPACT_MEDIUM = + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_MEDIUM; + static constexpr DeviceStatusImpact DEVICE_STATUS_IMPACT_HIGH = + ImpactAnalysis_DeviceStatusImpact_DEVICE_STATUS_IMPACT_HIGH; + static inline bool DeviceStatusImpact_IsValid(int value) { + return ImpactAnalysis_DeviceStatusImpact_IsValid(value); + } + static constexpr DeviceStatusImpact DeviceStatusImpact_MIN = + ImpactAnalysis_DeviceStatusImpact_DeviceStatusImpact_MIN; + static constexpr DeviceStatusImpact DeviceStatusImpact_MAX = + ImpactAnalysis_DeviceStatusImpact_DeviceStatusImpact_MAX; + static constexpr int DeviceStatusImpact_ARRAYSIZE = + ImpactAnalysis_DeviceStatusImpact_DeviceStatusImpact_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + DeviceStatusImpact_descriptor() { + return ImpactAnalysis_DeviceStatusImpact_descriptor(); + } + template + static inline const std::string& DeviceStatusImpact_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DeviceStatusImpact_Name."); + return ImpactAnalysis_DeviceStatusImpact_Name(enum_t_value); + } + static inline bool DeviceStatusImpact_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + DeviceStatusImpact* value) { + return ImpactAnalysis_DeviceStatusImpact_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + enum : int { + kImpactAnalysisMetricsFieldNumber = 5, + kSystemIdFieldNumber = 1, + kImpactFieldNumber = 2, + kOperationFieldNumber = 3, + kOperationTimeSecondsFieldNumber = 4, + }; + // optional .video_widevine.ImpactAnalysis.ImpactAnalysisMetrics impact_analysis_metrics = 5; + bool has_impact_analysis_metrics() const; + private: + bool _internal_has_impact_analysis_metrics() const; + public: + void clear_impact_analysis_metrics(); + const ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics& impact_analysis_metrics() const; + PROTOBUF_MUST_USE_RESULT ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* release_impact_analysis_metrics(); + ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* mutable_impact_analysis_metrics(); + void set_allocated_impact_analysis_metrics(::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* impact_analysis_metrics); + private: + const ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics& _internal_impact_analysis_metrics() const; + ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* _internal_mutable_impact_analysis_metrics(); + public: + void unsafe_arena_set_allocated_impact_analysis_metrics( + ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* impact_analysis_metrics); + ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* unsafe_arena_release_impact_analysis_metrics(); + + // optional uint32 system_id = 1; + bool has_system_id() const; + private: + bool _internal_has_system_id() const; + public: + void clear_system_id(); + ::PROTOBUF_NAMESPACE_ID::uint32 system_id() const; + void set_system_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_system_id() const; + void _internal_set_system_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + + // optional .video_widevine.ImpactAnalysis.DeviceStatusImpact impact = 2; + bool has_impact() const; + private: + bool _internal_has_impact() const; + public: + void clear_impact(); + ::video_widevine::ImpactAnalysis_DeviceStatusImpact impact() const; + void set_impact(::video_widevine::ImpactAnalysis_DeviceStatusImpact value); + private: + ::video_widevine::ImpactAnalysis_DeviceStatusImpact _internal_impact() const; + void _internal_set_impact(::video_widevine::ImpactAnalysis_DeviceStatusImpact value); + public: + + // optional .video_widevine.ImpactAnalysis.DeviceStatusOperation operation = 3; + bool has_operation() const; + private: + bool _internal_has_operation() const; + public: + void clear_operation(); + ::video_widevine::ImpactAnalysis_DeviceStatusOperation operation() const; + void set_operation(::video_widevine::ImpactAnalysis_DeviceStatusOperation value); + private: + ::video_widevine::ImpactAnalysis_DeviceStatusOperation _internal_operation() const; + void _internal_set_operation(::video_widevine::ImpactAnalysis_DeviceStatusOperation value); + public: + + // optional uint32 operation_time_seconds = 4; + bool has_operation_time_seconds() const; + private: + bool _internal_has_operation_time_seconds() const; + public: + void clear_operation_time_seconds(); + ::PROTOBUF_NAMESPACE_ID::uint32 operation_time_seconds() const; + void set_operation_time_seconds(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_operation_time_seconds() const; + void _internal_set_operation_time_seconds(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + + // @@protoc_insertion_point(class_scope:video_widevine.ImpactAnalysis) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* impact_analysis_metrics_; + ::PROTOBUF_NAMESPACE_ID::uint32 system_id_; + int impact_; + int operation_; + ::PROTOBUF_NAMESPACE_ID::uint32 operation_time_seconds_; friend struct ::TableStruct_protos_2fpublic_2fdevice_5fcertificate_5fstatus_2eproto; }; // ------------------------------------------------------------------- @@ -765,7 +1210,7 @@ class DeviceCertificateStatusList final : &_DeviceCertificateStatusList_default_instance_); } static constexpr int kIndexInFileMessages = - 2; + 4; friend void swap(DeviceCertificateStatusList& a, DeviceCertificateStatusList& b) { a.Swap(&b); @@ -837,6 +1282,7 @@ class DeviceCertificateStatusList final : enum : int { kCertificateStatusFieldNumber = 2, + kImpactAnalysisFieldNumber = 3, kCreationTimeSecondsFieldNumber = 1, }; // repeated .video_widevine.DeviceCertificateStatus certificate_status = 2; @@ -857,6 +1303,24 @@ class DeviceCertificateStatusList final : const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::DeviceCertificateStatus >& certificate_status() const; + // repeated .video_widevine.ImpactAnalysis impact_analysis = 3; + int impact_analysis_size() const; + private: + int _internal_impact_analysis_size() const; + public: + void clear_impact_analysis(); + ::video_widevine::ImpactAnalysis* mutable_impact_analysis(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis >* + mutable_impact_analysis(); + private: + const ::video_widevine::ImpactAnalysis& _internal_impact_analysis(int index) const; + ::video_widevine::ImpactAnalysis* _internal_add_impact_analysis(); + public: + const ::video_widevine::ImpactAnalysis& impact_analysis(int index) const; + ::video_widevine::ImpactAnalysis* add_impact_analysis(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis >& + impact_analysis() const; + // optional uint32 creation_time_seconds = 1; bool has_creation_time_seconds() const; private: @@ -880,6 +1344,7 @@ class DeviceCertificateStatusList final : ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::DeviceCertificateStatus > certificate_status_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis > impact_analysis_; ::PROTOBUF_NAMESPACE_ID::uint32 creation_time_seconds_; friend struct ::TableStruct_protos_2fpublic_2fdevice_5fcertificate_5fstatus_2eproto; }; @@ -936,7 +1401,7 @@ class PublishedDevicesList final : &_PublishedDevicesList_default_instance_); } static constexpr int kIndexInFileMessages = - 3; + 5; friend void swap(PublishedDevicesList& a, PublishedDevicesList& b) { a.Swap(&b); @@ -1008,6 +1473,7 @@ class PublishedDevicesList final : enum : int { kDeviceCertificateStatusFieldNumber = 2, + kImpactAnalysisFieldNumber = 3, kCreationTimeSecondsFieldNumber = 1, }; // repeated .video_widevine.DeviceCertificateStatus device_certificate_status = 2; @@ -1028,6 +1494,24 @@ class PublishedDevicesList final : const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::DeviceCertificateStatus >& device_certificate_status() const; + // repeated .video_widevine.ImpactAnalysis impact_analysis = 3; + int impact_analysis_size() const; + private: + int _internal_impact_analysis_size() const; + public: + void clear_impact_analysis(); + ::video_widevine::ImpactAnalysis* mutable_impact_analysis(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis >* + mutable_impact_analysis(); + private: + const ::video_widevine::ImpactAnalysis& _internal_impact_analysis(int index) const; + ::video_widevine::ImpactAnalysis* _internal_add_impact_analysis(); + public: + const ::video_widevine::ImpactAnalysis& impact_analysis(int index) const; + ::video_widevine::ImpactAnalysis* add_impact_analysis(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis >& + impact_analysis() const; + // optional uint32 creation_time_seconds = 1; bool has_creation_time_seconds() const; private: @@ -1051,6 +1535,7 @@ class PublishedDevicesList final : ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::DeviceCertificateStatus > device_certificate_status_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis > impact_analysis_; ::PROTOBUF_NAMESPACE_ID::uint32 creation_time_seconds_; friend struct ::TableStruct_protos_2fpublic_2fdevice_5fcertificate_5fstatus_2eproto; }; @@ -1107,7 +1592,7 @@ class SignedDeviceCertificateStatusList final : &_SignedDeviceCertificateStatusList_default_instance_); } static constexpr int kIndexInFileMessages = - 4; + 6; friend void swap(SignedDeviceCertificateStatusList& a, SignedDeviceCertificateStatusList& b) { a.Swap(&b); @@ -1762,33 +2247,300 @@ inline void DeviceCertificateStatus::set_allocated_revoked_identifiers(::video_w // @@protoc_insertion_point(field_set_allocated:video_widevine.DeviceCertificateStatus.revoked_identifiers) } -// optional .video_widevine.DeviceCertificateStatus.DeviceVulnerabilityLevel device_vulnerability_level = 8; -inline bool DeviceCertificateStatus::_internal_has_device_vulnerability_level() const { - bool value = (_has_bits_[0] & 0x00000040u) != 0; +// ------------------------------------------------------------------- + +// ImpactAnalysis_ImpactAnalysisMetrics + +// optional float impact_value = 1; +inline bool ImpactAnalysis_ImpactAnalysisMetrics::_internal_has_impact_value() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; return value; } -inline bool DeviceCertificateStatus::has_device_vulnerability_level() const { - return _internal_has_device_vulnerability_level(); +inline bool ImpactAnalysis_ImpactAnalysisMetrics::has_impact_value() const { + return _internal_has_impact_value(); } -inline void DeviceCertificateStatus::clear_device_vulnerability_level() { - device_vulnerability_level_ = 0; - _has_bits_[0] &= ~0x00000040u; +inline void ImpactAnalysis_ImpactAnalysisMetrics::clear_impact_value() { + impact_value_ = 0; + _has_bits_[0] &= ~0x00000001u; } -inline ::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel DeviceCertificateStatus::_internal_device_vulnerability_level() const { - return static_cast< ::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel >(device_vulnerability_level_); +inline float ImpactAnalysis_ImpactAnalysisMetrics::_internal_impact_value() const { + return impact_value_; } -inline ::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel DeviceCertificateStatus::device_vulnerability_level() const { - // @@protoc_insertion_point(field_get:video_widevine.DeviceCertificateStatus.device_vulnerability_level) - return _internal_device_vulnerability_level(); +inline float ImpactAnalysis_ImpactAnalysisMetrics::impact_value() const { + // @@protoc_insertion_point(field_get:video_widevine.ImpactAnalysis.ImpactAnalysisMetrics.impact_value) + return _internal_impact_value(); } -inline void DeviceCertificateStatus::_internal_set_device_vulnerability_level(::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel value) { - assert(::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel_IsValid(value)); - _has_bits_[0] |= 0x00000040u; - device_vulnerability_level_ = value; +inline void ImpactAnalysis_ImpactAnalysisMetrics::_internal_set_impact_value(float value) { + _has_bits_[0] |= 0x00000001u; + impact_value_ = value; } -inline void DeviceCertificateStatus::set_device_vulnerability_level(::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel value) { - _internal_set_device_vulnerability_level(value); - // @@protoc_insertion_point(field_set:video_widevine.DeviceCertificateStatus.device_vulnerability_level) +inline void ImpactAnalysis_ImpactAnalysisMetrics::set_impact_value(float value) { + _internal_set_impact_value(value); + // @@protoc_insertion_point(field_set:video_widevine.ImpactAnalysis.ImpactAnalysisMetrics.impact_value) +} + +// optional uint32 request_number = 2; +inline bool ImpactAnalysis_ImpactAnalysisMetrics::_internal_has_request_number() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool ImpactAnalysis_ImpactAnalysisMetrics::has_request_number() const { + return _internal_has_request_number(); +} +inline void ImpactAnalysis_ImpactAnalysisMetrics::clear_request_number() { + request_number_ = 0u; + _has_bits_[0] &= ~0x00000002u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ImpactAnalysis_ImpactAnalysisMetrics::_internal_request_number() const { + return request_number_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ImpactAnalysis_ImpactAnalysisMetrics::request_number() const { + // @@protoc_insertion_point(field_get:video_widevine.ImpactAnalysis.ImpactAnalysisMetrics.request_number) + return _internal_request_number(); +} +inline void ImpactAnalysis_ImpactAnalysisMetrics::_internal_set_request_number(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00000002u; + request_number_ = value; +} +inline void ImpactAnalysis_ImpactAnalysisMetrics::set_request_number(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_request_number(value); + // @@protoc_insertion_point(field_set:video_widevine.ImpactAnalysis.ImpactAnalysisMetrics.request_number) +} + +// optional uint32 request_duration_days = 3; +inline bool ImpactAnalysis_ImpactAnalysisMetrics::_internal_has_request_duration_days() const { + bool value = (_has_bits_[0] & 0x00000004u) != 0; + return value; +} +inline bool ImpactAnalysis_ImpactAnalysisMetrics::has_request_duration_days() const { + return _internal_has_request_duration_days(); +} +inline void ImpactAnalysis_ImpactAnalysisMetrics::clear_request_duration_days() { + request_duration_days_ = 0u; + _has_bits_[0] &= ~0x00000004u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ImpactAnalysis_ImpactAnalysisMetrics::_internal_request_duration_days() const { + return request_duration_days_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ImpactAnalysis_ImpactAnalysisMetrics::request_duration_days() const { + // @@protoc_insertion_point(field_get:video_widevine.ImpactAnalysis.ImpactAnalysisMetrics.request_duration_days) + return _internal_request_duration_days(); +} +inline void ImpactAnalysis_ImpactAnalysisMetrics::_internal_set_request_duration_days(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00000004u; + request_duration_days_ = value; +} +inline void ImpactAnalysis_ImpactAnalysisMetrics::set_request_duration_days(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_request_duration_days(value); + // @@protoc_insertion_point(field_set:video_widevine.ImpactAnalysis.ImpactAnalysisMetrics.request_duration_days) +} + +// ------------------------------------------------------------------- + +// ImpactAnalysis + +// optional uint32 system_id = 1; +inline bool ImpactAnalysis::_internal_has_system_id() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool ImpactAnalysis::has_system_id() const { + return _internal_has_system_id(); +} +inline void ImpactAnalysis::clear_system_id() { + system_id_ = 0u; + _has_bits_[0] &= ~0x00000002u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ImpactAnalysis::_internal_system_id() const { + return system_id_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ImpactAnalysis::system_id() const { + // @@protoc_insertion_point(field_get:video_widevine.ImpactAnalysis.system_id) + return _internal_system_id(); +} +inline void ImpactAnalysis::_internal_set_system_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00000002u; + system_id_ = value; +} +inline void ImpactAnalysis::set_system_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_system_id(value); + // @@protoc_insertion_point(field_set:video_widevine.ImpactAnalysis.system_id) +} + +// optional .video_widevine.ImpactAnalysis.DeviceStatusImpact impact = 2; +inline bool ImpactAnalysis::_internal_has_impact() const { + bool value = (_has_bits_[0] & 0x00000004u) != 0; + return value; +} +inline bool ImpactAnalysis::has_impact() const { + return _internal_has_impact(); +} +inline void ImpactAnalysis::clear_impact() { + impact_ = 0; + _has_bits_[0] &= ~0x00000004u; +} +inline ::video_widevine::ImpactAnalysis_DeviceStatusImpact ImpactAnalysis::_internal_impact() const { + return static_cast< ::video_widevine::ImpactAnalysis_DeviceStatusImpact >(impact_); +} +inline ::video_widevine::ImpactAnalysis_DeviceStatusImpact ImpactAnalysis::impact() const { + // @@protoc_insertion_point(field_get:video_widevine.ImpactAnalysis.impact) + return _internal_impact(); +} +inline void ImpactAnalysis::_internal_set_impact(::video_widevine::ImpactAnalysis_DeviceStatusImpact value) { + assert(::video_widevine::ImpactAnalysis_DeviceStatusImpact_IsValid(value)); + _has_bits_[0] |= 0x00000004u; + impact_ = value; +} +inline void ImpactAnalysis::set_impact(::video_widevine::ImpactAnalysis_DeviceStatusImpact value) { + _internal_set_impact(value); + // @@protoc_insertion_point(field_set:video_widevine.ImpactAnalysis.impact) +} + +// optional .video_widevine.ImpactAnalysis.DeviceStatusOperation operation = 3; +inline bool ImpactAnalysis::_internal_has_operation() const { + bool value = (_has_bits_[0] & 0x00000008u) != 0; + return value; +} +inline bool ImpactAnalysis::has_operation() const { + return _internal_has_operation(); +} +inline void ImpactAnalysis::clear_operation() { + operation_ = 0; + _has_bits_[0] &= ~0x00000008u; +} +inline ::video_widevine::ImpactAnalysis_DeviceStatusOperation ImpactAnalysis::_internal_operation() const { + return static_cast< ::video_widevine::ImpactAnalysis_DeviceStatusOperation >(operation_); +} +inline ::video_widevine::ImpactAnalysis_DeviceStatusOperation ImpactAnalysis::operation() const { + // @@protoc_insertion_point(field_get:video_widevine.ImpactAnalysis.operation) + return _internal_operation(); +} +inline void ImpactAnalysis::_internal_set_operation(::video_widevine::ImpactAnalysis_DeviceStatusOperation value) { + assert(::video_widevine::ImpactAnalysis_DeviceStatusOperation_IsValid(value)); + _has_bits_[0] |= 0x00000008u; + operation_ = value; +} +inline void ImpactAnalysis::set_operation(::video_widevine::ImpactAnalysis_DeviceStatusOperation value) { + _internal_set_operation(value); + // @@protoc_insertion_point(field_set:video_widevine.ImpactAnalysis.operation) +} + +// optional uint32 operation_time_seconds = 4; +inline bool ImpactAnalysis::_internal_has_operation_time_seconds() const { + bool value = (_has_bits_[0] & 0x00000010u) != 0; + return value; +} +inline bool ImpactAnalysis::has_operation_time_seconds() const { + return _internal_has_operation_time_seconds(); +} +inline void ImpactAnalysis::clear_operation_time_seconds() { + operation_time_seconds_ = 0u; + _has_bits_[0] &= ~0x00000010u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ImpactAnalysis::_internal_operation_time_seconds() const { + return operation_time_seconds_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ImpactAnalysis::operation_time_seconds() const { + // @@protoc_insertion_point(field_get:video_widevine.ImpactAnalysis.operation_time_seconds) + return _internal_operation_time_seconds(); +} +inline void ImpactAnalysis::_internal_set_operation_time_seconds(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00000010u; + operation_time_seconds_ = value; +} +inline void ImpactAnalysis::set_operation_time_seconds(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_operation_time_seconds(value); + // @@protoc_insertion_point(field_set:video_widevine.ImpactAnalysis.operation_time_seconds) +} + +// optional .video_widevine.ImpactAnalysis.ImpactAnalysisMetrics impact_analysis_metrics = 5; +inline bool ImpactAnalysis::_internal_has_impact_analysis_metrics() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || impact_analysis_metrics_ != nullptr); + return value; +} +inline bool ImpactAnalysis::has_impact_analysis_metrics() const { + return _internal_has_impact_analysis_metrics(); +} +inline void ImpactAnalysis::clear_impact_analysis_metrics() { + if (impact_analysis_metrics_ != nullptr) impact_analysis_metrics_->Clear(); + _has_bits_[0] &= ~0x00000001u; +} +inline const ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics& ImpactAnalysis::_internal_impact_analysis_metrics() const { + const ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* p = impact_analysis_metrics_; + return p != nullptr ? *p : reinterpret_cast( + ::video_widevine::_ImpactAnalysis_ImpactAnalysisMetrics_default_instance_); +} +inline const ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics& ImpactAnalysis::impact_analysis_metrics() const { + // @@protoc_insertion_point(field_get:video_widevine.ImpactAnalysis.impact_analysis_metrics) + return _internal_impact_analysis_metrics(); +} +inline void ImpactAnalysis::unsafe_arena_set_allocated_impact_analysis_metrics( + ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* impact_analysis_metrics) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(impact_analysis_metrics_); + } + impact_analysis_metrics_ = impact_analysis_metrics; + if (impact_analysis_metrics) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:video_widevine.ImpactAnalysis.impact_analysis_metrics) +} +inline ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* ImpactAnalysis::release_impact_analysis_metrics() { + _has_bits_[0] &= ~0x00000001u; + ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* temp = impact_analysis_metrics_; + impact_analysis_metrics_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* ImpactAnalysis::unsafe_arena_release_impact_analysis_metrics() { + // @@protoc_insertion_point(field_release:video_widevine.ImpactAnalysis.impact_analysis_metrics) + _has_bits_[0] &= ~0x00000001u; + ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* temp = impact_analysis_metrics_; + impact_analysis_metrics_ = nullptr; + return temp; +} +inline ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* ImpactAnalysis::_internal_mutable_impact_analysis_metrics() { + _has_bits_[0] |= 0x00000001u; + if (impact_analysis_metrics_ == nullptr) { + auto* p = CreateMaybeMessage<::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics>(GetArenaForAllocation()); + impact_analysis_metrics_ = p; + } + return impact_analysis_metrics_; +} +inline ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* ImpactAnalysis::mutable_impact_analysis_metrics() { + ::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* _msg = _internal_mutable_impact_analysis_metrics(); + // @@protoc_insertion_point(field_mutable:video_widevine.ImpactAnalysis.impact_analysis_metrics) + return _msg; +} +inline void ImpactAnalysis::set_allocated_impact_analysis_metrics(::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics* impact_analysis_metrics) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete impact_analysis_metrics_; + } + if (impact_analysis_metrics) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::video_widevine::ImpactAnalysis_ImpactAnalysisMetrics>::GetOwningArena(impact_analysis_metrics); + if (message_arena != submessage_arena) { + impact_analysis_metrics = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, impact_analysis_metrics, submessage_arena); + } + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + impact_analysis_metrics_ = impact_analysis_metrics; + // @@protoc_insertion_point(field_set_allocated:video_widevine.ImpactAnalysis.impact_analysis_metrics) } // ------------------------------------------------------------------- @@ -1863,6 +2615,46 @@ DeviceCertificateStatusList::certificate_status() const { return certificate_status_; } +// repeated .video_widevine.ImpactAnalysis impact_analysis = 3; +inline int DeviceCertificateStatusList::_internal_impact_analysis_size() const { + return impact_analysis_.size(); +} +inline int DeviceCertificateStatusList::impact_analysis_size() const { + return _internal_impact_analysis_size(); +} +inline void DeviceCertificateStatusList::clear_impact_analysis() { + impact_analysis_.Clear(); +} +inline ::video_widevine::ImpactAnalysis* DeviceCertificateStatusList::mutable_impact_analysis(int index) { + // @@protoc_insertion_point(field_mutable:video_widevine.DeviceCertificateStatusList.impact_analysis) + return impact_analysis_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis >* +DeviceCertificateStatusList::mutable_impact_analysis() { + // @@protoc_insertion_point(field_mutable_list:video_widevine.DeviceCertificateStatusList.impact_analysis) + return &impact_analysis_; +} +inline const ::video_widevine::ImpactAnalysis& DeviceCertificateStatusList::_internal_impact_analysis(int index) const { + return impact_analysis_.Get(index); +} +inline const ::video_widevine::ImpactAnalysis& DeviceCertificateStatusList::impact_analysis(int index) const { + // @@protoc_insertion_point(field_get:video_widevine.DeviceCertificateStatusList.impact_analysis) + return _internal_impact_analysis(index); +} +inline ::video_widevine::ImpactAnalysis* DeviceCertificateStatusList::_internal_add_impact_analysis() { + return impact_analysis_.Add(); +} +inline ::video_widevine::ImpactAnalysis* DeviceCertificateStatusList::add_impact_analysis() { + ::video_widevine::ImpactAnalysis* _add = _internal_add_impact_analysis(); + // @@protoc_insertion_point(field_add:video_widevine.DeviceCertificateStatusList.impact_analysis) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis >& +DeviceCertificateStatusList::impact_analysis() const { + // @@protoc_insertion_point(field_list:video_widevine.DeviceCertificateStatusList.impact_analysis) + return impact_analysis_; +} + // ------------------------------------------------------------------- // PublishedDevicesList @@ -1935,6 +2727,46 @@ PublishedDevicesList::device_certificate_status() const { return device_certificate_status_; } +// repeated .video_widevine.ImpactAnalysis impact_analysis = 3; +inline int PublishedDevicesList::_internal_impact_analysis_size() const { + return impact_analysis_.size(); +} +inline int PublishedDevicesList::impact_analysis_size() const { + return _internal_impact_analysis_size(); +} +inline void PublishedDevicesList::clear_impact_analysis() { + impact_analysis_.Clear(); +} +inline ::video_widevine::ImpactAnalysis* PublishedDevicesList::mutable_impact_analysis(int index) { + // @@protoc_insertion_point(field_mutable:video_widevine.PublishedDevicesList.impact_analysis) + return impact_analysis_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis >* +PublishedDevicesList::mutable_impact_analysis() { + // @@protoc_insertion_point(field_mutable_list:video_widevine.PublishedDevicesList.impact_analysis) + return &impact_analysis_; +} +inline const ::video_widevine::ImpactAnalysis& PublishedDevicesList::_internal_impact_analysis(int index) const { + return impact_analysis_.Get(index); +} +inline const ::video_widevine::ImpactAnalysis& PublishedDevicesList::impact_analysis(int index) const { + // @@protoc_insertion_point(field_get:video_widevine.PublishedDevicesList.impact_analysis) + return _internal_impact_analysis(index); +} +inline ::video_widevine::ImpactAnalysis* PublishedDevicesList::_internal_add_impact_analysis() { + return impact_analysis_.Add(); +} +inline ::video_widevine::ImpactAnalysis* PublishedDevicesList::add_impact_analysis() { + ::video_widevine::ImpactAnalysis* _add = _internal_add_impact_analysis(); + // @@protoc_insertion_point(field_add:video_widevine.PublishedDevicesList.impact_analysis) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ImpactAnalysis >& +PublishedDevicesList::impact_analysis() const { + // @@protoc_insertion_point(field_list:video_widevine.PublishedDevicesList.impact_analysis) + return impact_analysis_; +} + // ------------------------------------------------------------------- // SignedDeviceCertificateStatusList @@ -2095,6 +2927,10 @@ inline void SignedDeviceCertificateStatusList::set_hash_algorithm(::video_widevi // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) @@ -2112,10 +2948,15 @@ template <> inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DeviceCertificateStatus_Status>() { return ::video_widevine::DeviceCertificateStatus_Status_descriptor(); } -template <> struct is_proto_enum< ::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel> : ::std::true_type {}; +template <> struct is_proto_enum< ::video_widevine::ImpactAnalysis_DeviceStatusOperation> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel>() { - return ::video_widevine::DeviceCertificateStatus_DeviceVulnerabilityLevel_descriptor(); +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::ImpactAnalysis_DeviceStatusOperation>() { + return ::video_widevine::ImpactAnalysis_DeviceStatusOperation_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::ImpactAnalysis_DeviceStatusImpact> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::ImpactAnalysis_DeviceStatusImpact>() { + return ::video_widevine::ImpactAnalysis_DeviceStatusImpact_descriptor(); } PROTOBUF_NAMESPACE_CLOSE diff --git a/ubuntu/protos/public/device_common.pb.h b/ubuntu/protos/public/device_common.pb.h index a45d76f..dc69097 100755 --- a/ubuntu/protos/public/device_common.pb.h +++ b/ubuntu/protos/public/device_common.pb.h @@ -47,7 +47,7 @@ struct TableStruct_protos_2fpublic_2fdevice_5fcommon_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[4] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -61,6 +61,9 @@ extern AndroidAttestationKeyboxDefaultTypeInternal _AndroidAttestationKeybox_def class DeviceModel; struct DeviceModelDefaultTypeInternal; extern DeviceModelDefaultTypeInternal _DeviceModel_default_instance_; +class VerificationInfo; +struct VerificationInfoDefaultTypeInternal; +extern VerificationInfoDefaultTypeInternal _VerificationInfo_default_instance_; class VulnerabilityInfo; struct VulnerabilityInfoDefaultTypeInternal; extern VulnerabilityInfoDefaultTypeInternal _VulnerabilityInfo_default_instance_; @@ -68,6 +71,7 @@ extern VulnerabilityInfoDefaultTypeInternal _VulnerabilityInfo_default_instance_ PROTOBUF_NAMESPACE_OPEN template<> ::video_widevine::AndroidAttestationKeybox* Arena::CreateMaybeMessage<::video_widevine::AndroidAttestationKeybox>(Arena*); template<> ::video_widevine::DeviceModel* Arena::CreateMaybeMessage<::video_widevine::DeviceModel>(Arena*); +template<> ::video_widevine::VerificationInfo* Arena::CreateMaybeMessage<::video_widevine::VerificationInfo>(Arena*); template<> ::video_widevine::VulnerabilityInfo* Arena::CreateMaybeMessage<::video_widevine::VulnerabilityInfo>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace video_widevine { @@ -382,6 +386,33 @@ inline bool VulnerabilityLevel_Parse( return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( VulnerabilityLevel_descriptor(), name, value); } +enum VerificationLevel : int { + VERIFICATION_LEVEL_UNSPECIFIED = 0, + VERIFICATION_LEVEL_UNVERIFIED = 1, + VERIFICATION_LEVEL_VERIFIED = 2, + VERIFICATION_LEVEL_VERIFIED_GTS = 3, + VerificationLevel_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(), + VerificationLevel_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max() +}; +bool VerificationLevel_IsValid(int value); +constexpr VerificationLevel VerificationLevel_MIN = VERIFICATION_LEVEL_UNSPECIFIED; +constexpr VerificationLevel VerificationLevel_MAX = VERIFICATION_LEVEL_VERIFIED_GTS; +constexpr int VerificationLevel_ARRAYSIZE = VerificationLevel_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* VerificationLevel_descriptor(); +template +inline const std::string& VerificationLevel_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function VerificationLevel_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + VerificationLevel_descriptor(), enum_t_value); +} +inline bool VerificationLevel_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, VerificationLevel* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + VerificationLevel_descriptor(), name, value); +} // =================================================================== class DeviceModel final : @@ -768,6 +799,177 @@ class VulnerabilityInfo final : }; // ------------------------------------------------------------------- +class VerificationInfo final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.VerificationInfo) */ { + public: + inline VerificationInfo() : VerificationInfo(nullptr) {} + ~VerificationInfo() override; + explicit constexpr VerificationInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + VerificationInfo(const VerificationInfo& from); + VerificationInfo(VerificationInfo&& from) noexcept + : VerificationInfo() { + *this = ::std::move(from); + } + + inline VerificationInfo& operator=(const VerificationInfo& from) { + CopyFrom(from); + return *this; + } + inline VerificationInfo& operator=(VerificationInfo&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const VerificationInfo& default_instance() { + return *internal_default_instance(); + } + static inline const VerificationInfo* internal_default_instance() { + return reinterpret_cast( + &_VerificationInfo_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + friend void swap(VerificationInfo& a, VerificationInfo& b) { + a.Swap(&b); + } + inline void Swap(VerificationInfo* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(VerificationInfo* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline VerificationInfo* New() const final { + return new VerificationInfo(); + } + + VerificationInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const VerificationInfo& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const VerificationInfo& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(VerificationInfo* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "video_widevine.VerificationInfo"; + } + protected: + explicit VerificationInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kProofFieldNumber = 2, + kNotesFieldNumber = 3, + kLevelFieldNumber = 1, + }; + // string proof = 2; + void clear_proof(); + const std::string& proof() const; + template + void set_proof(ArgT0&& arg0, ArgT... args); + std::string* mutable_proof(); + PROTOBUF_MUST_USE_RESULT std::string* release_proof(); + void set_allocated_proof(std::string* proof); + private: + const std::string& _internal_proof() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_proof(const std::string& value); + std::string* _internal_mutable_proof(); + public: + + // string notes = 3; + void clear_notes(); + const std::string& notes() const; + template + void set_notes(ArgT0&& arg0, ArgT... args); + std::string* mutable_notes(); + PROTOBUF_MUST_USE_RESULT std::string* release_notes(); + void set_allocated_notes(std::string* notes); + private: + const std::string& _internal_notes() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_notes(const std::string& value); + std::string* _internal_mutable_notes(); + public: + + // .video_widevine.VerificationLevel level = 1; + void clear_level(); + ::video_widevine::VerificationLevel level() const; + void set_level(::video_widevine::VerificationLevel value); + private: + ::video_widevine::VerificationLevel _internal_level() const; + void _internal_set_level(::video_widevine::VerificationLevel value); + public: + + // @@protoc_insertion_point(class_scope:video_widevine.VerificationInfo) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr proof_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr notes_; + int level_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_protos_2fpublic_2fdevice_5fcommon_2eproto; +}; +// ------------------------------------------------------------------- + class AndroidAttestationKeybox final : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.AndroidAttestationKeybox) */ { public: @@ -812,7 +1014,7 @@ class AndroidAttestationKeybox final : &_AndroidAttestationKeybox_default_instance_); } static constexpr int kIndexInFileMessages = - 2; + 3; friend void swap(AndroidAttestationKeybox& a, AndroidAttestationKeybox& b) { a.Swap(&b); @@ -887,6 +1089,7 @@ class AndroidAttestationKeybox final : kRsaCertFieldNumber = 4, kEcdsaPrivateKeyFieldNumber = 1, kRsaPrivateKeyFieldNumber = 3, + kAttestationKeyboxIdFieldNumber = 5, }; // repeated bytes ecdsa_cert = 2; int ecdsa_cert_size() const; @@ -964,6 +1167,15 @@ class AndroidAttestationKeybox final : std::string* _internal_mutable_rsa_private_key(); public: + // uint32 attestation_keybox_id = 5; + void clear_attestation_keybox_id(); + ::PROTOBUF_NAMESPACE_ID::uint32 attestation_keybox_id() const; + void set_attestation_keybox_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_attestation_keybox_id() const; + void _internal_set_attestation_keybox_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + // @@protoc_insertion_point(class_scope:video_widevine.AndroidAttestationKeybox) private: class _Internal; @@ -975,6 +1187,7 @@ class AndroidAttestationKeybox final : ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField rsa_cert_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ecdsa_private_key_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr rsa_private_key_; + ::PROTOBUF_NAMESPACE_ID::uint32 attestation_keybox_id_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_protos_2fpublic_2fdevice_5fcommon_2eproto; }; @@ -1213,6 +1426,122 @@ inline void VulnerabilityInfo::set_vulnerability_level(::video_widevine::Vulnera // ------------------------------------------------------------------- +// VerificationInfo + +// .video_widevine.VerificationLevel level = 1; +inline void VerificationInfo::clear_level() { + level_ = 0; +} +inline ::video_widevine::VerificationLevel VerificationInfo::_internal_level() const { + return static_cast< ::video_widevine::VerificationLevel >(level_); +} +inline ::video_widevine::VerificationLevel VerificationInfo::level() const { + // @@protoc_insertion_point(field_get:video_widevine.VerificationInfo.level) + return _internal_level(); +} +inline void VerificationInfo::_internal_set_level(::video_widevine::VerificationLevel value) { + + level_ = value; +} +inline void VerificationInfo::set_level(::video_widevine::VerificationLevel value) { + _internal_set_level(value); + // @@protoc_insertion_point(field_set:video_widevine.VerificationInfo.level) +} + +// string proof = 2; +inline void VerificationInfo::clear_proof() { + proof_.ClearToEmpty(); +} +inline const std::string& VerificationInfo::proof() const { + // @@protoc_insertion_point(field_get:video_widevine.VerificationInfo.proof) + return _internal_proof(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void VerificationInfo::set_proof(ArgT0&& arg0, ArgT... args) { + + proof_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:video_widevine.VerificationInfo.proof) +} +inline std::string* VerificationInfo::mutable_proof() { + std::string* _s = _internal_mutable_proof(); + // @@protoc_insertion_point(field_mutable:video_widevine.VerificationInfo.proof) + return _s; +} +inline const std::string& VerificationInfo::_internal_proof() const { + return proof_.Get(); +} +inline void VerificationInfo::_internal_set_proof(const std::string& value) { + + proof_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* VerificationInfo::_internal_mutable_proof() { + + return proof_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* VerificationInfo::release_proof() { + // @@protoc_insertion_point(field_release:video_widevine.VerificationInfo.proof) + return proof_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void VerificationInfo::set_allocated_proof(std::string* proof) { + if (proof != nullptr) { + + } else { + + } + proof_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), proof, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:video_widevine.VerificationInfo.proof) +} + +// string notes = 3; +inline void VerificationInfo::clear_notes() { + notes_.ClearToEmpty(); +} +inline const std::string& VerificationInfo::notes() const { + // @@protoc_insertion_point(field_get:video_widevine.VerificationInfo.notes) + return _internal_notes(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void VerificationInfo::set_notes(ArgT0&& arg0, ArgT... args) { + + notes_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:video_widevine.VerificationInfo.notes) +} +inline std::string* VerificationInfo::mutable_notes() { + std::string* _s = _internal_mutable_notes(); + // @@protoc_insertion_point(field_mutable:video_widevine.VerificationInfo.notes) + return _s; +} +inline const std::string& VerificationInfo::_internal_notes() const { + return notes_.Get(); +} +inline void VerificationInfo::_internal_set_notes(const std::string& value) { + + notes_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* VerificationInfo::_internal_mutable_notes() { + + return notes_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* VerificationInfo::release_notes() { + // @@protoc_insertion_point(field_release:video_widevine.VerificationInfo.notes) + return notes_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void VerificationInfo::set_allocated_notes(std::string* notes) { + if (notes != nullptr) { + + } else { + + } + notes_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), notes, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:video_widevine.VerificationInfo.notes) +} + +// ------------------------------------------------------------------- + // AndroidAttestationKeybox // bytes ecdsa_private_key = 1; @@ -1457,6 +1786,26 @@ AndroidAttestationKeybox::mutable_rsa_cert() { return &rsa_cert_; } +// uint32 attestation_keybox_id = 5; +inline void AndroidAttestationKeybox::clear_attestation_keybox_id() { + attestation_keybox_id_ = 0u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 AndroidAttestationKeybox::_internal_attestation_keybox_id() const { + return attestation_keybox_id_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 AndroidAttestationKeybox::attestation_keybox_id() const { + // @@protoc_insertion_point(field_get:video_widevine.AndroidAttestationKeybox.attestation_keybox_id) + return _internal_attestation_keybox_id(); +} +inline void AndroidAttestationKeybox::_internal_set_attestation_keybox_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + + attestation_keybox_id_ = value; +} +inline void AndroidAttestationKeybox::set_attestation_keybox_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_attestation_keybox_id(value); + // @@protoc_insertion_point(field_set:video_widevine.AndroidAttestationKeybox.attestation_keybox_id) +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ @@ -1464,6 +1813,8 @@ AndroidAttestationKeybox::mutable_rsa_cert() { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) @@ -1521,6 +1872,11 @@ template <> inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::VulnerabilityLevel>() { return ::video_widevine::VulnerabilityLevel_descriptor(); } +template <> struct is_proto_enum< ::video_widevine::VerificationLevel> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::VerificationLevel>() { + return ::video_widevine::VerificationLevel_descriptor(); +} PROTOBUF_NAMESPACE_CLOSE diff --git a/ubuntu/protos/public/drm_certificate.pb.h b/ubuntu/protos/public/drm_certificate.pb.h index 3250c10..963a42e 100755 --- a/ubuntu/protos/public/drm_certificate.pb.h +++ b/ubuntu/protos/public/drm_certificate.pb.h @@ -32,6 +32,7 @@ #include // IWYU pragma: export #include #include +#include "protos/public/root_of_trust_id.pb.h" // @@protoc_insertion_point(includes) #include #define PROTOBUF_INTERNAL_EXPORT_protos_2fpublic_2fdrm_5fcertificate_2eproto @@ -47,7 +48,7 @@ struct TableStruct_protos_2fpublic_2fdrm_5fcertificate_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[2] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -61,40 +62,13 @@ extern DrmCertificateDefaultTypeInternal _DrmCertificate_default_instance_; class DrmCertificate_EncryptionKey; struct DrmCertificate_EncryptionKeyDefaultTypeInternal; extern DrmCertificate_EncryptionKeyDefaultTypeInternal _DrmCertificate_EncryptionKey_default_instance_; -class RootOfTrustId; -struct RootOfTrustIdDefaultTypeInternal; -extern RootOfTrustIdDefaultTypeInternal _RootOfTrustId_default_instance_; } // namespace video_widevine PROTOBUF_NAMESPACE_OPEN template<> ::video_widevine::DrmCertificate* Arena::CreateMaybeMessage<::video_widevine::DrmCertificate>(Arena*); template<> ::video_widevine::DrmCertificate_EncryptionKey* Arena::CreateMaybeMessage<::video_widevine::DrmCertificate_EncryptionKey>(Arena*); -template<> ::video_widevine::RootOfTrustId* Arena::CreateMaybeMessage<::video_widevine::RootOfTrustId>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace video_widevine { -enum RootOfTrustId_RootOfTrustIdVersion : int { - RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_UNSPECIFIED = 0, - RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_1 = 1 -}; -bool RootOfTrustId_RootOfTrustIdVersion_IsValid(int value); -constexpr RootOfTrustId_RootOfTrustIdVersion RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MIN = RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_UNSPECIFIED; -constexpr RootOfTrustId_RootOfTrustIdVersion RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MAX = RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_1; -constexpr int RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_ARRAYSIZE = RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RootOfTrustId_RootOfTrustIdVersion_descriptor(); -template -inline const std::string& RootOfTrustId_RootOfTrustIdVersion_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function RootOfTrustId_RootOfTrustIdVersion_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - RootOfTrustId_RootOfTrustIdVersion_descriptor(), enum_t_value); -} -inline bool RootOfTrustId_RootOfTrustIdVersion_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, RootOfTrustId_RootOfTrustIdVersion* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - RootOfTrustId_RootOfTrustIdVersion_descriptor(), name, value); -} enum DrmCertificate_Type : int { DrmCertificate_Type_ROOT = 0, DrmCertificate_Type_DEVICE_MODEL = 1, @@ -175,242 +149,6 @@ inline bool DrmCertificate_Algorithm_Parse( } // =================================================================== -class RootOfTrustId final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.RootOfTrustId) */ { - public: - inline RootOfTrustId() : RootOfTrustId(nullptr) {} - ~RootOfTrustId() override; - explicit constexpr RootOfTrustId(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - RootOfTrustId(const RootOfTrustId& from); - RootOfTrustId(RootOfTrustId&& from) noexcept - : RootOfTrustId() { - *this = ::std::move(from); - } - - inline RootOfTrustId& operator=(const RootOfTrustId& from) { - CopyFrom(from); - return *this; - } - inline RootOfTrustId& operator=(RootOfTrustId&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena()) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const RootOfTrustId& default_instance() { - return *internal_default_instance(); - } - static inline const RootOfTrustId* internal_default_instance() { - return reinterpret_cast( - &_RootOfTrustId_default_instance_); - } - static constexpr int kIndexInFileMessages = - 0; - - friend void swap(RootOfTrustId& a, RootOfTrustId& b) { - a.Swap(&b); - } - inline void Swap(RootOfTrustId* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(RootOfTrustId* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline RootOfTrustId* New() const final { - return new RootOfTrustId(); - } - - RootOfTrustId* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RootOfTrustId& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const RootOfTrustId& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RootOfTrustId* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "video_widevine.RootOfTrustId"; - } - protected: - explicit RootOfTrustId(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - typedef RootOfTrustId_RootOfTrustIdVersion RootOfTrustIdVersion; - static constexpr RootOfTrustIdVersion ROOT_OF_TRUST_ID_VERSION_UNSPECIFIED = - RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_UNSPECIFIED; - static constexpr RootOfTrustIdVersion ROOT_OF_TRUST_ID_VERSION_1 = - RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_1; - static inline bool RootOfTrustIdVersion_IsValid(int value) { - return RootOfTrustId_RootOfTrustIdVersion_IsValid(value); - } - static constexpr RootOfTrustIdVersion RootOfTrustIdVersion_MIN = - RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MIN; - static constexpr RootOfTrustIdVersion RootOfTrustIdVersion_MAX = - RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MAX; - static constexpr int RootOfTrustIdVersion_ARRAYSIZE = - RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_ARRAYSIZE; - static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* - RootOfTrustIdVersion_descriptor() { - return RootOfTrustId_RootOfTrustIdVersion_descriptor(); - } - template - static inline const std::string& RootOfTrustIdVersion_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function RootOfTrustIdVersion_Name."); - return RootOfTrustId_RootOfTrustIdVersion_Name(enum_t_value); - } - static inline bool RootOfTrustIdVersion_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, - RootOfTrustIdVersion* value) { - return RootOfTrustId_RootOfTrustIdVersion_Parse(name, value); - } - - // accessors ------------------------------------------------------- - - enum : int { - kEncryptedUniqueIdFieldNumber = 3, - kUniqueIdHashFieldNumber = 4, - kVersionFieldNumber = 1, - kKeyIdFieldNumber = 2, - }; - // optional bytes encrypted_unique_id = 3; - bool has_encrypted_unique_id() const; - private: - bool _internal_has_encrypted_unique_id() const; - public: - void clear_encrypted_unique_id(); - const std::string& encrypted_unique_id() const; - template - void set_encrypted_unique_id(ArgT0&& arg0, ArgT... args); - std::string* mutable_encrypted_unique_id(); - PROTOBUF_MUST_USE_RESULT std::string* release_encrypted_unique_id(); - void set_allocated_encrypted_unique_id(std::string* encrypted_unique_id); - private: - const std::string& _internal_encrypted_unique_id() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_encrypted_unique_id(const std::string& value); - std::string* _internal_mutable_encrypted_unique_id(); - public: - - // optional bytes unique_id_hash = 4; - bool has_unique_id_hash() const; - private: - bool _internal_has_unique_id_hash() const; - public: - void clear_unique_id_hash(); - const std::string& unique_id_hash() const; - template - void set_unique_id_hash(ArgT0&& arg0, ArgT... args); - std::string* mutable_unique_id_hash(); - PROTOBUF_MUST_USE_RESULT std::string* release_unique_id_hash(); - void set_allocated_unique_id_hash(std::string* unique_id_hash); - private: - const std::string& _internal_unique_id_hash() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_unique_id_hash(const std::string& value); - std::string* _internal_mutable_unique_id_hash(); - public: - - // optional .video_widevine.RootOfTrustId.RootOfTrustIdVersion version = 1; - bool has_version() const; - private: - bool _internal_has_version() const; - public: - void clear_version(); - ::video_widevine::RootOfTrustId_RootOfTrustIdVersion version() const; - void set_version(::video_widevine::RootOfTrustId_RootOfTrustIdVersion value); - private: - ::video_widevine::RootOfTrustId_RootOfTrustIdVersion _internal_version() const; - void _internal_set_version(::video_widevine::RootOfTrustId_RootOfTrustIdVersion value); - public: - - // optional uint32 key_id = 2; - bool has_key_id() const; - private: - bool _internal_has_key_id() const; - public: - void clear_key_id(); - ::PROTOBUF_NAMESPACE_ID::uint32 key_id() const; - void set_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value); - private: - ::PROTOBUF_NAMESPACE_ID::uint32 _internal_key_id() const; - void _internal_set_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value); - public: - - // @@protoc_insertion_point(class_scope:video_widevine.RootOfTrustId) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr encrypted_unique_id_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr unique_id_hash_; - int version_; - ::PROTOBUF_NAMESPACE_ID::uint32 key_id_; - friend struct ::TableStruct_protos_2fpublic_2fdrm_5fcertificate_2eproto; -}; -// ------------------------------------------------------------------- - class DrmCertificate_EncryptionKey final : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.DrmCertificate.EncryptionKey) */ { public: @@ -462,7 +200,7 @@ class DrmCertificate_EncryptionKey final : &_DrmCertificate_EncryptionKey_default_instance_); } static constexpr int kIndexInFileMessages = - 1; + 0; friend void swap(DrmCertificate_EncryptionKey& a, DrmCertificate_EncryptionKey& b) { a.Swap(&b); @@ -633,7 +371,7 @@ class DrmCertificate final : &_DrmCertificate_default_instance_); } static constexpr int kIndexInFileMessages = - 2; + 1; friend void swap(DrmCertificate& a, DrmCertificate& b) { a.Swap(&b); @@ -1044,183 +782,6 @@ class DrmCertificate final : #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wstrict-aliasing" #endif // __GNUC__ -// RootOfTrustId - -// optional .video_widevine.RootOfTrustId.RootOfTrustIdVersion version = 1; -inline bool RootOfTrustId::_internal_has_version() const { - bool value = (_has_bits_[0] & 0x00000004u) != 0; - return value; -} -inline bool RootOfTrustId::has_version() const { - return _internal_has_version(); -} -inline void RootOfTrustId::clear_version() { - version_ = 0; - _has_bits_[0] &= ~0x00000004u; -} -inline ::video_widevine::RootOfTrustId_RootOfTrustIdVersion RootOfTrustId::_internal_version() const { - return static_cast< ::video_widevine::RootOfTrustId_RootOfTrustIdVersion >(version_); -} -inline ::video_widevine::RootOfTrustId_RootOfTrustIdVersion RootOfTrustId::version() const { - // @@protoc_insertion_point(field_get:video_widevine.RootOfTrustId.version) - return _internal_version(); -} -inline void RootOfTrustId::_internal_set_version(::video_widevine::RootOfTrustId_RootOfTrustIdVersion value) { - assert(::video_widevine::RootOfTrustId_RootOfTrustIdVersion_IsValid(value)); - _has_bits_[0] |= 0x00000004u; - version_ = value; -} -inline void RootOfTrustId::set_version(::video_widevine::RootOfTrustId_RootOfTrustIdVersion value) { - _internal_set_version(value); - // @@protoc_insertion_point(field_set:video_widevine.RootOfTrustId.version) -} - -// optional uint32 key_id = 2; -inline bool RootOfTrustId::_internal_has_key_id() const { - bool value = (_has_bits_[0] & 0x00000008u) != 0; - return value; -} -inline bool RootOfTrustId::has_key_id() const { - return _internal_has_key_id(); -} -inline void RootOfTrustId::clear_key_id() { - key_id_ = 0u; - _has_bits_[0] &= ~0x00000008u; -} -inline ::PROTOBUF_NAMESPACE_ID::uint32 RootOfTrustId::_internal_key_id() const { - return key_id_; -} -inline ::PROTOBUF_NAMESPACE_ID::uint32 RootOfTrustId::key_id() const { - // @@protoc_insertion_point(field_get:video_widevine.RootOfTrustId.key_id) - return _internal_key_id(); -} -inline void RootOfTrustId::_internal_set_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { - _has_bits_[0] |= 0x00000008u; - key_id_ = value; -} -inline void RootOfTrustId::set_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { - _internal_set_key_id(value); - // @@protoc_insertion_point(field_set:video_widevine.RootOfTrustId.key_id) -} - -// optional bytes encrypted_unique_id = 3; -inline bool RootOfTrustId::_internal_has_encrypted_unique_id() const { - bool value = (_has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool RootOfTrustId::has_encrypted_unique_id() const { - return _internal_has_encrypted_unique_id(); -} -inline void RootOfTrustId::clear_encrypted_unique_id() { - encrypted_unique_id_.ClearToEmpty(); - _has_bits_[0] &= ~0x00000001u; -} -inline const std::string& RootOfTrustId::encrypted_unique_id() const { - // @@protoc_insertion_point(field_get:video_widevine.RootOfTrustId.encrypted_unique_id) - return _internal_encrypted_unique_id(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void RootOfTrustId::set_encrypted_unique_id(ArgT0&& arg0, ArgT... args) { - _has_bits_[0] |= 0x00000001u; - encrypted_unique_id_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:video_widevine.RootOfTrustId.encrypted_unique_id) -} -inline std::string* RootOfTrustId::mutable_encrypted_unique_id() { - std::string* _s = _internal_mutable_encrypted_unique_id(); - // @@protoc_insertion_point(field_mutable:video_widevine.RootOfTrustId.encrypted_unique_id) - return _s; -} -inline const std::string& RootOfTrustId::_internal_encrypted_unique_id() const { - return encrypted_unique_id_.Get(); -} -inline void RootOfTrustId::_internal_set_encrypted_unique_id(const std::string& value) { - _has_bits_[0] |= 0x00000001u; - encrypted_unique_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* RootOfTrustId::_internal_mutable_encrypted_unique_id() { - _has_bits_[0] |= 0x00000001u; - return encrypted_unique_id_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* RootOfTrustId::release_encrypted_unique_id() { - // @@protoc_insertion_point(field_release:video_widevine.RootOfTrustId.encrypted_unique_id) - if (!_internal_has_encrypted_unique_id()) { - return nullptr; - } - _has_bits_[0] &= ~0x00000001u; - return encrypted_unique_id_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void RootOfTrustId::set_allocated_encrypted_unique_id(std::string* encrypted_unique_id) { - if (encrypted_unique_id != nullptr) { - _has_bits_[0] |= 0x00000001u; - } else { - _has_bits_[0] &= ~0x00000001u; - } - encrypted_unique_id_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), encrypted_unique_id, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:video_widevine.RootOfTrustId.encrypted_unique_id) -} - -// optional bytes unique_id_hash = 4; -inline bool RootOfTrustId::_internal_has_unique_id_hash() const { - bool value = (_has_bits_[0] & 0x00000002u) != 0; - return value; -} -inline bool RootOfTrustId::has_unique_id_hash() const { - return _internal_has_unique_id_hash(); -} -inline void RootOfTrustId::clear_unique_id_hash() { - unique_id_hash_.ClearToEmpty(); - _has_bits_[0] &= ~0x00000002u; -} -inline const std::string& RootOfTrustId::unique_id_hash() const { - // @@protoc_insertion_point(field_get:video_widevine.RootOfTrustId.unique_id_hash) - return _internal_unique_id_hash(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void RootOfTrustId::set_unique_id_hash(ArgT0&& arg0, ArgT... args) { - _has_bits_[0] |= 0x00000002u; - unique_id_hash_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:video_widevine.RootOfTrustId.unique_id_hash) -} -inline std::string* RootOfTrustId::mutable_unique_id_hash() { - std::string* _s = _internal_mutable_unique_id_hash(); - // @@protoc_insertion_point(field_mutable:video_widevine.RootOfTrustId.unique_id_hash) - return _s; -} -inline const std::string& RootOfTrustId::_internal_unique_id_hash() const { - return unique_id_hash_.Get(); -} -inline void RootOfTrustId::_internal_set_unique_id_hash(const std::string& value) { - _has_bits_[0] |= 0x00000002u; - unique_id_hash_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* RootOfTrustId::_internal_mutable_unique_id_hash() { - _has_bits_[0] |= 0x00000002u; - return unique_id_hash_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* RootOfTrustId::release_unique_id_hash() { - // @@protoc_insertion_point(field_release:video_widevine.RootOfTrustId.unique_id_hash) - if (!_internal_has_unique_id_hash()) { - return nullptr; - } - _has_bits_[0] &= ~0x00000002u; - return unique_id_hash_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void RootOfTrustId::set_allocated_unique_id_hash(std::string* unique_id_hash) { - if (unique_id_hash != nullptr) { - _has_bits_[0] |= 0x00000002u; - } else { - _has_bits_[0] &= ~0x00000002u; - } - unique_id_hash_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), unique_id_hash, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:video_widevine.RootOfTrustId.unique_id_hash) -} - -// ------------------------------------------------------------------- - // DrmCertificate_EncryptionKey // optional bytes public_key = 1; @@ -1712,10 +1273,6 @@ inline bool DrmCertificate::_internal_has_rot_id() const { inline bool DrmCertificate::has_rot_id() const { return _internal_has_rot_id(); } -inline void DrmCertificate::clear_rot_id() { - if (rot_id_ != nullptr) rot_id_->Clear(); - _has_bits_[0] &= ~0x00000008u; -} inline const ::video_widevine::RootOfTrustId& DrmCertificate::_internal_rot_id() const { const ::video_widevine::RootOfTrustId* p = rot_id_; return p != nullptr ? *p : reinterpret_cast( @@ -1776,11 +1333,13 @@ inline ::video_widevine::RootOfTrustId* DrmCertificate::mutable_rot_id() { inline void DrmCertificate::set_allocated_rot_id(::video_widevine::RootOfTrustId* rot_id) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete rot_id_; + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(rot_id_); } if (rot_id) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::video_widevine::RootOfTrustId>::GetOwningArena(rot_id); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(rot_id)); if (message_arena != submessage_arena) { rot_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( message_arena, rot_id, submessage_arena); @@ -1888,8 +1447,6 @@ inline void DrmCertificate::set_allocated_encryption_key(::video_widevine::DrmCe #endif // __GNUC__ // ------------------------------------------------------------------- -// ------------------------------------------------------------------- - // @@protoc_insertion_point(namespace_scope) @@ -1897,11 +1454,6 @@ inline void DrmCertificate::set_allocated_encryption_key(::video_widevine::DrmCe PROTOBUF_NAMESPACE_OPEN -template <> struct is_proto_enum< ::video_widevine::RootOfTrustId_RootOfTrustIdVersion> : ::std::true_type {}; -template <> -inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::RootOfTrustId_RootOfTrustIdVersion>() { - return ::video_widevine::RootOfTrustId_RootOfTrustIdVersion_descriptor(); -} template <> struct is_proto_enum< ::video_widevine::DrmCertificate_Type> : ::std::true_type {}; template <> inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DrmCertificate_Type>() { diff --git a/ubuntu/protos/public/dtcp_usage.pb.h b/ubuntu/protos/public/dtcp_usage.pb.h new file mode 100755 index 0000000..68ac45d --- /dev/null +++ b/ubuntu/protos/public/dtcp_usage.pb.h @@ -0,0 +1,1656 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: protos/public/dtcp_usage.proto + +#ifndef GOOGLE_PROTOBUF_INCLUDED_protos_2fpublic_2fdtcp_5fusage_2eproto +#define GOOGLE_PROTOBUF_INCLUDED_protos_2fpublic_2fdtcp_5fusage_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3017000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3017003 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +#include +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_protos_2fpublic_2fdtcp_5fusage_2eproto +PROTOBUF_NAMESPACE_OPEN +namespace internal { +class AnyMetadata; +} // namespace internal +PROTOBUF_NAMESPACE_CLOSE + +// Internal implementation detail -- do not use these members. +struct TableStruct_protos_2fpublic_2fdtcp_5fusage_2eproto { + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; + static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; + static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]; +}; +extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_protos_2fpublic_2fdtcp_5fusage_2eproto; +namespace video_widevine { +class DTCPUsageRules; +struct DTCPUsageRulesDefaultTypeInternal; +extern DTCPUsageRulesDefaultTypeInternal _DTCPUsageRules_default_instance_; +} // namespace video_widevine +PROTOBUF_NAMESPACE_OPEN +template<> ::video_widevine::DTCPUsageRules* Arena::CreateMaybeMessage<::video_widevine::DTCPUsageRules>(Arena*); +PROTOBUF_NAMESPACE_CLOSE +namespace video_widevine { + +enum DTCPUsageRules_RetentionState : int { + DTCPUsageRules_RetentionState_RETENTION_STATE_FOREVER = 0, + DTCPUsageRules_RetentionState_RETENTION_STATE_1_WEEK = 1, + DTCPUsageRules_RetentionState_RETENTION_STATE_2_DAYS = 2, + DTCPUsageRules_RetentionState_RETENTION_STATE_1_DAY = 3, + DTCPUsageRules_RetentionState_RETENTION_STATE_12_HOURS = 4, + DTCPUsageRules_RetentionState_RETENTION_STATE_6_HOURS = 5, + DTCPUsageRules_RetentionState_RETENTION_STATE_3_HOURS = 6, + DTCPUsageRules_RetentionState_RETENTION_STATE_90_MINUTES = 7 +}; +bool DTCPUsageRules_RetentionState_IsValid(int value); +constexpr DTCPUsageRules_RetentionState DTCPUsageRules_RetentionState_RetentionState_MIN = DTCPUsageRules_RetentionState_RETENTION_STATE_FOREVER; +constexpr DTCPUsageRules_RetentionState DTCPUsageRules_RetentionState_RetentionState_MAX = DTCPUsageRules_RetentionState_RETENTION_STATE_90_MINUTES; +constexpr int DTCPUsageRules_RetentionState_RetentionState_ARRAYSIZE = DTCPUsageRules_RetentionState_RetentionState_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_RetentionState_descriptor(); +template +inline const std::string& DTCPUsageRules_RetentionState_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_RetentionState_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_RetentionState_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_RetentionState_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_RetentionState* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_RetentionState_descriptor(), name, value); +} +enum DTCPUsageRules_CopyControlInfo : int { + DTCPUsageRules_CopyControlInfo_COPY_FREE = 0, + DTCPUsageRules_CopyControlInfo_COPY_NO_MORE = 1, + DTCPUsageRules_CopyControlInfo_COPY_ONE = 2, + DTCPUsageRules_CopyControlInfo_COPY_NEVER = 3 +}; +bool DTCPUsageRules_CopyControlInfo_IsValid(int value); +constexpr DTCPUsageRules_CopyControlInfo DTCPUsageRules_CopyControlInfo_CopyControlInfo_MIN = DTCPUsageRules_CopyControlInfo_COPY_FREE; +constexpr DTCPUsageRules_CopyControlInfo DTCPUsageRules_CopyControlInfo_CopyControlInfo_MAX = DTCPUsageRules_CopyControlInfo_COPY_NEVER; +constexpr int DTCPUsageRules_CopyControlInfo_CopyControlInfo_ARRAYSIZE = DTCPUsageRules_CopyControlInfo_CopyControlInfo_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_CopyControlInfo_descriptor(); +template +inline const std::string& DTCPUsageRules_CopyControlInfo_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_CopyControlInfo_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_CopyControlInfo_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_CopyControlInfo_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_CopyControlInfo* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_CopyControlInfo_descriptor(), name, value); +} +enum DTCPUsageRules_AnalogProtectionSystem : int { + DTCPUsageRules_AnalogProtectionSystem_APS_OFF = 0, + DTCPUsageRules_AnalogProtectionSystem_APS_TYPE1 = 1, + DTCPUsageRules_AnalogProtectionSystem_APS_TYPE2 = 2, + DTCPUsageRules_AnalogProtectionSystem_APS_TYPE3 = 3 +}; +bool DTCPUsageRules_AnalogProtectionSystem_IsValid(int value); +constexpr DTCPUsageRules_AnalogProtectionSystem DTCPUsageRules_AnalogProtectionSystem_AnalogProtectionSystem_MIN = DTCPUsageRules_AnalogProtectionSystem_APS_OFF; +constexpr DTCPUsageRules_AnalogProtectionSystem DTCPUsageRules_AnalogProtectionSystem_AnalogProtectionSystem_MAX = DTCPUsageRules_AnalogProtectionSystem_APS_TYPE3; +constexpr int DTCPUsageRules_AnalogProtectionSystem_AnalogProtectionSystem_ARRAYSIZE = DTCPUsageRules_AnalogProtectionSystem_AnalogProtectionSystem_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_AnalogProtectionSystem_descriptor(); +template +inline const std::string& DTCPUsageRules_AnalogProtectionSystem_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_AnalogProtectionSystem_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_AnalogProtectionSystem_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_AnalogProtectionSystem_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_AnalogProtectionSystem* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_AnalogProtectionSystem_descriptor(), name, value); +} +enum DTCPUsageRules_ImageConstraintToken : int { + DTCPUsageRules_ImageConstraintToken_ICT_CONSTRAINED = 0, + DTCPUsageRules_ImageConstraintToken_ICT_HD_ANALOG = 1 +}; +bool DTCPUsageRules_ImageConstraintToken_IsValid(int value); +constexpr DTCPUsageRules_ImageConstraintToken DTCPUsageRules_ImageConstraintToken_ImageConstraintToken_MIN = DTCPUsageRules_ImageConstraintToken_ICT_CONSTRAINED; +constexpr DTCPUsageRules_ImageConstraintToken DTCPUsageRules_ImageConstraintToken_ImageConstraintToken_MAX = DTCPUsageRules_ImageConstraintToken_ICT_HD_ANALOG; +constexpr int DTCPUsageRules_ImageConstraintToken_ImageConstraintToken_ARRAYSIZE = DTCPUsageRules_ImageConstraintToken_ImageConstraintToken_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_ImageConstraintToken_descriptor(); +template +inline const std::string& DTCPUsageRules_ImageConstraintToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_ImageConstraintToken_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_ImageConstraintToken_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_ImageConstraintToken_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_ImageConstraintToken* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_ImageConstraintToken_descriptor(), name, value); +} +enum DTCPUsageRules_AnalogSunsetToken : int { + DTCPUsageRules_AnalogSunsetToken_AST_ASSERTED = 0, + DTCPUsageRules_AnalogSunsetToken_AST_UNASERTED = 1 +}; +bool DTCPUsageRules_AnalogSunsetToken_IsValid(int value); +constexpr DTCPUsageRules_AnalogSunsetToken DTCPUsageRules_AnalogSunsetToken_AnalogSunsetToken_MIN = DTCPUsageRules_AnalogSunsetToken_AST_ASSERTED; +constexpr DTCPUsageRules_AnalogSunsetToken DTCPUsageRules_AnalogSunsetToken_AnalogSunsetToken_MAX = DTCPUsageRules_AnalogSunsetToken_AST_UNASERTED; +constexpr int DTCPUsageRules_AnalogSunsetToken_AnalogSunsetToken_ARRAYSIZE = DTCPUsageRules_AnalogSunsetToken_AnalogSunsetToken_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_AnalogSunsetToken_descriptor(); +template +inline const std::string& DTCPUsageRules_AnalogSunsetToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_AnalogSunsetToken_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_AnalogSunsetToken_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_AnalogSunsetToken_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_AnalogSunsetToken* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_AnalogSunsetToken_descriptor(), name, value); +} +enum DTCPUsageRules_DigitalOnlyToken : int { + DTCPUsageRules_DigitalOnlyToken_DOT_ASSERTED = 0, + DTCPUsageRules_DigitalOnlyToken_DOT_UNASSERTED = 1 +}; +bool DTCPUsageRules_DigitalOnlyToken_IsValid(int value); +constexpr DTCPUsageRules_DigitalOnlyToken DTCPUsageRules_DigitalOnlyToken_DigitalOnlyToken_MIN = DTCPUsageRules_DigitalOnlyToken_DOT_ASSERTED; +constexpr DTCPUsageRules_DigitalOnlyToken DTCPUsageRules_DigitalOnlyToken_DigitalOnlyToken_MAX = DTCPUsageRules_DigitalOnlyToken_DOT_UNASSERTED; +constexpr int DTCPUsageRules_DigitalOnlyToken_DigitalOnlyToken_ARRAYSIZE = DTCPUsageRules_DigitalOnlyToken_DigitalOnlyToken_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_DigitalOnlyToken_descriptor(); +template +inline const std::string& DTCPUsageRules_DigitalOnlyToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_DigitalOnlyToken_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_DigitalOnlyToken_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_DigitalOnlyToken_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_DigitalOnlyToken* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_DigitalOnlyToken_descriptor(), name, value); +} +enum DTCPUsageRules_AudioEnhancedToken : int { + DTCPUsageRules_AudioEnhancedToken_AET_ASSERTED = 0, + DTCPUsageRules_AudioEnhancedToken_AET_UNASSERTED = 1 +}; +bool DTCPUsageRules_AudioEnhancedToken_IsValid(int value); +constexpr DTCPUsageRules_AudioEnhancedToken DTCPUsageRules_AudioEnhancedToken_AudioEnhancedToken_MIN = DTCPUsageRules_AudioEnhancedToken_AET_ASSERTED; +constexpr DTCPUsageRules_AudioEnhancedToken DTCPUsageRules_AudioEnhancedToken_AudioEnhancedToken_MAX = DTCPUsageRules_AudioEnhancedToken_AET_UNASSERTED; +constexpr int DTCPUsageRules_AudioEnhancedToken_AudioEnhancedToken_ARRAYSIZE = DTCPUsageRules_AudioEnhancedToken_AudioEnhancedToken_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_AudioEnhancedToken_descriptor(); +template +inline const std::string& DTCPUsageRules_AudioEnhancedToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_AudioEnhancedToken_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_AudioEnhancedToken_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_AudioEnhancedToken_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_AudioEnhancedToken* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_AudioEnhancedToken_descriptor(), name, value); +} +enum DTCPUsageRules_StandardDigitalOutputToken : int { + DTCPUsageRules_StandardDigitalOutputToken_SDO_UNASSEERTED = 0, + DTCPUsageRules_StandardDigitalOutputToken_SDO_ASSEERTED = 1 +}; +bool DTCPUsageRules_StandardDigitalOutputToken_IsValid(int value); +constexpr DTCPUsageRules_StandardDigitalOutputToken DTCPUsageRules_StandardDigitalOutputToken_StandardDigitalOutputToken_MIN = DTCPUsageRules_StandardDigitalOutputToken_SDO_UNASSEERTED; +constexpr DTCPUsageRules_StandardDigitalOutputToken DTCPUsageRules_StandardDigitalOutputToken_StandardDigitalOutputToken_MAX = DTCPUsageRules_StandardDigitalOutputToken_SDO_ASSEERTED; +constexpr int DTCPUsageRules_StandardDigitalOutputToken_StandardDigitalOutputToken_ARRAYSIZE = DTCPUsageRules_StandardDigitalOutputToken_StandardDigitalOutputToken_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_StandardDigitalOutputToken_descriptor(); +template +inline const std::string& DTCPUsageRules_StandardDigitalOutputToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_StandardDigitalOutputToken_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_StandardDigitalOutputToken_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_StandardDigitalOutputToken_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_StandardDigitalOutputToken* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_StandardDigitalOutputToken_descriptor(), name, value); +} +enum DTCPUsageRules_HighDynamicRangeToken : int { + DTCPUsageRules_HighDynamicRangeToken_HDR_UNASSERTED = 0, + DTCPUsageRules_HighDynamicRangeToken_HDR_ASSERTED = 1 +}; +bool DTCPUsageRules_HighDynamicRangeToken_IsValid(int value); +constexpr DTCPUsageRules_HighDynamicRangeToken DTCPUsageRules_HighDynamicRangeToken_HighDynamicRangeToken_MIN = DTCPUsageRules_HighDynamicRangeToken_HDR_UNASSERTED; +constexpr DTCPUsageRules_HighDynamicRangeToken DTCPUsageRules_HighDynamicRangeToken_HighDynamicRangeToken_MAX = DTCPUsageRules_HighDynamicRangeToken_HDR_ASSERTED; +constexpr int DTCPUsageRules_HighDynamicRangeToken_HighDynamicRangeToken_ARRAYSIZE = DTCPUsageRules_HighDynamicRangeToken_HighDynamicRangeToken_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_HighDynamicRangeToken_descriptor(); +template +inline const std::string& DTCPUsageRules_HighDynamicRangeToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_HighDynamicRangeToken_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_HighDynamicRangeToken_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_HighDynamicRangeToken_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_HighDynamicRangeToken* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_HighDynamicRangeToken_descriptor(), name, value); +} +enum DTCPUsageRules_L2ProtectionOnlyToken : int { + DTCPUsageRules_L2ProtectionOnlyToken_L2_ONLY_UNASSERTED = 0, + DTCPUsageRules_L2ProtectionOnlyToken_L2_ONLY_ASSERTED = 1 +}; +bool DTCPUsageRules_L2ProtectionOnlyToken_IsValid(int value); +constexpr DTCPUsageRules_L2ProtectionOnlyToken DTCPUsageRules_L2ProtectionOnlyToken_L2ProtectionOnlyToken_MIN = DTCPUsageRules_L2ProtectionOnlyToken_L2_ONLY_UNASSERTED; +constexpr DTCPUsageRules_L2ProtectionOnlyToken DTCPUsageRules_L2ProtectionOnlyToken_L2ProtectionOnlyToken_MAX = DTCPUsageRules_L2ProtectionOnlyToken_L2_ONLY_ASSERTED; +constexpr int DTCPUsageRules_L2ProtectionOnlyToken_L2ProtectionOnlyToken_ARRAYSIZE = DTCPUsageRules_L2ProtectionOnlyToken_L2ProtectionOnlyToken_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_L2ProtectionOnlyToken_descriptor(); +template +inline const std::string& DTCPUsageRules_L2ProtectionOnlyToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_L2ProtectionOnlyToken_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_L2ProtectionOnlyToken_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_L2ProtectionOnlyToken_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_L2ProtectionOnlyToken* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_L2ProtectionOnlyToken_descriptor(), name, value); +} +enum DTCPUsageRules_EnhancedImageToken : int { + DTCPUsageRules_EnhancedImageToken_EI_UNASSERTED = 0, + DTCPUsageRules_EnhancedImageToken_EI_ASSERTED = 1 +}; +bool DTCPUsageRules_EnhancedImageToken_IsValid(int value); +constexpr DTCPUsageRules_EnhancedImageToken DTCPUsageRules_EnhancedImageToken_EnhancedImageToken_MIN = DTCPUsageRules_EnhancedImageToken_EI_UNASSERTED; +constexpr DTCPUsageRules_EnhancedImageToken DTCPUsageRules_EnhancedImageToken_EnhancedImageToken_MAX = DTCPUsageRules_EnhancedImageToken_EI_ASSERTED; +constexpr int DTCPUsageRules_EnhancedImageToken_EnhancedImageToken_ARRAYSIZE = DTCPUsageRules_EnhancedImageToken_EnhancedImageToken_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_EnhancedImageToken_descriptor(); +template +inline const std::string& DTCPUsageRules_EnhancedImageToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_EnhancedImageToken_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_EnhancedImageToken_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_EnhancedImageToken_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_EnhancedImageToken* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_EnhancedImageToken_descriptor(), name, value); +} +enum DTCPUsageRules_FurtherBoundCopy : int { + DTCPUsageRules_FurtherBoundCopy_FBC_PROHIBITED = 0, + DTCPUsageRules_FurtherBoundCopy_FBC_PERMITTED = 1 +}; +bool DTCPUsageRules_FurtherBoundCopy_IsValid(int value); +constexpr DTCPUsageRules_FurtherBoundCopy DTCPUsageRules_FurtherBoundCopy_FurtherBoundCopy_MIN = DTCPUsageRules_FurtherBoundCopy_FBC_PROHIBITED; +constexpr DTCPUsageRules_FurtherBoundCopy DTCPUsageRules_FurtherBoundCopy_FurtherBoundCopy_MAX = DTCPUsageRules_FurtherBoundCopy_FBC_PERMITTED; +constexpr int DTCPUsageRules_FurtherBoundCopy_FurtherBoundCopy_ARRAYSIZE = DTCPUsageRules_FurtherBoundCopy_FurtherBoundCopy_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DTCPUsageRules_FurtherBoundCopy_descriptor(); +template +inline const std::string& DTCPUsageRules_FurtherBoundCopy_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DTCPUsageRules_FurtherBoundCopy_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + DTCPUsageRules_FurtherBoundCopy_descriptor(), enum_t_value); +} +inline bool DTCPUsageRules_FurtherBoundCopy_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DTCPUsageRules_FurtherBoundCopy* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + DTCPUsageRules_FurtherBoundCopy_descriptor(), name, value); +} +// =================================================================== + +class DTCPUsageRules final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.DTCPUsageRules) */ { + public: + inline DTCPUsageRules() : DTCPUsageRules(nullptr) {} + ~DTCPUsageRules() override; + explicit constexpr DTCPUsageRules(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + DTCPUsageRules(const DTCPUsageRules& from); + DTCPUsageRules(DTCPUsageRules&& from) noexcept + : DTCPUsageRules() { + *this = ::std::move(from); + } + + inline DTCPUsageRules& operator=(const DTCPUsageRules& from) { + CopyFrom(from); + return *this; + } + inline DTCPUsageRules& operator=(DTCPUsageRules&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const DTCPUsageRules& default_instance() { + return *internal_default_instance(); + } + static inline const DTCPUsageRules* internal_default_instance() { + return reinterpret_cast( + &_DTCPUsageRules_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(DTCPUsageRules& a, DTCPUsageRules& b) { + a.Swap(&b); + } + inline void Swap(DTCPUsageRules* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(DTCPUsageRules* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline DTCPUsageRules* New() const final { + return new DTCPUsageRules(); + } + + DTCPUsageRules* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const DTCPUsageRules& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const DTCPUsageRules& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(DTCPUsageRules* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "video_widevine.DTCPUsageRules"; + } + protected: + explicit DTCPUsageRules(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef DTCPUsageRules_RetentionState RetentionState; + static constexpr RetentionState RETENTION_STATE_FOREVER = + DTCPUsageRules_RetentionState_RETENTION_STATE_FOREVER; + static constexpr RetentionState RETENTION_STATE_1_WEEK = + DTCPUsageRules_RetentionState_RETENTION_STATE_1_WEEK; + static constexpr RetentionState RETENTION_STATE_2_DAYS = + DTCPUsageRules_RetentionState_RETENTION_STATE_2_DAYS; + static constexpr RetentionState RETENTION_STATE_1_DAY = + DTCPUsageRules_RetentionState_RETENTION_STATE_1_DAY; + static constexpr RetentionState RETENTION_STATE_12_HOURS = + DTCPUsageRules_RetentionState_RETENTION_STATE_12_HOURS; + static constexpr RetentionState RETENTION_STATE_6_HOURS = + DTCPUsageRules_RetentionState_RETENTION_STATE_6_HOURS; + static constexpr RetentionState RETENTION_STATE_3_HOURS = + DTCPUsageRules_RetentionState_RETENTION_STATE_3_HOURS; + static constexpr RetentionState RETENTION_STATE_90_MINUTES = + DTCPUsageRules_RetentionState_RETENTION_STATE_90_MINUTES; + static inline bool RetentionState_IsValid(int value) { + return DTCPUsageRules_RetentionState_IsValid(value); + } + static constexpr RetentionState RetentionState_MIN = + DTCPUsageRules_RetentionState_RetentionState_MIN; + static constexpr RetentionState RetentionState_MAX = + DTCPUsageRules_RetentionState_RetentionState_MAX; + static constexpr int RetentionState_ARRAYSIZE = + DTCPUsageRules_RetentionState_RetentionState_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + RetentionState_descriptor() { + return DTCPUsageRules_RetentionState_descriptor(); + } + template + static inline const std::string& RetentionState_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function RetentionState_Name."); + return DTCPUsageRules_RetentionState_Name(enum_t_value); + } + static inline bool RetentionState_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + RetentionState* value) { + return DTCPUsageRules_RetentionState_Parse(name, value); + } + + typedef DTCPUsageRules_CopyControlInfo CopyControlInfo; + static constexpr CopyControlInfo COPY_FREE = + DTCPUsageRules_CopyControlInfo_COPY_FREE; + static constexpr CopyControlInfo COPY_NO_MORE = + DTCPUsageRules_CopyControlInfo_COPY_NO_MORE; + static constexpr CopyControlInfo COPY_ONE = + DTCPUsageRules_CopyControlInfo_COPY_ONE; + static constexpr CopyControlInfo COPY_NEVER = + DTCPUsageRules_CopyControlInfo_COPY_NEVER; + static inline bool CopyControlInfo_IsValid(int value) { + return DTCPUsageRules_CopyControlInfo_IsValid(value); + } + static constexpr CopyControlInfo CopyControlInfo_MIN = + DTCPUsageRules_CopyControlInfo_CopyControlInfo_MIN; + static constexpr CopyControlInfo CopyControlInfo_MAX = + DTCPUsageRules_CopyControlInfo_CopyControlInfo_MAX; + static constexpr int CopyControlInfo_ARRAYSIZE = + DTCPUsageRules_CopyControlInfo_CopyControlInfo_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + CopyControlInfo_descriptor() { + return DTCPUsageRules_CopyControlInfo_descriptor(); + } + template + static inline const std::string& CopyControlInfo_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function CopyControlInfo_Name."); + return DTCPUsageRules_CopyControlInfo_Name(enum_t_value); + } + static inline bool CopyControlInfo_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + CopyControlInfo* value) { + return DTCPUsageRules_CopyControlInfo_Parse(name, value); + } + + typedef DTCPUsageRules_AnalogProtectionSystem AnalogProtectionSystem; + static constexpr AnalogProtectionSystem APS_OFF = + DTCPUsageRules_AnalogProtectionSystem_APS_OFF; + static constexpr AnalogProtectionSystem APS_TYPE1 = + DTCPUsageRules_AnalogProtectionSystem_APS_TYPE1; + static constexpr AnalogProtectionSystem APS_TYPE2 = + DTCPUsageRules_AnalogProtectionSystem_APS_TYPE2; + static constexpr AnalogProtectionSystem APS_TYPE3 = + DTCPUsageRules_AnalogProtectionSystem_APS_TYPE3; + static inline bool AnalogProtectionSystem_IsValid(int value) { + return DTCPUsageRules_AnalogProtectionSystem_IsValid(value); + } + static constexpr AnalogProtectionSystem AnalogProtectionSystem_MIN = + DTCPUsageRules_AnalogProtectionSystem_AnalogProtectionSystem_MIN; + static constexpr AnalogProtectionSystem AnalogProtectionSystem_MAX = + DTCPUsageRules_AnalogProtectionSystem_AnalogProtectionSystem_MAX; + static constexpr int AnalogProtectionSystem_ARRAYSIZE = + DTCPUsageRules_AnalogProtectionSystem_AnalogProtectionSystem_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + AnalogProtectionSystem_descriptor() { + return DTCPUsageRules_AnalogProtectionSystem_descriptor(); + } + template + static inline const std::string& AnalogProtectionSystem_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function AnalogProtectionSystem_Name."); + return DTCPUsageRules_AnalogProtectionSystem_Name(enum_t_value); + } + static inline bool AnalogProtectionSystem_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + AnalogProtectionSystem* value) { + return DTCPUsageRules_AnalogProtectionSystem_Parse(name, value); + } + + typedef DTCPUsageRules_ImageConstraintToken ImageConstraintToken; + static constexpr ImageConstraintToken ICT_CONSTRAINED = + DTCPUsageRules_ImageConstraintToken_ICT_CONSTRAINED; + static constexpr ImageConstraintToken ICT_HD_ANALOG = + DTCPUsageRules_ImageConstraintToken_ICT_HD_ANALOG; + static inline bool ImageConstraintToken_IsValid(int value) { + return DTCPUsageRules_ImageConstraintToken_IsValid(value); + } + static constexpr ImageConstraintToken ImageConstraintToken_MIN = + DTCPUsageRules_ImageConstraintToken_ImageConstraintToken_MIN; + static constexpr ImageConstraintToken ImageConstraintToken_MAX = + DTCPUsageRules_ImageConstraintToken_ImageConstraintToken_MAX; + static constexpr int ImageConstraintToken_ARRAYSIZE = + DTCPUsageRules_ImageConstraintToken_ImageConstraintToken_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + ImageConstraintToken_descriptor() { + return DTCPUsageRules_ImageConstraintToken_descriptor(); + } + template + static inline const std::string& ImageConstraintToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function ImageConstraintToken_Name."); + return DTCPUsageRules_ImageConstraintToken_Name(enum_t_value); + } + static inline bool ImageConstraintToken_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + ImageConstraintToken* value) { + return DTCPUsageRules_ImageConstraintToken_Parse(name, value); + } + + typedef DTCPUsageRules_AnalogSunsetToken AnalogSunsetToken; + static constexpr AnalogSunsetToken AST_ASSERTED = + DTCPUsageRules_AnalogSunsetToken_AST_ASSERTED; + static constexpr AnalogSunsetToken AST_UNASERTED = + DTCPUsageRules_AnalogSunsetToken_AST_UNASERTED; + static inline bool AnalogSunsetToken_IsValid(int value) { + return DTCPUsageRules_AnalogSunsetToken_IsValid(value); + } + static constexpr AnalogSunsetToken AnalogSunsetToken_MIN = + DTCPUsageRules_AnalogSunsetToken_AnalogSunsetToken_MIN; + static constexpr AnalogSunsetToken AnalogSunsetToken_MAX = + DTCPUsageRules_AnalogSunsetToken_AnalogSunsetToken_MAX; + static constexpr int AnalogSunsetToken_ARRAYSIZE = + DTCPUsageRules_AnalogSunsetToken_AnalogSunsetToken_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + AnalogSunsetToken_descriptor() { + return DTCPUsageRules_AnalogSunsetToken_descriptor(); + } + template + static inline const std::string& AnalogSunsetToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function AnalogSunsetToken_Name."); + return DTCPUsageRules_AnalogSunsetToken_Name(enum_t_value); + } + static inline bool AnalogSunsetToken_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + AnalogSunsetToken* value) { + return DTCPUsageRules_AnalogSunsetToken_Parse(name, value); + } + + typedef DTCPUsageRules_DigitalOnlyToken DigitalOnlyToken; + static constexpr DigitalOnlyToken DOT_ASSERTED = + DTCPUsageRules_DigitalOnlyToken_DOT_ASSERTED; + static constexpr DigitalOnlyToken DOT_UNASSERTED = + DTCPUsageRules_DigitalOnlyToken_DOT_UNASSERTED; + static inline bool DigitalOnlyToken_IsValid(int value) { + return DTCPUsageRules_DigitalOnlyToken_IsValid(value); + } + static constexpr DigitalOnlyToken DigitalOnlyToken_MIN = + DTCPUsageRules_DigitalOnlyToken_DigitalOnlyToken_MIN; + static constexpr DigitalOnlyToken DigitalOnlyToken_MAX = + DTCPUsageRules_DigitalOnlyToken_DigitalOnlyToken_MAX; + static constexpr int DigitalOnlyToken_ARRAYSIZE = + DTCPUsageRules_DigitalOnlyToken_DigitalOnlyToken_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + DigitalOnlyToken_descriptor() { + return DTCPUsageRules_DigitalOnlyToken_descriptor(); + } + template + static inline const std::string& DigitalOnlyToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DigitalOnlyToken_Name."); + return DTCPUsageRules_DigitalOnlyToken_Name(enum_t_value); + } + static inline bool DigitalOnlyToken_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + DigitalOnlyToken* value) { + return DTCPUsageRules_DigitalOnlyToken_Parse(name, value); + } + + typedef DTCPUsageRules_AudioEnhancedToken AudioEnhancedToken; + static constexpr AudioEnhancedToken AET_ASSERTED = + DTCPUsageRules_AudioEnhancedToken_AET_ASSERTED; + static constexpr AudioEnhancedToken AET_UNASSERTED = + DTCPUsageRules_AudioEnhancedToken_AET_UNASSERTED; + static inline bool AudioEnhancedToken_IsValid(int value) { + return DTCPUsageRules_AudioEnhancedToken_IsValid(value); + } + static constexpr AudioEnhancedToken AudioEnhancedToken_MIN = + DTCPUsageRules_AudioEnhancedToken_AudioEnhancedToken_MIN; + static constexpr AudioEnhancedToken AudioEnhancedToken_MAX = + DTCPUsageRules_AudioEnhancedToken_AudioEnhancedToken_MAX; + static constexpr int AudioEnhancedToken_ARRAYSIZE = + DTCPUsageRules_AudioEnhancedToken_AudioEnhancedToken_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + AudioEnhancedToken_descriptor() { + return DTCPUsageRules_AudioEnhancedToken_descriptor(); + } + template + static inline const std::string& AudioEnhancedToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function AudioEnhancedToken_Name."); + return DTCPUsageRules_AudioEnhancedToken_Name(enum_t_value); + } + static inline bool AudioEnhancedToken_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + AudioEnhancedToken* value) { + return DTCPUsageRules_AudioEnhancedToken_Parse(name, value); + } + + typedef DTCPUsageRules_StandardDigitalOutputToken StandardDigitalOutputToken; + static constexpr StandardDigitalOutputToken SDO_UNASSEERTED = + DTCPUsageRules_StandardDigitalOutputToken_SDO_UNASSEERTED; + static constexpr StandardDigitalOutputToken SDO_ASSEERTED = + DTCPUsageRules_StandardDigitalOutputToken_SDO_ASSEERTED; + static inline bool StandardDigitalOutputToken_IsValid(int value) { + return DTCPUsageRules_StandardDigitalOutputToken_IsValid(value); + } + static constexpr StandardDigitalOutputToken StandardDigitalOutputToken_MIN = + DTCPUsageRules_StandardDigitalOutputToken_StandardDigitalOutputToken_MIN; + static constexpr StandardDigitalOutputToken StandardDigitalOutputToken_MAX = + DTCPUsageRules_StandardDigitalOutputToken_StandardDigitalOutputToken_MAX; + static constexpr int StandardDigitalOutputToken_ARRAYSIZE = + DTCPUsageRules_StandardDigitalOutputToken_StandardDigitalOutputToken_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + StandardDigitalOutputToken_descriptor() { + return DTCPUsageRules_StandardDigitalOutputToken_descriptor(); + } + template + static inline const std::string& StandardDigitalOutputToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function StandardDigitalOutputToken_Name."); + return DTCPUsageRules_StandardDigitalOutputToken_Name(enum_t_value); + } + static inline bool StandardDigitalOutputToken_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + StandardDigitalOutputToken* value) { + return DTCPUsageRules_StandardDigitalOutputToken_Parse(name, value); + } + + typedef DTCPUsageRules_HighDynamicRangeToken HighDynamicRangeToken; + static constexpr HighDynamicRangeToken HDR_UNASSERTED = + DTCPUsageRules_HighDynamicRangeToken_HDR_UNASSERTED; + static constexpr HighDynamicRangeToken HDR_ASSERTED = + DTCPUsageRules_HighDynamicRangeToken_HDR_ASSERTED; + static inline bool HighDynamicRangeToken_IsValid(int value) { + return DTCPUsageRules_HighDynamicRangeToken_IsValid(value); + } + static constexpr HighDynamicRangeToken HighDynamicRangeToken_MIN = + DTCPUsageRules_HighDynamicRangeToken_HighDynamicRangeToken_MIN; + static constexpr HighDynamicRangeToken HighDynamicRangeToken_MAX = + DTCPUsageRules_HighDynamicRangeToken_HighDynamicRangeToken_MAX; + static constexpr int HighDynamicRangeToken_ARRAYSIZE = + DTCPUsageRules_HighDynamicRangeToken_HighDynamicRangeToken_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + HighDynamicRangeToken_descriptor() { + return DTCPUsageRules_HighDynamicRangeToken_descriptor(); + } + template + static inline const std::string& HighDynamicRangeToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function HighDynamicRangeToken_Name."); + return DTCPUsageRules_HighDynamicRangeToken_Name(enum_t_value); + } + static inline bool HighDynamicRangeToken_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + HighDynamicRangeToken* value) { + return DTCPUsageRules_HighDynamicRangeToken_Parse(name, value); + } + + typedef DTCPUsageRules_L2ProtectionOnlyToken L2ProtectionOnlyToken; + static constexpr L2ProtectionOnlyToken L2_ONLY_UNASSERTED = + DTCPUsageRules_L2ProtectionOnlyToken_L2_ONLY_UNASSERTED; + static constexpr L2ProtectionOnlyToken L2_ONLY_ASSERTED = + DTCPUsageRules_L2ProtectionOnlyToken_L2_ONLY_ASSERTED; + static inline bool L2ProtectionOnlyToken_IsValid(int value) { + return DTCPUsageRules_L2ProtectionOnlyToken_IsValid(value); + } + static constexpr L2ProtectionOnlyToken L2ProtectionOnlyToken_MIN = + DTCPUsageRules_L2ProtectionOnlyToken_L2ProtectionOnlyToken_MIN; + static constexpr L2ProtectionOnlyToken L2ProtectionOnlyToken_MAX = + DTCPUsageRules_L2ProtectionOnlyToken_L2ProtectionOnlyToken_MAX; + static constexpr int L2ProtectionOnlyToken_ARRAYSIZE = + DTCPUsageRules_L2ProtectionOnlyToken_L2ProtectionOnlyToken_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + L2ProtectionOnlyToken_descriptor() { + return DTCPUsageRules_L2ProtectionOnlyToken_descriptor(); + } + template + static inline const std::string& L2ProtectionOnlyToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function L2ProtectionOnlyToken_Name."); + return DTCPUsageRules_L2ProtectionOnlyToken_Name(enum_t_value); + } + static inline bool L2ProtectionOnlyToken_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + L2ProtectionOnlyToken* value) { + return DTCPUsageRules_L2ProtectionOnlyToken_Parse(name, value); + } + + typedef DTCPUsageRules_EnhancedImageToken EnhancedImageToken; + static constexpr EnhancedImageToken EI_UNASSERTED = + DTCPUsageRules_EnhancedImageToken_EI_UNASSERTED; + static constexpr EnhancedImageToken EI_ASSERTED = + DTCPUsageRules_EnhancedImageToken_EI_ASSERTED; + static inline bool EnhancedImageToken_IsValid(int value) { + return DTCPUsageRules_EnhancedImageToken_IsValid(value); + } + static constexpr EnhancedImageToken EnhancedImageToken_MIN = + DTCPUsageRules_EnhancedImageToken_EnhancedImageToken_MIN; + static constexpr EnhancedImageToken EnhancedImageToken_MAX = + DTCPUsageRules_EnhancedImageToken_EnhancedImageToken_MAX; + static constexpr int EnhancedImageToken_ARRAYSIZE = + DTCPUsageRules_EnhancedImageToken_EnhancedImageToken_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + EnhancedImageToken_descriptor() { + return DTCPUsageRules_EnhancedImageToken_descriptor(); + } + template + static inline const std::string& EnhancedImageToken_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function EnhancedImageToken_Name."); + return DTCPUsageRules_EnhancedImageToken_Name(enum_t_value); + } + static inline bool EnhancedImageToken_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + EnhancedImageToken* value) { + return DTCPUsageRules_EnhancedImageToken_Parse(name, value); + } + + typedef DTCPUsageRules_FurtherBoundCopy FurtherBoundCopy; + static constexpr FurtherBoundCopy FBC_PROHIBITED = + DTCPUsageRules_FurtherBoundCopy_FBC_PROHIBITED; + static constexpr FurtherBoundCopy FBC_PERMITTED = + DTCPUsageRules_FurtherBoundCopy_FBC_PERMITTED; + static inline bool FurtherBoundCopy_IsValid(int value) { + return DTCPUsageRules_FurtherBoundCopy_IsValid(value); + } + static constexpr FurtherBoundCopy FurtherBoundCopy_MIN = + DTCPUsageRules_FurtherBoundCopy_FurtherBoundCopy_MIN; + static constexpr FurtherBoundCopy FurtherBoundCopy_MAX = + DTCPUsageRules_FurtherBoundCopy_FurtherBoundCopy_MAX; + static constexpr int FurtherBoundCopy_ARRAYSIZE = + DTCPUsageRules_FurtherBoundCopy_FurtherBoundCopy_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + FurtherBoundCopy_descriptor() { + return DTCPUsageRules_FurtherBoundCopy_descriptor(); + } + template + static inline const std::string& FurtherBoundCopy_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function FurtherBoundCopy_Name."); + return DTCPUsageRules_FurtherBoundCopy_Name(enum_t_value); + } + static inline bool FurtherBoundCopy_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + FurtherBoundCopy* value) { + return DTCPUsageRules_FurtherBoundCopy_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + enum : int { + kCopyControlFieldNumber = 2, + kRequireDtcp2FieldNumber = 1, + kEncryptionPlusFieldNumber = 3, + kRetentionStateFieldNumber = 4, + kAnalogProtectionSystemFieldNumber = 5, + kImageConstraintTokenFieldNumber = 6, + kAnalogSunsetTokenFieldNumber = 7, + kDigitalOnlyTokenFieldNumber = 8, + kAudioEnhancedTokenFieldNumber = 9, + kCopyCountFieldNumber = 10, + kStandardDigitalTokenFieldNumber = 11, + kHighDynamicTokenFieldNumber = 12, + kL2OnlyTokenFieldNumber = 13, + kEnhanedImageTokenFieldNumber = 14, + kRetentionTimeFieldNumber = 15, + kFurtherCopyFieldNumber = 16, + }; + // optional .video_widevine.DTCPUsageRules.CopyControlInfo copy_control = 2; + bool has_copy_control() const; + private: + bool _internal_has_copy_control() const; + public: + void clear_copy_control(); + ::video_widevine::DTCPUsageRules_CopyControlInfo copy_control() const; + void set_copy_control(::video_widevine::DTCPUsageRules_CopyControlInfo value); + private: + ::video_widevine::DTCPUsageRules_CopyControlInfo _internal_copy_control() const; + void _internal_set_copy_control(::video_widevine::DTCPUsageRules_CopyControlInfo value); + public: + + // optional bool require_dtcp2 = 1 [default = false]; + bool has_require_dtcp2() const; + private: + bool _internal_has_require_dtcp2() const; + public: + void clear_require_dtcp2(); + bool require_dtcp2() const; + void set_require_dtcp2(bool value); + private: + bool _internal_require_dtcp2() const; + void _internal_set_require_dtcp2(bool value); + public: + + // optional bool encryption_plus = 3; + bool has_encryption_plus() const; + private: + bool _internal_has_encryption_plus() const; + public: + void clear_encryption_plus(); + bool encryption_plus() const; + void set_encryption_plus(bool value); + private: + bool _internal_encryption_plus() const; + void _internal_set_encryption_plus(bool value); + public: + + // optional .video_widevine.DTCPUsageRules.RetentionState retention_state = 4; + bool has_retention_state() const; + private: + bool _internal_has_retention_state() const; + public: + void clear_retention_state(); + ::video_widevine::DTCPUsageRules_RetentionState retention_state() const; + void set_retention_state(::video_widevine::DTCPUsageRules_RetentionState value); + private: + ::video_widevine::DTCPUsageRules_RetentionState _internal_retention_state() const; + void _internal_set_retention_state(::video_widevine::DTCPUsageRules_RetentionState value); + public: + + // optional .video_widevine.DTCPUsageRules.AnalogProtectionSystem analog_protection_system = 5; + bool has_analog_protection_system() const; + private: + bool _internal_has_analog_protection_system() const; + public: + void clear_analog_protection_system(); + ::video_widevine::DTCPUsageRules_AnalogProtectionSystem analog_protection_system() const; + void set_analog_protection_system(::video_widevine::DTCPUsageRules_AnalogProtectionSystem value); + private: + ::video_widevine::DTCPUsageRules_AnalogProtectionSystem _internal_analog_protection_system() const; + void _internal_set_analog_protection_system(::video_widevine::DTCPUsageRules_AnalogProtectionSystem value); + public: + + // optional .video_widevine.DTCPUsageRules.ImageConstraintToken image_constraint_token = 6; + bool has_image_constraint_token() const; + private: + bool _internal_has_image_constraint_token() const; + public: + void clear_image_constraint_token(); + ::video_widevine::DTCPUsageRules_ImageConstraintToken image_constraint_token() const; + void set_image_constraint_token(::video_widevine::DTCPUsageRules_ImageConstraintToken value); + private: + ::video_widevine::DTCPUsageRules_ImageConstraintToken _internal_image_constraint_token() const; + void _internal_set_image_constraint_token(::video_widevine::DTCPUsageRules_ImageConstraintToken value); + public: + + // optional .video_widevine.DTCPUsageRules.AnalogSunsetToken analog_sunset_token = 7; + bool has_analog_sunset_token() const; + private: + bool _internal_has_analog_sunset_token() const; + public: + void clear_analog_sunset_token(); + ::video_widevine::DTCPUsageRules_AnalogSunsetToken analog_sunset_token() const; + void set_analog_sunset_token(::video_widevine::DTCPUsageRules_AnalogSunsetToken value); + private: + ::video_widevine::DTCPUsageRules_AnalogSunsetToken _internal_analog_sunset_token() const; + void _internal_set_analog_sunset_token(::video_widevine::DTCPUsageRules_AnalogSunsetToken value); + public: + + // optional .video_widevine.DTCPUsageRules.DigitalOnlyToken digital_only_token = 8; + bool has_digital_only_token() const; + private: + bool _internal_has_digital_only_token() const; + public: + void clear_digital_only_token(); + ::video_widevine::DTCPUsageRules_DigitalOnlyToken digital_only_token() const; + void set_digital_only_token(::video_widevine::DTCPUsageRules_DigitalOnlyToken value); + private: + ::video_widevine::DTCPUsageRules_DigitalOnlyToken _internal_digital_only_token() const; + void _internal_set_digital_only_token(::video_widevine::DTCPUsageRules_DigitalOnlyToken value); + public: + + // optional .video_widevine.DTCPUsageRules.AudioEnhancedToken audio_enhanced_token = 9; + bool has_audio_enhanced_token() const; + private: + bool _internal_has_audio_enhanced_token() const; + public: + void clear_audio_enhanced_token(); + ::video_widevine::DTCPUsageRules_AudioEnhancedToken audio_enhanced_token() const; + void set_audio_enhanced_token(::video_widevine::DTCPUsageRules_AudioEnhancedToken value); + private: + ::video_widevine::DTCPUsageRules_AudioEnhancedToken _internal_audio_enhanced_token() const; + void _internal_set_audio_enhanced_token(::video_widevine::DTCPUsageRules_AudioEnhancedToken value); + public: + + // optional uint32 copy_count = 10; + bool has_copy_count() const; + private: + bool _internal_has_copy_count() const; + public: + void clear_copy_count(); + ::PROTOBUF_NAMESPACE_ID::uint32 copy_count() const; + void set_copy_count(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_copy_count() const; + void _internal_set_copy_count(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + + // optional .video_widevine.DTCPUsageRules.StandardDigitalOutputToken standard_digital_token = 11; + bool has_standard_digital_token() const; + private: + bool _internal_has_standard_digital_token() const; + public: + void clear_standard_digital_token(); + ::video_widevine::DTCPUsageRules_StandardDigitalOutputToken standard_digital_token() const; + void set_standard_digital_token(::video_widevine::DTCPUsageRules_StandardDigitalOutputToken value); + private: + ::video_widevine::DTCPUsageRules_StandardDigitalOutputToken _internal_standard_digital_token() const; + void _internal_set_standard_digital_token(::video_widevine::DTCPUsageRules_StandardDigitalOutputToken value); + public: + + // optional .video_widevine.DTCPUsageRules.HighDynamicRangeToken high_dynamic_token = 12; + bool has_high_dynamic_token() const; + private: + bool _internal_has_high_dynamic_token() const; + public: + void clear_high_dynamic_token(); + ::video_widevine::DTCPUsageRules_HighDynamicRangeToken high_dynamic_token() const; + void set_high_dynamic_token(::video_widevine::DTCPUsageRules_HighDynamicRangeToken value); + private: + ::video_widevine::DTCPUsageRules_HighDynamicRangeToken _internal_high_dynamic_token() const; + void _internal_set_high_dynamic_token(::video_widevine::DTCPUsageRules_HighDynamicRangeToken value); + public: + + // optional .video_widevine.DTCPUsageRules.L2ProtectionOnlyToken l2_only_token = 13; + bool has_l2_only_token() const; + private: + bool _internal_has_l2_only_token() const; + public: + void clear_l2_only_token(); + ::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken l2_only_token() const; + void set_l2_only_token(::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken value); + private: + ::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken _internal_l2_only_token() const; + void _internal_set_l2_only_token(::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken value); + public: + + // optional .video_widevine.DTCPUsageRules.EnhancedImageToken enhaned_image_token = 14; + bool has_enhaned_image_token() const; + private: + bool _internal_has_enhaned_image_token() const; + public: + void clear_enhaned_image_token(); + ::video_widevine::DTCPUsageRules_EnhancedImageToken enhaned_image_token() const; + void set_enhaned_image_token(::video_widevine::DTCPUsageRules_EnhancedImageToken value); + private: + ::video_widevine::DTCPUsageRules_EnhancedImageToken _internal_enhaned_image_token() const; + void _internal_set_enhaned_image_token(::video_widevine::DTCPUsageRules_EnhancedImageToken value); + public: + + // optional uint32 retention_time = 15; + bool has_retention_time() const; + private: + bool _internal_has_retention_time() const; + public: + void clear_retention_time(); + ::PROTOBUF_NAMESPACE_ID::uint32 retention_time() const; + void set_retention_time(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_retention_time() const; + void _internal_set_retention_time(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + + // optional .video_widevine.DTCPUsageRules.FurtherBoundCopy further_copy = 16; + bool has_further_copy() const; + private: + bool _internal_has_further_copy() const; + public: + void clear_further_copy(); + ::video_widevine::DTCPUsageRules_FurtherBoundCopy further_copy() const; + void set_further_copy(::video_widevine::DTCPUsageRules_FurtherBoundCopy value); + private: + ::video_widevine::DTCPUsageRules_FurtherBoundCopy _internal_further_copy() const; + void _internal_set_further_copy(::video_widevine::DTCPUsageRules_FurtherBoundCopy value); + public: + + // @@protoc_insertion_point(class_scope:video_widevine.DTCPUsageRules) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + int copy_control_; + bool require_dtcp2_; + bool encryption_plus_; + int retention_state_; + int analog_protection_system_; + int image_constraint_token_; + int analog_sunset_token_; + int digital_only_token_; + int audio_enhanced_token_; + ::PROTOBUF_NAMESPACE_ID::uint32 copy_count_; + int standard_digital_token_; + int high_dynamic_token_; + int l2_only_token_; + int enhaned_image_token_; + ::PROTOBUF_NAMESPACE_ID::uint32 retention_time_; + int further_copy_; + friend struct ::TableStruct_protos_2fpublic_2fdtcp_5fusage_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// DTCPUsageRules + +// optional bool require_dtcp2 = 1 [default = false]; +inline bool DTCPUsageRules::_internal_has_require_dtcp2() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool DTCPUsageRules::has_require_dtcp2() const { + return _internal_has_require_dtcp2(); +} +inline void DTCPUsageRules::clear_require_dtcp2() { + require_dtcp2_ = false; + _has_bits_[0] &= ~0x00000002u; +} +inline bool DTCPUsageRules::_internal_require_dtcp2() const { + return require_dtcp2_; +} +inline bool DTCPUsageRules::require_dtcp2() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.require_dtcp2) + return _internal_require_dtcp2(); +} +inline void DTCPUsageRules::_internal_set_require_dtcp2(bool value) { + _has_bits_[0] |= 0x00000002u; + require_dtcp2_ = value; +} +inline void DTCPUsageRules::set_require_dtcp2(bool value) { + _internal_set_require_dtcp2(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.require_dtcp2) +} + +// optional .video_widevine.DTCPUsageRules.CopyControlInfo copy_control = 2; +inline bool DTCPUsageRules::_internal_has_copy_control() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool DTCPUsageRules::has_copy_control() const { + return _internal_has_copy_control(); +} +inline void DTCPUsageRules::clear_copy_control() { + copy_control_ = 0; + _has_bits_[0] &= ~0x00000001u; +} +inline ::video_widevine::DTCPUsageRules_CopyControlInfo DTCPUsageRules::_internal_copy_control() const { + return static_cast< ::video_widevine::DTCPUsageRules_CopyControlInfo >(copy_control_); +} +inline ::video_widevine::DTCPUsageRules_CopyControlInfo DTCPUsageRules::copy_control() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.copy_control) + return _internal_copy_control(); +} +inline void DTCPUsageRules::_internal_set_copy_control(::video_widevine::DTCPUsageRules_CopyControlInfo value) { + assert(::video_widevine::DTCPUsageRules_CopyControlInfo_IsValid(value)); + _has_bits_[0] |= 0x00000001u; + copy_control_ = value; +} +inline void DTCPUsageRules::set_copy_control(::video_widevine::DTCPUsageRules_CopyControlInfo value) { + _internal_set_copy_control(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.copy_control) +} + +// optional bool encryption_plus = 3; +inline bool DTCPUsageRules::_internal_has_encryption_plus() const { + bool value = (_has_bits_[0] & 0x00000004u) != 0; + return value; +} +inline bool DTCPUsageRules::has_encryption_plus() const { + return _internal_has_encryption_plus(); +} +inline void DTCPUsageRules::clear_encryption_plus() { + encryption_plus_ = false; + _has_bits_[0] &= ~0x00000004u; +} +inline bool DTCPUsageRules::_internal_encryption_plus() const { + return encryption_plus_; +} +inline bool DTCPUsageRules::encryption_plus() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.encryption_plus) + return _internal_encryption_plus(); +} +inline void DTCPUsageRules::_internal_set_encryption_plus(bool value) { + _has_bits_[0] |= 0x00000004u; + encryption_plus_ = value; +} +inline void DTCPUsageRules::set_encryption_plus(bool value) { + _internal_set_encryption_plus(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.encryption_plus) +} + +// optional .video_widevine.DTCPUsageRules.RetentionState retention_state = 4; +inline bool DTCPUsageRules::_internal_has_retention_state() const { + bool value = (_has_bits_[0] & 0x00000008u) != 0; + return value; +} +inline bool DTCPUsageRules::has_retention_state() const { + return _internal_has_retention_state(); +} +inline void DTCPUsageRules::clear_retention_state() { + retention_state_ = 0; + _has_bits_[0] &= ~0x00000008u; +} +inline ::video_widevine::DTCPUsageRules_RetentionState DTCPUsageRules::_internal_retention_state() const { + return static_cast< ::video_widevine::DTCPUsageRules_RetentionState >(retention_state_); +} +inline ::video_widevine::DTCPUsageRules_RetentionState DTCPUsageRules::retention_state() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.retention_state) + return _internal_retention_state(); +} +inline void DTCPUsageRules::_internal_set_retention_state(::video_widevine::DTCPUsageRules_RetentionState value) { + assert(::video_widevine::DTCPUsageRules_RetentionState_IsValid(value)); + _has_bits_[0] |= 0x00000008u; + retention_state_ = value; +} +inline void DTCPUsageRules::set_retention_state(::video_widevine::DTCPUsageRules_RetentionState value) { + _internal_set_retention_state(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.retention_state) +} + +// optional .video_widevine.DTCPUsageRules.AnalogProtectionSystem analog_protection_system = 5; +inline bool DTCPUsageRules::_internal_has_analog_protection_system() const { + bool value = (_has_bits_[0] & 0x00000010u) != 0; + return value; +} +inline bool DTCPUsageRules::has_analog_protection_system() const { + return _internal_has_analog_protection_system(); +} +inline void DTCPUsageRules::clear_analog_protection_system() { + analog_protection_system_ = 0; + _has_bits_[0] &= ~0x00000010u; +} +inline ::video_widevine::DTCPUsageRules_AnalogProtectionSystem DTCPUsageRules::_internal_analog_protection_system() const { + return static_cast< ::video_widevine::DTCPUsageRules_AnalogProtectionSystem >(analog_protection_system_); +} +inline ::video_widevine::DTCPUsageRules_AnalogProtectionSystem DTCPUsageRules::analog_protection_system() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.analog_protection_system) + return _internal_analog_protection_system(); +} +inline void DTCPUsageRules::_internal_set_analog_protection_system(::video_widevine::DTCPUsageRules_AnalogProtectionSystem value) { + assert(::video_widevine::DTCPUsageRules_AnalogProtectionSystem_IsValid(value)); + _has_bits_[0] |= 0x00000010u; + analog_protection_system_ = value; +} +inline void DTCPUsageRules::set_analog_protection_system(::video_widevine::DTCPUsageRules_AnalogProtectionSystem value) { + _internal_set_analog_protection_system(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.analog_protection_system) +} + +// optional .video_widevine.DTCPUsageRules.ImageConstraintToken image_constraint_token = 6; +inline bool DTCPUsageRules::_internal_has_image_constraint_token() const { + bool value = (_has_bits_[0] & 0x00000020u) != 0; + return value; +} +inline bool DTCPUsageRules::has_image_constraint_token() const { + return _internal_has_image_constraint_token(); +} +inline void DTCPUsageRules::clear_image_constraint_token() { + image_constraint_token_ = 0; + _has_bits_[0] &= ~0x00000020u; +} +inline ::video_widevine::DTCPUsageRules_ImageConstraintToken DTCPUsageRules::_internal_image_constraint_token() const { + return static_cast< ::video_widevine::DTCPUsageRules_ImageConstraintToken >(image_constraint_token_); +} +inline ::video_widevine::DTCPUsageRules_ImageConstraintToken DTCPUsageRules::image_constraint_token() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.image_constraint_token) + return _internal_image_constraint_token(); +} +inline void DTCPUsageRules::_internal_set_image_constraint_token(::video_widevine::DTCPUsageRules_ImageConstraintToken value) { + assert(::video_widevine::DTCPUsageRules_ImageConstraintToken_IsValid(value)); + _has_bits_[0] |= 0x00000020u; + image_constraint_token_ = value; +} +inline void DTCPUsageRules::set_image_constraint_token(::video_widevine::DTCPUsageRules_ImageConstraintToken value) { + _internal_set_image_constraint_token(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.image_constraint_token) +} + +// optional .video_widevine.DTCPUsageRules.AnalogSunsetToken analog_sunset_token = 7; +inline bool DTCPUsageRules::_internal_has_analog_sunset_token() const { + bool value = (_has_bits_[0] & 0x00000040u) != 0; + return value; +} +inline bool DTCPUsageRules::has_analog_sunset_token() const { + return _internal_has_analog_sunset_token(); +} +inline void DTCPUsageRules::clear_analog_sunset_token() { + analog_sunset_token_ = 0; + _has_bits_[0] &= ~0x00000040u; +} +inline ::video_widevine::DTCPUsageRules_AnalogSunsetToken DTCPUsageRules::_internal_analog_sunset_token() const { + return static_cast< ::video_widevine::DTCPUsageRules_AnalogSunsetToken >(analog_sunset_token_); +} +inline ::video_widevine::DTCPUsageRules_AnalogSunsetToken DTCPUsageRules::analog_sunset_token() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.analog_sunset_token) + return _internal_analog_sunset_token(); +} +inline void DTCPUsageRules::_internal_set_analog_sunset_token(::video_widevine::DTCPUsageRules_AnalogSunsetToken value) { + assert(::video_widevine::DTCPUsageRules_AnalogSunsetToken_IsValid(value)); + _has_bits_[0] |= 0x00000040u; + analog_sunset_token_ = value; +} +inline void DTCPUsageRules::set_analog_sunset_token(::video_widevine::DTCPUsageRules_AnalogSunsetToken value) { + _internal_set_analog_sunset_token(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.analog_sunset_token) +} + +// optional .video_widevine.DTCPUsageRules.DigitalOnlyToken digital_only_token = 8; +inline bool DTCPUsageRules::_internal_has_digital_only_token() const { + bool value = (_has_bits_[0] & 0x00000080u) != 0; + return value; +} +inline bool DTCPUsageRules::has_digital_only_token() const { + return _internal_has_digital_only_token(); +} +inline void DTCPUsageRules::clear_digital_only_token() { + digital_only_token_ = 0; + _has_bits_[0] &= ~0x00000080u; +} +inline ::video_widevine::DTCPUsageRules_DigitalOnlyToken DTCPUsageRules::_internal_digital_only_token() const { + return static_cast< ::video_widevine::DTCPUsageRules_DigitalOnlyToken >(digital_only_token_); +} +inline ::video_widevine::DTCPUsageRules_DigitalOnlyToken DTCPUsageRules::digital_only_token() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.digital_only_token) + return _internal_digital_only_token(); +} +inline void DTCPUsageRules::_internal_set_digital_only_token(::video_widevine::DTCPUsageRules_DigitalOnlyToken value) { + assert(::video_widevine::DTCPUsageRules_DigitalOnlyToken_IsValid(value)); + _has_bits_[0] |= 0x00000080u; + digital_only_token_ = value; +} +inline void DTCPUsageRules::set_digital_only_token(::video_widevine::DTCPUsageRules_DigitalOnlyToken value) { + _internal_set_digital_only_token(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.digital_only_token) +} + +// optional .video_widevine.DTCPUsageRules.AudioEnhancedToken audio_enhanced_token = 9; +inline bool DTCPUsageRules::_internal_has_audio_enhanced_token() const { + bool value = (_has_bits_[0] & 0x00000100u) != 0; + return value; +} +inline bool DTCPUsageRules::has_audio_enhanced_token() const { + return _internal_has_audio_enhanced_token(); +} +inline void DTCPUsageRules::clear_audio_enhanced_token() { + audio_enhanced_token_ = 0; + _has_bits_[0] &= ~0x00000100u; +} +inline ::video_widevine::DTCPUsageRules_AudioEnhancedToken DTCPUsageRules::_internal_audio_enhanced_token() const { + return static_cast< ::video_widevine::DTCPUsageRules_AudioEnhancedToken >(audio_enhanced_token_); +} +inline ::video_widevine::DTCPUsageRules_AudioEnhancedToken DTCPUsageRules::audio_enhanced_token() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.audio_enhanced_token) + return _internal_audio_enhanced_token(); +} +inline void DTCPUsageRules::_internal_set_audio_enhanced_token(::video_widevine::DTCPUsageRules_AudioEnhancedToken value) { + assert(::video_widevine::DTCPUsageRules_AudioEnhancedToken_IsValid(value)); + _has_bits_[0] |= 0x00000100u; + audio_enhanced_token_ = value; +} +inline void DTCPUsageRules::set_audio_enhanced_token(::video_widevine::DTCPUsageRules_AudioEnhancedToken value) { + _internal_set_audio_enhanced_token(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.audio_enhanced_token) +} + +// optional uint32 copy_count = 10; +inline bool DTCPUsageRules::_internal_has_copy_count() const { + bool value = (_has_bits_[0] & 0x00000200u) != 0; + return value; +} +inline bool DTCPUsageRules::has_copy_count() const { + return _internal_has_copy_count(); +} +inline void DTCPUsageRules::clear_copy_count() { + copy_count_ = 0u; + _has_bits_[0] &= ~0x00000200u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 DTCPUsageRules::_internal_copy_count() const { + return copy_count_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 DTCPUsageRules::copy_count() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.copy_count) + return _internal_copy_count(); +} +inline void DTCPUsageRules::_internal_set_copy_count(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00000200u; + copy_count_ = value; +} +inline void DTCPUsageRules::set_copy_count(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_copy_count(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.copy_count) +} + +// optional .video_widevine.DTCPUsageRules.StandardDigitalOutputToken standard_digital_token = 11; +inline bool DTCPUsageRules::_internal_has_standard_digital_token() const { + bool value = (_has_bits_[0] & 0x00000400u) != 0; + return value; +} +inline bool DTCPUsageRules::has_standard_digital_token() const { + return _internal_has_standard_digital_token(); +} +inline void DTCPUsageRules::clear_standard_digital_token() { + standard_digital_token_ = 0; + _has_bits_[0] &= ~0x00000400u; +} +inline ::video_widevine::DTCPUsageRules_StandardDigitalOutputToken DTCPUsageRules::_internal_standard_digital_token() const { + return static_cast< ::video_widevine::DTCPUsageRules_StandardDigitalOutputToken >(standard_digital_token_); +} +inline ::video_widevine::DTCPUsageRules_StandardDigitalOutputToken DTCPUsageRules::standard_digital_token() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.standard_digital_token) + return _internal_standard_digital_token(); +} +inline void DTCPUsageRules::_internal_set_standard_digital_token(::video_widevine::DTCPUsageRules_StandardDigitalOutputToken value) { + assert(::video_widevine::DTCPUsageRules_StandardDigitalOutputToken_IsValid(value)); + _has_bits_[0] |= 0x00000400u; + standard_digital_token_ = value; +} +inline void DTCPUsageRules::set_standard_digital_token(::video_widevine::DTCPUsageRules_StandardDigitalOutputToken value) { + _internal_set_standard_digital_token(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.standard_digital_token) +} + +// optional .video_widevine.DTCPUsageRules.HighDynamicRangeToken high_dynamic_token = 12; +inline bool DTCPUsageRules::_internal_has_high_dynamic_token() const { + bool value = (_has_bits_[0] & 0x00000800u) != 0; + return value; +} +inline bool DTCPUsageRules::has_high_dynamic_token() const { + return _internal_has_high_dynamic_token(); +} +inline void DTCPUsageRules::clear_high_dynamic_token() { + high_dynamic_token_ = 0; + _has_bits_[0] &= ~0x00000800u; +} +inline ::video_widevine::DTCPUsageRules_HighDynamicRangeToken DTCPUsageRules::_internal_high_dynamic_token() const { + return static_cast< ::video_widevine::DTCPUsageRules_HighDynamicRangeToken >(high_dynamic_token_); +} +inline ::video_widevine::DTCPUsageRules_HighDynamicRangeToken DTCPUsageRules::high_dynamic_token() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.high_dynamic_token) + return _internal_high_dynamic_token(); +} +inline void DTCPUsageRules::_internal_set_high_dynamic_token(::video_widevine::DTCPUsageRules_HighDynamicRangeToken value) { + assert(::video_widevine::DTCPUsageRules_HighDynamicRangeToken_IsValid(value)); + _has_bits_[0] |= 0x00000800u; + high_dynamic_token_ = value; +} +inline void DTCPUsageRules::set_high_dynamic_token(::video_widevine::DTCPUsageRules_HighDynamicRangeToken value) { + _internal_set_high_dynamic_token(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.high_dynamic_token) +} + +// optional .video_widevine.DTCPUsageRules.L2ProtectionOnlyToken l2_only_token = 13; +inline bool DTCPUsageRules::_internal_has_l2_only_token() const { + bool value = (_has_bits_[0] & 0x00001000u) != 0; + return value; +} +inline bool DTCPUsageRules::has_l2_only_token() const { + return _internal_has_l2_only_token(); +} +inline void DTCPUsageRules::clear_l2_only_token() { + l2_only_token_ = 0; + _has_bits_[0] &= ~0x00001000u; +} +inline ::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken DTCPUsageRules::_internal_l2_only_token() const { + return static_cast< ::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken >(l2_only_token_); +} +inline ::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken DTCPUsageRules::l2_only_token() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.l2_only_token) + return _internal_l2_only_token(); +} +inline void DTCPUsageRules::_internal_set_l2_only_token(::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken value) { + assert(::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken_IsValid(value)); + _has_bits_[0] |= 0x00001000u; + l2_only_token_ = value; +} +inline void DTCPUsageRules::set_l2_only_token(::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken value) { + _internal_set_l2_only_token(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.l2_only_token) +} + +// optional .video_widevine.DTCPUsageRules.EnhancedImageToken enhaned_image_token = 14; +inline bool DTCPUsageRules::_internal_has_enhaned_image_token() const { + bool value = (_has_bits_[0] & 0x00002000u) != 0; + return value; +} +inline bool DTCPUsageRules::has_enhaned_image_token() const { + return _internal_has_enhaned_image_token(); +} +inline void DTCPUsageRules::clear_enhaned_image_token() { + enhaned_image_token_ = 0; + _has_bits_[0] &= ~0x00002000u; +} +inline ::video_widevine::DTCPUsageRules_EnhancedImageToken DTCPUsageRules::_internal_enhaned_image_token() const { + return static_cast< ::video_widevine::DTCPUsageRules_EnhancedImageToken >(enhaned_image_token_); +} +inline ::video_widevine::DTCPUsageRules_EnhancedImageToken DTCPUsageRules::enhaned_image_token() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.enhaned_image_token) + return _internal_enhaned_image_token(); +} +inline void DTCPUsageRules::_internal_set_enhaned_image_token(::video_widevine::DTCPUsageRules_EnhancedImageToken value) { + assert(::video_widevine::DTCPUsageRules_EnhancedImageToken_IsValid(value)); + _has_bits_[0] |= 0x00002000u; + enhaned_image_token_ = value; +} +inline void DTCPUsageRules::set_enhaned_image_token(::video_widevine::DTCPUsageRules_EnhancedImageToken value) { + _internal_set_enhaned_image_token(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.enhaned_image_token) +} + +// optional uint32 retention_time = 15; +inline bool DTCPUsageRules::_internal_has_retention_time() const { + bool value = (_has_bits_[0] & 0x00004000u) != 0; + return value; +} +inline bool DTCPUsageRules::has_retention_time() const { + return _internal_has_retention_time(); +} +inline void DTCPUsageRules::clear_retention_time() { + retention_time_ = 0u; + _has_bits_[0] &= ~0x00004000u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 DTCPUsageRules::_internal_retention_time() const { + return retention_time_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 DTCPUsageRules::retention_time() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.retention_time) + return _internal_retention_time(); +} +inline void DTCPUsageRules::_internal_set_retention_time(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00004000u; + retention_time_ = value; +} +inline void DTCPUsageRules::set_retention_time(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_retention_time(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.retention_time) +} + +// optional .video_widevine.DTCPUsageRules.FurtherBoundCopy further_copy = 16; +inline bool DTCPUsageRules::_internal_has_further_copy() const { + bool value = (_has_bits_[0] & 0x00008000u) != 0; + return value; +} +inline bool DTCPUsageRules::has_further_copy() const { + return _internal_has_further_copy(); +} +inline void DTCPUsageRules::clear_further_copy() { + further_copy_ = 0; + _has_bits_[0] &= ~0x00008000u; +} +inline ::video_widevine::DTCPUsageRules_FurtherBoundCopy DTCPUsageRules::_internal_further_copy() const { + return static_cast< ::video_widevine::DTCPUsageRules_FurtherBoundCopy >(further_copy_); +} +inline ::video_widevine::DTCPUsageRules_FurtherBoundCopy DTCPUsageRules::further_copy() const { + // @@protoc_insertion_point(field_get:video_widevine.DTCPUsageRules.further_copy) + return _internal_further_copy(); +} +inline void DTCPUsageRules::_internal_set_further_copy(::video_widevine::DTCPUsageRules_FurtherBoundCopy value) { + assert(::video_widevine::DTCPUsageRules_FurtherBoundCopy_IsValid(value)); + _has_bits_[0] |= 0x00008000u; + further_copy_ = value; +} +inline void DTCPUsageRules::set_further_copy(::video_widevine::DTCPUsageRules_FurtherBoundCopy value) { + _internal_set_further_copy(value); + // @@protoc_insertion_point(field_set:video_widevine.DTCPUsageRules.further_copy) +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ + +// @@protoc_insertion_point(namespace_scope) + +} // namespace video_widevine + +PROTOBUF_NAMESPACE_OPEN + +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_RetentionState> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_RetentionState>() { + return ::video_widevine::DTCPUsageRules_RetentionState_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_CopyControlInfo> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_CopyControlInfo>() { + return ::video_widevine::DTCPUsageRules_CopyControlInfo_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_AnalogProtectionSystem> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_AnalogProtectionSystem>() { + return ::video_widevine::DTCPUsageRules_AnalogProtectionSystem_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_ImageConstraintToken> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_ImageConstraintToken>() { + return ::video_widevine::DTCPUsageRules_ImageConstraintToken_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_AnalogSunsetToken> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_AnalogSunsetToken>() { + return ::video_widevine::DTCPUsageRules_AnalogSunsetToken_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_DigitalOnlyToken> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_DigitalOnlyToken>() { + return ::video_widevine::DTCPUsageRules_DigitalOnlyToken_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_AudioEnhancedToken> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_AudioEnhancedToken>() { + return ::video_widevine::DTCPUsageRules_AudioEnhancedToken_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_StandardDigitalOutputToken> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_StandardDigitalOutputToken>() { + return ::video_widevine::DTCPUsageRules_StandardDigitalOutputToken_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_HighDynamicRangeToken> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_HighDynamicRangeToken>() { + return ::video_widevine::DTCPUsageRules_HighDynamicRangeToken_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken>() { + return ::video_widevine::DTCPUsageRules_L2ProtectionOnlyToken_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_EnhancedImageToken> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_EnhancedImageToken>() { + return ::video_widevine::DTCPUsageRules_EnhancedImageToken_descriptor(); +} +template <> struct is_proto_enum< ::video_widevine::DTCPUsageRules_FurtherBoundCopy> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::DTCPUsageRules_FurtherBoundCopy>() { + return ::video_widevine::DTCPUsageRules_FurtherBoundCopy_descriptor(); +} + +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) + +#include +#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_protos_2fpublic_2fdtcp_5fusage_2eproto diff --git a/ubuntu/protos/public/external_license.pb.h b/ubuntu/protos/public/external_license.pb.h index e54b895..017ed53 100755 --- a/ubuntu/protos/public/external_license.pb.h +++ b/ubuntu/protos/public/external_license.pb.h @@ -49,7 +49,7 @@ struct TableStruct_protos_2fpublic_2fexternal_5flicense_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[4] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -63,6 +63,9 @@ extern EncryptedLicenseRequestDefaultTypeInternal _EncryptedLicenseRequest_defau class ExternalLicense; struct ExternalLicenseDefaultTypeInternal; extern ExternalLicenseDefaultTypeInternal _ExternalLicense_default_instance_; +class ExternalLicenseCustomData; +struct ExternalLicenseCustomDataDefaultTypeInternal; +extern ExternalLicenseCustomDataDefaultTypeInternal _ExternalLicenseCustomData_default_instance_; class ExternalLicenseRequest; struct ExternalLicenseRequestDefaultTypeInternal; extern ExternalLicenseRequestDefaultTypeInternal _ExternalLicenseRequest_default_instance_; @@ -70,6 +73,7 @@ extern ExternalLicenseRequestDefaultTypeInternal _ExternalLicenseRequest_default PROTOBUF_NAMESPACE_OPEN template<> ::video_widevine::EncryptedLicenseRequest* Arena::CreateMaybeMessage<::video_widevine::EncryptedLicenseRequest>(Arena*); template<> ::video_widevine::ExternalLicense* Arena::CreateMaybeMessage<::video_widevine::ExternalLicense>(Arena*); +template<> ::video_widevine::ExternalLicenseCustomData* Arena::CreateMaybeMessage<::video_widevine::ExternalLicenseCustomData>(Arena*); template<> ::video_widevine::ExternalLicenseRequest* Arena::CreateMaybeMessage<::video_widevine::ExternalLicenseRequest>(Arena*); PROTOBUF_NAMESPACE_CLOSE namespace video_widevine { @@ -471,6 +475,7 @@ class ExternalLicenseRequest final : // accessors ------------------------------------------------------- enum : int { + kOriginalLicenseFieldNumber = 8, kContentIdFieldNumber = 5, kRequestTypeFieldNumber = 1, kRequestTimeFieldNumber = 6, @@ -479,6 +484,24 @@ class ExternalLicenseRequest final : kClientIdFieldNumber = 3, kEncryptedClientIdFieldNumber = 4, }; + // optional bytes original_license = 8; + bool has_original_license() const; + private: + bool _internal_has_original_license() const; + public: + void clear_original_license(); + const std::string& original_license() const; + template + void set_original_license(ArgT0&& arg0, ArgT... args); + std::string* mutable_original_license(); + PROTOBUF_MUST_USE_RESULT std::string* release_original_license(); + void set_allocated_original_license(std::string* original_license); + private: + const std::string& _internal_original_license() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_original_license(const std::string& value); + std::string* _internal_mutable_original_license(); + public: + // optional .video_widevine.LicenseRequest.ContentIdentification content_id = 5; bool has_content_id() const; private: @@ -618,6 +641,7 @@ class ExternalLicenseRequest final : typedef void DestructorSkippable_; ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr original_license_; ::video_widevine::LicenseRequest_ContentIdentification* content_id_; int request_type_; ::PROTOBUF_NAMESPACE_ID::int64 request_time_; @@ -889,6 +913,177 @@ class ExternalLicense final : int license_type_; friend struct ::TableStruct_protos_2fpublic_2fexternal_5flicense_2eproto; }; +// ------------------------------------------------------------------- + +class ExternalLicenseCustomData final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.ExternalLicenseCustomData) */ { + public: + inline ExternalLicenseCustomData() : ExternalLicenseCustomData(nullptr) {} + ~ExternalLicenseCustomData() override; + explicit constexpr ExternalLicenseCustomData(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ExternalLicenseCustomData(const ExternalLicenseCustomData& from); + ExternalLicenseCustomData(ExternalLicenseCustomData&& from) noexcept + : ExternalLicenseCustomData() { + *this = ::std::move(from); + } + + inline ExternalLicenseCustomData& operator=(const ExternalLicenseCustomData& from) { + CopyFrom(from); + return *this; + } + inline ExternalLicenseCustomData& operator=(ExternalLicenseCustomData&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ExternalLicenseCustomData& default_instance() { + return *internal_default_instance(); + } + static inline const ExternalLicenseCustomData* internal_default_instance() { + return reinterpret_cast( + &_ExternalLicenseCustomData_default_instance_); + } + static constexpr int kIndexInFileMessages = + 3; + + friend void swap(ExternalLicenseCustomData& a, ExternalLicenseCustomData& b) { + a.Swap(&b); + } + inline void Swap(ExternalLicenseCustomData* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ExternalLicenseCustomData* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ExternalLicenseCustomData* New() const final { + return new ExternalLicenseCustomData(); + } + + ExternalLicenseCustomData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ExternalLicenseCustomData& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const ExternalLicenseCustomData& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ExternalLicenseCustomData* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "video_widevine.ExternalLicenseCustomData"; + } + protected: + explicit ExternalLicenseCustomData(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kLicenseIdFieldNumber = 1, + kOriginalPlaybackStartTimeSecondsFieldNumber = 2, + }; + // optional .video_widevine.LicenseIdentification license_id = 1; + bool has_license_id() const; + private: + bool _internal_has_license_id() const; + public: + void clear_license_id(); + const ::video_widevine::LicenseIdentification& license_id() const; + PROTOBUF_MUST_USE_RESULT ::video_widevine::LicenseIdentification* release_license_id(); + ::video_widevine::LicenseIdentification* mutable_license_id(); + void set_allocated_license_id(::video_widevine::LicenseIdentification* license_id); + private: + const ::video_widevine::LicenseIdentification& _internal_license_id() const; + ::video_widevine::LicenseIdentification* _internal_mutable_license_id(); + public: + void unsafe_arena_set_allocated_license_id( + ::video_widevine::LicenseIdentification* license_id); + ::video_widevine::LicenseIdentification* unsafe_arena_release_license_id(); + + // optional int64 original_playback_start_time_seconds = 2; + bool has_original_playback_start_time_seconds() const; + private: + bool _internal_has_original_playback_start_time_seconds() const; + public: + void clear_original_playback_start_time_seconds(); + ::PROTOBUF_NAMESPACE_ID::int64 original_playback_start_time_seconds() const; + void set_original_playback_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + private: + ::PROTOBUF_NAMESPACE_ID::int64 _internal_original_playback_start_time_seconds() const; + void _internal_set_original_playback_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + public: + + // @@protoc_insertion_point(class_scope:video_widevine.ExternalLicenseCustomData) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::video_widevine::LicenseIdentification* license_id_; + ::PROTOBUF_NAMESPACE_ID::int64 original_playback_start_time_seconds_; + friend struct ::TableStruct_protos_2fpublic_2fexternal_5flicense_2eproto; +}; // =================================================================== @@ -1196,7 +1391,7 @@ inline void EncryptedLicenseRequest::set_allocated_encrypted_privacy_key(std::st // optional .video_widevine.ExternalLicenseType request_type = 1; inline bool ExternalLicenseRequest::_internal_has_request_type() const { - bool value = (_has_bits_[0] & 0x00000002u) != 0; + bool value = (_has_bits_[0] & 0x00000004u) != 0; return value; } inline bool ExternalLicenseRequest::has_request_type() const { @@ -1204,7 +1399,7 @@ inline bool ExternalLicenseRequest::has_request_type() const { } inline void ExternalLicenseRequest::clear_request_type() { request_type_ = 0; - _has_bits_[0] &= ~0x00000002u; + _has_bits_[0] &= ~0x00000004u; } inline ::video_widevine::ExternalLicenseType ExternalLicenseRequest::_internal_request_type() const { return static_cast< ::video_widevine::ExternalLicenseType >(request_type_); @@ -1215,7 +1410,7 @@ inline ::video_widevine::ExternalLicenseType ExternalLicenseRequest::request_typ } inline void ExternalLicenseRequest::_internal_set_request_type(::video_widevine::ExternalLicenseType value) { assert(::video_widevine::ExternalLicenseType_IsValid(value)); - _has_bits_[0] |= 0x00000002u; + _has_bits_[0] |= 0x00000004u; request_type_ = value; } inline void ExternalLicenseRequest::set_request_type(::video_widevine::ExternalLicenseType value) { @@ -1513,7 +1708,7 @@ inline ::video_widevine::EncryptedClientIdentification* ExternalLicenseRequest:: // optional .video_widevine.LicenseRequest.ContentIdentification content_id = 5; inline bool ExternalLicenseRequest::_internal_has_content_id() const { - bool value = (_has_bits_[0] & 0x00000001u) != 0; + bool value = (_has_bits_[0] & 0x00000002u) != 0; PROTOBUF_ASSUME(!value || content_id_ != nullptr); return value; } @@ -1536,14 +1731,14 @@ inline void ExternalLicenseRequest::unsafe_arena_set_allocated_content_id( } content_id_ = content_id; if (content_id) { - _has_bits_[0] |= 0x00000001u; + _has_bits_[0] |= 0x00000002u; } else { - _has_bits_[0] &= ~0x00000001u; + _has_bits_[0] &= ~0x00000002u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:video_widevine.ExternalLicenseRequest.content_id) } inline ::video_widevine::LicenseRequest_ContentIdentification* ExternalLicenseRequest::release_content_id() { - _has_bits_[0] &= ~0x00000001u; + _has_bits_[0] &= ~0x00000002u; ::video_widevine::LicenseRequest_ContentIdentification* temp = content_id_; content_id_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE @@ -1559,13 +1754,13 @@ inline ::video_widevine::LicenseRequest_ContentIdentification* ExternalLicenseRe } inline ::video_widevine::LicenseRequest_ContentIdentification* ExternalLicenseRequest::unsafe_arena_release_content_id() { // @@protoc_insertion_point(field_release:video_widevine.ExternalLicenseRequest.content_id) - _has_bits_[0] &= ~0x00000001u; + _has_bits_[0] &= ~0x00000002u; ::video_widevine::LicenseRequest_ContentIdentification* temp = content_id_; content_id_ = nullptr; return temp; } inline ::video_widevine::LicenseRequest_ContentIdentification* ExternalLicenseRequest::_internal_mutable_content_id() { - _has_bits_[0] |= 0x00000001u; + _has_bits_[0] |= 0x00000002u; if (content_id_ == nullptr) { auto* p = CreateMaybeMessage<::video_widevine::LicenseRequest_ContentIdentification>(GetArenaForAllocation()); content_id_ = p; @@ -1591,9 +1786,9 @@ inline void ExternalLicenseRequest::set_allocated_content_id(::video_widevine::L content_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( message_arena, content_id, submessage_arena); } - _has_bits_[0] |= 0x00000001u; + _has_bits_[0] |= 0x00000002u; } else { - _has_bits_[0] &= ~0x00000001u; + _has_bits_[0] &= ~0x00000002u; } content_id_ = content_id; // @@protoc_insertion_point(field_set_allocated:video_widevine.ExternalLicenseRequest.content_id) @@ -1601,7 +1796,7 @@ inline void ExternalLicenseRequest::set_allocated_content_id(::video_widevine::L // optional int64 request_time = 6; inline bool ExternalLicenseRequest::_internal_has_request_time() const { - bool value = (_has_bits_[0] & 0x00000004u) != 0; + bool value = (_has_bits_[0] & 0x00000008u) != 0; return value; } inline bool ExternalLicenseRequest::has_request_time() const { @@ -1609,7 +1804,7 @@ inline bool ExternalLicenseRequest::has_request_time() const { } inline void ExternalLicenseRequest::clear_request_time() { request_time_ = int64_t{0}; - _has_bits_[0] &= ~0x00000004u; + _has_bits_[0] &= ~0x00000008u; } inline ::PROTOBUF_NAMESPACE_ID::int64 ExternalLicenseRequest::_internal_request_time() const { return request_time_; @@ -1619,7 +1814,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int64 ExternalLicenseRequest::request_time() con return _internal_request_time(); } inline void ExternalLicenseRequest::_internal_set_request_time(::PROTOBUF_NAMESPACE_ID::int64 value) { - _has_bits_[0] |= 0x00000004u; + _has_bits_[0] |= 0x00000008u; request_time_ = value; } inline void ExternalLicenseRequest::set_request_time(::PROTOBUF_NAMESPACE_ID::int64 value) { @@ -1627,6 +1822,64 @@ inline void ExternalLicenseRequest::set_request_time(::PROTOBUF_NAMESPACE_ID::in // @@protoc_insertion_point(field_set:video_widevine.ExternalLicenseRequest.request_time) } +// optional bytes original_license = 8; +inline bool ExternalLicenseRequest::_internal_has_original_license() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool ExternalLicenseRequest::has_original_license() const { + return _internal_has_original_license(); +} +inline void ExternalLicenseRequest::clear_original_license() { + original_license_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000001u; +} +inline const std::string& ExternalLicenseRequest::original_license() const { + // @@protoc_insertion_point(field_get:video_widevine.ExternalLicenseRequest.original_license) + return _internal_original_license(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ExternalLicenseRequest::set_original_license(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000001u; + original_license_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:video_widevine.ExternalLicenseRequest.original_license) +} +inline std::string* ExternalLicenseRequest::mutable_original_license() { + std::string* _s = _internal_mutable_original_license(); + // @@protoc_insertion_point(field_mutable:video_widevine.ExternalLicenseRequest.original_license) + return _s; +} +inline const std::string& ExternalLicenseRequest::_internal_original_license() const { + return original_license_.Get(); +} +inline void ExternalLicenseRequest::_internal_set_original_license(const std::string& value) { + _has_bits_[0] |= 0x00000001u; + original_license_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* ExternalLicenseRequest::_internal_mutable_original_license() { + _has_bits_[0] |= 0x00000001u; + return original_license_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* ExternalLicenseRequest::release_original_license() { + // @@protoc_insertion_point(field_release:video_widevine.ExternalLicenseRequest.original_license) + if (!_internal_has_original_license()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000001u; + return original_license_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void ExternalLicenseRequest::set_allocated_original_license(std::string* original_license) { + if (original_license != nullptr) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + original_license_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), original_license, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:video_widevine.ExternalLicenseRequest.original_license) +} + inline bool ExternalLicenseRequest::has_clear_or_encrypted_request() const { return clear_or_encrypted_request_case() != CLEAR_OR_ENCRYPTED_REQUEST_NOT_SET; } @@ -1985,6 +2238,126 @@ inline void ExternalLicense::set_allocated_provider_client_token(std::string* pr // @@protoc_insertion_point(field_set_allocated:video_widevine.ExternalLicense.provider_client_token) } +// ------------------------------------------------------------------- + +// ExternalLicenseCustomData + +// optional .video_widevine.LicenseIdentification license_id = 1; +inline bool ExternalLicenseCustomData::_internal_has_license_id() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || license_id_ != nullptr); + return value; +} +inline bool ExternalLicenseCustomData::has_license_id() const { + return _internal_has_license_id(); +} +inline const ::video_widevine::LicenseIdentification& ExternalLicenseCustomData::_internal_license_id() const { + const ::video_widevine::LicenseIdentification* p = license_id_; + return p != nullptr ? *p : reinterpret_cast( + ::video_widevine::_LicenseIdentification_default_instance_); +} +inline const ::video_widevine::LicenseIdentification& ExternalLicenseCustomData::license_id() const { + // @@protoc_insertion_point(field_get:video_widevine.ExternalLicenseCustomData.license_id) + return _internal_license_id(); +} +inline void ExternalLicenseCustomData::unsafe_arena_set_allocated_license_id( + ::video_widevine::LicenseIdentification* license_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(license_id_); + } + license_id_ = license_id; + if (license_id) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:video_widevine.ExternalLicenseCustomData.license_id) +} +inline ::video_widevine::LicenseIdentification* ExternalLicenseCustomData::release_license_id() { + _has_bits_[0] &= ~0x00000001u; + ::video_widevine::LicenseIdentification* temp = license_id_; + license_id_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::video_widevine::LicenseIdentification* ExternalLicenseCustomData::unsafe_arena_release_license_id() { + // @@protoc_insertion_point(field_release:video_widevine.ExternalLicenseCustomData.license_id) + _has_bits_[0] &= ~0x00000001u; + ::video_widevine::LicenseIdentification* temp = license_id_; + license_id_ = nullptr; + return temp; +} +inline ::video_widevine::LicenseIdentification* ExternalLicenseCustomData::_internal_mutable_license_id() { + _has_bits_[0] |= 0x00000001u; + if (license_id_ == nullptr) { + auto* p = CreateMaybeMessage<::video_widevine::LicenseIdentification>(GetArenaForAllocation()); + license_id_ = p; + } + return license_id_; +} +inline ::video_widevine::LicenseIdentification* ExternalLicenseCustomData::mutable_license_id() { + ::video_widevine::LicenseIdentification* _msg = _internal_mutable_license_id(); + // @@protoc_insertion_point(field_mutable:video_widevine.ExternalLicenseCustomData.license_id) + return _msg; +} +inline void ExternalLicenseCustomData::set_allocated_license_id(::video_widevine::LicenseIdentification* license_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(license_id_); + } + if (license_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(license_id)); + if (message_arena != submessage_arena) { + license_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, license_id, submessage_arena); + } + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + license_id_ = license_id; + // @@protoc_insertion_point(field_set_allocated:video_widevine.ExternalLicenseCustomData.license_id) +} + +// optional int64 original_playback_start_time_seconds = 2; +inline bool ExternalLicenseCustomData::_internal_has_original_playback_start_time_seconds() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool ExternalLicenseCustomData::has_original_playback_start_time_seconds() const { + return _internal_has_original_playback_start_time_seconds(); +} +inline void ExternalLicenseCustomData::clear_original_playback_start_time_seconds() { + original_playback_start_time_seconds_ = int64_t{0}; + _has_bits_[0] &= ~0x00000002u; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 ExternalLicenseCustomData::_internal_original_playback_start_time_seconds() const { + return original_playback_start_time_seconds_; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 ExternalLicenseCustomData::original_playback_start_time_seconds() const { + // @@protoc_insertion_point(field_get:video_widevine.ExternalLicenseCustomData.original_playback_start_time_seconds) + return _internal_original_playback_start_time_seconds(); +} +inline void ExternalLicenseCustomData::_internal_set_original_playback_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _has_bits_[0] |= 0x00000002u; + original_playback_start_time_seconds_ = value; +} +inline void ExternalLicenseCustomData::set_original_playback_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _internal_set_original_playback_start_time_seconds(value); + // @@protoc_insertion_point(field_set:video_widevine.ExternalLicenseCustomData.original_playback_start_time_seconds) +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ @@ -1992,6 +2365,8 @@ inline void ExternalLicense::set_allocated_provider_client_token(std::string* pr // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/ubuntu/protos/public/license_protocol.pb.h b/ubuntu/protos/public/license_protocol.pb.h index efa998c..af806ef 100755 --- a/ubuntu/protos/public/license_protocol.pb.h +++ b/ubuntu/protos/public/license_protocol.pb.h @@ -34,6 +34,7 @@ #include #include "protos/public/client_identification.pb.h" #include "protos/public/drm_certificate.pb.h" +#include "protos/public/dtcp_usage.pb.h" #include "protos/public/hash_algorithm.pb.h" #include "protos/public/remote_attestation.pb.h" // @@protoc_insertion_point(includes) @@ -176,6 +177,30 @@ inline bool LicenseCategorySpec_LicenseCategory_Parse( return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( LicenseCategorySpec_LicenseCategory_descriptor(), name, value); } +enum License_Policy_WatermarkingControl : int { + License_Policy_WatermarkingControl_WATERMARKING_CONTROL_UNSPECIFIED = 0, + License_Policy_WatermarkingControl_WATERMARKING_FORBIDDEN = 1, + License_Policy_WatermarkingControl_WATERMARKING_REQUIRED = 2 +}; +bool License_Policy_WatermarkingControl_IsValid(int value); +constexpr License_Policy_WatermarkingControl License_Policy_WatermarkingControl_WatermarkingControl_MIN = License_Policy_WatermarkingControl_WATERMARKING_CONTROL_UNSPECIFIED; +constexpr License_Policy_WatermarkingControl License_Policy_WatermarkingControl_WatermarkingControl_MAX = License_Policy_WatermarkingControl_WATERMARKING_REQUIRED; +constexpr int License_Policy_WatermarkingControl_WatermarkingControl_ARRAYSIZE = License_Policy_WatermarkingControl_WatermarkingControl_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* License_Policy_WatermarkingControl_descriptor(); +template +inline const std::string& License_Policy_WatermarkingControl_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function License_Policy_WatermarkingControl_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + License_Policy_WatermarkingControl_descriptor(), enum_t_value); +} +inline bool License_Policy_WatermarkingControl_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, License_Policy_WatermarkingControl* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + License_Policy_WatermarkingControl_descriptor(), name, value); +} enum License_KeyContainer_OutputProtection_HDCP : int { License_KeyContainer_OutputProtection_HDCP_HDCP_NONE = 0, License_KeyContainer_OutputProtection_HDCP_HDCP_V1 = 1, @@ -282,11 +307,12 @@ enum License_KeyContainer_KeyType : int { License_KeyContainer_KeyType_OPERATOR_SESSION = 4, License_KeyContainer_KeyType_ENTITLEMENT = 5, License_KeyContainer_KeyType_OEM_CONTENT = 6, - License_KeyContainer_KeyType_PROVIDER_ECM_VERIFIER_PUBLIC_KEY = 7 + License_KeyContainer_KeyType_PROVIDER_ECM_VERIFIER_PUBLIC_KEY = 7, + License_KeyContainer_KeyType_OEM_ENTITLEMENT = 8 }; bool License_KeyContainer_KeyType_IsValid(int value); constexpr License_KeyContainer_KeyType License_KeyContainer_KeyType_KeyType_MIN = License_KeyContainer_KeyType_SIGNING; -constexpr License_KeyContainer_KeyType License_KeyContainer_KeyType_KeyType_MAX = License_KeyContainer_KeyType_PROVIDER_ECM_VERIFIER_PUBLIC_KEY; +constexpr License_KeyContainer_KeyType License_KeyContainer_KeyType_KeyType_MAX = License_KeyContainer_KeyType_OEM_ENTITLEMENT; constexpr int License_KeyContainer_KeyType_KeyType_ARRAYSIZE = License_KeyContainer_KeyType_KeyType_MAX + 1; const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* License_KeyContainer_KeyType_descriptor(); @@ -685,6 +711,8 @@ class LicenseIdentification final : kOriginalRentalDurationSecondsFieldNumber = 7, kOriginalPlaybackDurationSecondsFieldNumber = 8, kOriginalStartTimeSecondsFieldNumber = 9, + kOriginalRenewalRecoveryDurationSecondsFieldNumber = 10, + kOriginalRenewalDelaySecondsFieldNumber = 11, kVersionFieldNumber = 5, kTypeFieldNumber = 4, }; @@ -799,6 +827,32 @@ class LicenseIdentification final : void _internal_set_original_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); public: + // optional int64 original_renewal_recovery_duration_seconds = 10; + bool has_original_renewal_recovery_duration_seconds() const; + private: + bool _internal_has_original_renewal_recovery_duration_seconds() const; + public: + void clear_original_renewal_recovery_duration_seconds(); + ::PROTOBUF_NAMESPACE_ID::int64 original_renewal_recovery_duration_seconds() const; + void set_original_renewal_recovery_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + private: + ::PROTOBUF_NAMESPACE_ID::int64 _internal_original_renewal_recovery_duration_seconds() const; + void _internal_set_original_renewal_recovery_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + public: + + // optional int64 original_renewal_delay_seconds = 11; + bool has_original_renewal_delay_seconds() const; + private: + bool _internal_has_original_renewal_delay_seconds() const; + public: + void clear_original_renewal_delay_seconds(); + ::PROTOBUF_NAMESPACE_ID::int64 original_renewal_delay_seconds() const; + void set_original_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + private: + ::PROTOBUF_NAMESPACE_ID::int64 _internal_original_renewal_delay_seconds() const; + void _internal_set_original_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + public: + // optional int32 version = 5; bool has_version() const; private: @@ -841,6 +895,8 @@ class LicenseIdentification final : ::PROTOBUF_NAMESPACE_ID::int64 original_rental_duration_seconds_; ::PROTOBUF_NAMESPACE_ID::int64 original_playback_duration_seconds_; ::PROTOBUF_NAMESPACE_ID::int64 original_start_time_seconds_; + ::PROTOBUF_NAMESPACE_ID::int64 original_renewal_recovery_duration_seconds_; + ::PROTOBUF_NAMESPACE_ID::int64 original_renewal_delay_seconds_; ::PROTOBUF_NAMESPACE_ID::int32 version_; int type_; friend struct ::TableStruct_protos_2fpublic_2flicense_5fprotocol_2eproto; @@ -1379,10 +1435,43 @@ class License_Policy final : // nested types ---------------------------------------------------- + typedef License_Policy_WatermarkingControl WatermarkingControl; + static constexpr WatermarkingControl WATERMARKING_CONTROL_UNSPECIFIED = + License_Policy_WatermarkingControl_WATERMARKING_CONTROL_UNSPECIFIED; + static constexpr WatermarkingControl WATERMARKING_FORBIDDEN = + License_Policy_WatermarkingControl_WATERMARKING_FORBIDDEN; + static constexpr WatermarkingControl WATERMARKING_REQUIRED = + License_Policy_WatermarkingControl_WATERMARKING_REQUIRED; + static inline bool WatermarkingControl_IsValid(int value) { + return License_Policy_WatermarkingControl_IsValid(value); + } + static constexpr WatermarkingControl WatermarkingControl_MIN = + License_Policy_WatermarkingControl_WatermarkingControl_MIN; + static constexpr WatermarkingControl WatermarkingControl_MAX = + License_Policy_WatermarkingControl_WatermarkingControl_MAX; + static constexpr int WatermarkingControl_ARRAYSIZE = + License_Policy_WatermarkingControl_WatermarkingControl_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + WatermarkingControl_descriptor() { + return License_Policy_WatermarkingControl_descriptor(); + } + template + static inline const std::string& WatermarkingControl_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function WatermarkingControl_Name."); + return License_Policy_WatermarkingControl_Name(enum_t_value); + } + static inline bool WatermarkingControl_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + WatermarkingControl* value) { + return License_Policy_WatermarkingControl_Parse(name, value); + } + // accessors ------------------------------------------------------- enum : int { kRenewalServerUrlFieldNumber = 8, + kDtcp2FieldNumber = 17, kRentalDurationSecondsFieldNumber = 4, kPlaybackDurationSecondsFieldNumber = 5, kLicenseDurationSecondsFieldNumber = 6, @@ -1396,6 +1485,7 @@ class License_Policy final : kRenewalDelaySecondsFieldNumber = 9, kRenewalRetryIntervalSecondsFieldNumber = 10, kPlayStartGracePeriodSecondsFieldNumber = 13, + kWatermarkingControlFieldNumber = 16, kSoftEnforceRentalDurationFieldNumber = 15, }; // optional string renewal_server_url = 8; @@ -1416,6 +1506,24 @@ class License_Policy final : std::string* _internal_mutable_renewal_server_url(); public: + // optional .video_widevine.DTCPUsageRules dtcp2 = 17; + bool has_dtcp2() const; + private: + bool _internal_has_dtcp2() const; + public: + void clear_dtcp2(); + const ::video_widevine::DTCPUsageRules& dtcp2() const; + PROTOBUF_MUST_USE_RESULT ::video_widevine::DTCPUsageRules* release_dtcp2(); + ::video_widevine::DTCPUsageRules* mutable_dtcp2(); + void set_allocated_dtcp2(::video_widevine::DTCPUsageRules* dtcp2); + private: + const ::video_widevine::DTCPUsageRules& _internal_dtcp2() const; + ::video_widevine::DTCPUsageRules* _internal_mutable_dtcp2(); + public: + void unsafe_arena_set_allocated_dtcp2( + ::video_widevine::DTCPUsageRules* dtcp2); + ::video_widevine::DTCPUsageRules* unsafe_arena_release_dtcp2(); + // optional int64 rental_duration_seconds = 4 [default = 0]; bool has_rental_duration_seconds() const; private: @@ -1585,6 +1693,19 @@ class License_Policy final : void _internal_set_play_start_grace_period_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); public: + // optional .video_widevine.License.Policy.WatermarkingControl watermarking_control = 16 [default = WATERMARKING_CONTROL_UNSPECIFIED]; + bool has_watermarking_control() const; + private: + bool _internal_has_watermarking_control() const; + public: + void clear_watermarking_control(); + ::video_widevine::License_Policy_WatermarkingControl watermarking_control() const; + void set_watermarking_control(::video_widevine::License_Policy_WatermarkingControl value); + private: + ::video_widevine::License_Policy_WatermarkingControl _internal_watermarking_control() const; + void _internal_set_watermarking_control(::video_widevine::License_Policy_WatermarkingControl value); + public: + // optional bool soft_enforce_rental_duration = 15 [default = true]; bool has_soft_enforce_rental_duration() const; private: @@ -1608,6 +1729,7 @@ class License_Policy final : ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr renewal_server_url_; + ::video_widevine::DTCPUsageRules* dtcp2_; ::PROTOBUF_NAMESPACE_ID::int64 rental_duration_seconds_; ::PROTOBUF_NAMESPACE_ID::int64 playback_duration_seconds_; ::PROTOBUF_NAMESPACE_ID::int64 license_duration_seconds_; @@ -1621,6 +1743,7 @@ class License_Policy final : ::PROTOBUF_NAMESPACE_ID::int64 renewal_delay_seconds_; ::PROTOBUF_NAMESPACE_ID::int64 renewal_retry_interval_seconds_; ::PROTOBUF_NAMESPACE_ID::int64 play_start_grace_period_seconds_; + int watermarking_control_; bool soft_enforce_rental_duration_; friend struct ::TableStruct_protos_2fpublic_2flicense_5fprotocol_2eproto; }; @@ -2894,6 +3017,8 @@ class License_KeyContainer final : License_KeyContainer_KeyType_OEM_CONTENT; static constexpr KeyType PROVIDER_ECM_VERIFIER_PUBLIC_KEY = License_KeyContainer_KeyType_PROVIDER_ECM_VERIFIER_PUBLIC_KEY; + static constexpr KeyType OEM_ENTITLEMENT = + License_KeyContainer_KeyType_OEM_ENTITLEMENT; static inline bool KeyType_IsValid(int value) { return License_KeyContainer_KeyType_IsValid(value); } @@ -3353,6 +3478,7 @@ class License final : kLicenseStartTimeFieldNumber = 4, kRemoteAttestationVerifiedFieldNumber = 5, kProtectionSchemeFieldNumber = 7, + kProviderKeyIdFieldNumber = 13, kPlatformVerificationStatusFieldNumber = 10, }; // repeated .video_widevine.License.KeyContainer key = 3; @@ -3544,6 +3670,19 @@ class License final : void _internal_set_protection_scheme(::PROTOBUF_NAMESPACE_ID::uint32 value); public: + // optional uint32 provider_key_id = 13; + bool has_provider_key_id() const; + private: + bool _internal_has_provider_key_id() const; + public: + void clear_provider_key_id(); + ::PROTOBUF_NAMESPACE_ID::uint32 provider_key_id() const; + void set_provider_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_provider_key_id() const; + void _internal_set_provider_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + // optional .video_widevine.PlatformVerificationStatus platform_verification_status = 10 [default = PLATFORM_NO_VERIFICATION]; bool has_platform_verification_status() const; private: @@ -3577,6 +3716,7 @@ class License final : ::PROTOBUF_NAMESPACE_ID::int64 license_start_time_; bool remote_attestation_verified_; ::PROTOBUF_NAMESPACE_ID::uint32 protection_scheme_; + ::PROTOBUF_NAMESPACE_ID::uint32 provider_key_id_; int platform_verification_status_; friend struct ::TableStruct_protos_2fpublic_2flicense_5fprotocol_2eproto; }; @@ -6299,7 +6439,7 @@ inline void LicenseIdentification::set_allocated_purchase_id(std::string* purcha // optional .video_widevine.LicenseType type = 4; inline bool LicenseIdentification::_internal_has_type() const { - bool value = (_has_bits_[0] & 0x00000100u) != 0; + bool value = (_has_bits_[0] & 0x00000400u) != 0; return value; } inline bool LicenseIdentification::has_type() const { @@ -6307,7 +6447,7 @@ inline bool LicenseIdentification::has_type() const { } inline void LicenseIdentification::clear_type() { type_ = 1; - _has_bits_[0] &= ~0x00000100u; + _has_bits_[0] &= ~0x00000400u; } inline ::video_widevine::LicenseType LicenseIdentification::_internal_type() const { return static_cast< ::video_widevine::LicenseType >(type_); @@ -6318,7 +6458,7 @@ inline ::video_widevine::LicenseType LicenseIdentification::type() const { } inline void LicenseIdentification::_internal_set_type(::video_widevine::LicenseType value) { assert(::video_widevine::LicenseType_IsValid(value)); - _has_bits_[0] |= 0x00000100u; + _has_bits_[0] |= 0x00000400u; type_ = value; } inline void LicenseIdentification::set_type(::video_widevine::LicenseType value) { @@ -6328,7 +6468,7 @@ inline void LicenseIdentification::set_type(::video_widevine::LicenseType value) // optional int32 version = 5; inline bool LicenseIdentification::_internal_has_version() const { - bool value = (_has_bits_[0] & 0x00000080u) != 0; + bool value = (_has_bits_[0] & 0x00000200u) != 0; return value; } inline bool LicenseIdentification::has_version() const { @@ -6336,7 +6476,7 @@ inline bool LicenseIdentification::has_version() const { } inline void LicenseIdentification::clear_version() { version_ = 0; - _has_bits_[0] &= ~0x00000080u; + _has_bits_[0] &= ~0x00000200u; } inline ::PROTOBUF_NAMESPACE_ID::int32 LicenseIdentification::_internal_version() const { return version_; @@ -6346,7 +6486,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int32 LicenseIdentification::version() const { return _internal_version(); } inline void LicenseIdentification::_internal_set_version(::PROTOBUF_NAMESPACE_ID::int32 value) { - _has_bits_[0] |= 0x00000080u; + _has_bits_[0] |= 0x00000200u; version_ = value; } inline void LicenseIdentification::set_version(::PROTOBUF_NAMESPACE_ID::int32 value) { @@ -6496,6 +6636,62 @@ inline void LicenseIdentification::set_original_start_time_seconds(::PROTOBUF_NA // @@protoc_insertion_point(field_set:video_widevine.LicenseIdentification.original_start_time_seconds) } +// optional int64 original_renewal_recovery_duration_seconds = 10; +inline bool LicenseIdentification::_internal_has_original_renewal_recovery_duration_seconds() const { + bool value = (_has_bits_[0] & 0x00000080u) != 0; + return value; +} +inline bool LicenseIdentification::has_original_renewal_recovery_duration_seconds() const { + return _internal_has_original_renewal_recovery_duration_seconds(); +} +inline void LicenseIdentification::clear_original_renewal_recovery_duration_seconds() { + original_renewal_recovery_duration_seconds_ = int64_t{0}; + _has_bits_[0] &= ~0x00000080u; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 LicenseIdentification::_internal_original_renewal_recovery_duration_seconds() const { + return original_renewal_recovery_duration_seconds_; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 LicenseIdentification::original_renewal_recovery_duration_seconds() const { + // @@protoc_insertion_point(field_get:video_widevine.LicenseIdentification.original_renewal_recovery_duration_seconds) + return _internal_original_renewal_recovery_duration_seconds(); +} +inline void LicenseIdentification::_internal_set_original_renewal_recovery_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _has_bits_[0] |= 0x00000080u; + original_renewal_recovery_duration_seconds_ = value; +} +inline void LicenseIdentification::set_original_renewal_recovery_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _internal_set_original_renewal_recovery_duration_seconds(value); + // @@protoc_insertion_point(field_set:video_widevine.LicenseIdentification.original_renewal_recovery_duration_seconds) +} + +// optional int64 original_renewal_delay_seconds = 11; +inline bool LicenseIdentification::_internal_has_original_renewal_delay_seconds() const { + bool value = (_has_bits_[0] & 0x00000100u) != 0; + return value; +} +inline bool LicenseIdentification::has_original_renewal_delay_seconds() const { + return _internal_has_original_renewal_delay_seconds(); +} +inline void LicenseIdentification::clear_original_renewal_delay_seconds() { + original_renewal_delay_seconds_ = int64_t{0}; + _has_bits_[0] &= ~0x00000100u; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 LicenseIdentification::_internal_original_renewal_delay_seconds() const { + return original_renewal_delay_seconds_; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 LicenseIdentification::original_renewal_delay_seconds() const { + // @@protoc_insertion_point(field_get:video_widevine.LicenseIdentification.original_renewal_delay_seconds) + return _internal_original_renewal_delay_seconds(); +} +inline void LicenseIdentification::_internal_set_original_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _has_bits_[0] |= 0x00000100u; + original_renewal_delay_seconds_ = value; +} +inline void LicenseIdentification::set_original_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _internal_set_original_renewal_delay_seconds(value); + // @@protoc_insertion_point(field_set:video_widevine.LicenseIdentification.original_renewal_delay_seconds) +} + // ------------------------------------------------------------------- // LicenseCategorySpec @@ -6799,7 +6995,7 @@ inline void ProxyInfo::set_allocated_sdk_version(std::string* sdk_version) { // optional bool can_play = 1 [default = false]; inline bool License_Policy::_internal_has_can_play() const { - bool value = (_has_bits_[0] & 0x00000020u) != 0; + bool value = (_has_bits_[0] & 0x00000040u) != 0; return value; } inline bool License_Policy::has_can_play() const { @@ -6807,7 +7003,7 @@ inline bool License_Policy::has_can_play() const { } inline void License_Policy::clear_can_play() { can_play_ = false; - _has_bits_[0] &= ~0x00000020u; + _has_bits_[0] &= ~0x00000040u; } inline bool License_Policy::_internal_can_play() const { return can_play_; @@ -6817,7 +7013,7 @@ inline bool License_Policy::can_play() const { return _internal_can_play(); } inline void License_Policy::_internal_set_can_play(bool value) { - _has_bits_[0] |= 0x00000020u; + _has_bits_[0] |= 0x00000040u; can_play_ = value; } inline void License_Policy::set_can_play(bool value) { @@ -6827,7 +7023,7 @@ inline void License_Policy::set_can_play(bool value) { // optional bool can_persist = 2 [default = false]; inline bool License_Policy::_internal_has_can_persist() const { - bool value = (_has_bits_[0] & 0x00000040u) != 0; + bool value = (_has_bits_[0] & 0x00000080u) != 0; return value; } inline bool License_Policy::has_can_persist() const { @@ -6835,7 +7031,7 @@ inline bool License_Policy::has_can_persist() const { } inline void License_Policy::clear_can_persist() { can_persist_ = false; - _has_bits_[0] &= ~0x00000040u; + _has_bits_[0] &= ~0x00000080u; } inline bool License_Policy::_internal_can_persist() const { return can_persist_; @@ -6845,7 +7041,7 @@ inline bool License_Policy::can_persist() const { return _internal_can_persist(); } inline void License_Policy::_internal_set_can_persist(bool value) { - _has_bits_[0] |= 0x00000040u; + _has_bits_[0] |= 0x00000080u; can_persist_ = value; } inline void License_Policy::set_can_persist(bool value) { @@ -6855,7 +7051,7 @@ inline void License_Policy::set_can_persist(bool value) { // optional bool can_renew = 3 [default = false]; inline bool License_Policy::_internal_has_can_renew() const { - bool value = (_has_bits_[0] & 0x00000080u) != 0; + bool value = (_has_bits_[0] & 0x00000100u) != 0; return value; } inline bool License_Policy::has_can_renew() const { @@ -6863,7 +7059,7 @@ inline bool License_Policy::has_can_renew() const { } inline void License_Policy::clear_can_renew() { can_renew_ = false; - _has_bits_[0] &= ~0x00000080u; + _has_bits_[0] &= ~0x00000100u; } inline bool License_Policy::_internal_can_renew() const { return can_renew_; @@ -6873,7 +7069,7 @@ inline bool License_Policy::can_renew() const { return _internal_can_renew(); } inline void License_Policy::_internal_set_can_renew(bool value) { - _has_bits_[0] |= 0x00000080u; + _has_bits_[0] |= 0x00000100u; can_renew_ = value; } inline void License_Policy::set_can_renew(bool value) { @@ -6883,7 +7079,7 @@ inline void License_Policy::set_can_renew(bool value) { // optional int64 rental_duration_seconds = 4 [default = 0]; inline bool License_Policy::_internal_has_rental_duration_seconds() const { - bool value = (_has_bits_[0] & 0x00000002u) != 0; + bool value = (_has_bits_[0] & 0x00000004u) != 0; return value; } inline bool License_Policy::has_rental_duration_seconds() const { @@ -6891,7 +7087,7 @@ inline bool License_Policy::has_rental_duration_seconds() const { } inline void License_Policy::clear_rental_duration_seconds() { rental_duration_seconds_ = int64_t{0}; - _has_bits_[0] &= ~0x00000002u; + _has_bits_[0] &= ~0x00000004u; } inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::_internal_rental_duration_seconds() const { return rental_duration_seconds_; @@ -6901,7 +7097,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::rental_duration_seconds() return _internal_rental_duration_seconds(); } inline void License_Policy::_internal_set_rental_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { - _has_bits_[0] |= 0x00000002u; + _has_bits_[0] |= 0x00000004u; rental_duration_seconds_ = value; } inline void License_Policy::set_rental_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { @@ -6911,7 +7107,7 @@ inline void License_Policy::set_rental_duration_seconds(::PROTOBUF_NAMESPACE_ID: // optional int64 playback_duration_seconds = 5 [default = 0]; inline bool License_Policy::_internal_has_playback_duration_seconds() const { - bool value = (_has_bits_[0] & 0x00000004u) != 0; + bool value = (_has_bits_[0] & 0x00000008u) != 0; return value; } inline bool License_Policy::has_playback_duration_seconds() const { @@ -6919,7 +7115,7 @@ inline bool License_Policy::has_playback_duration_seconds() const { } inline void License_Policy::clear_playback_duration_seconds() { playback_duration_seconds_ = int64_t{0}; - _has_bits_[0] &= ~0x00000004u; + _has_bits_[0] &= ~0x00000008u; } inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::_internal_playback_duration_seconds() const { return playback_duration_seconds_; @@ -6929,7 +7125,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::playback_duration_seconds( return _internal_playback_duration_seconds(); } inline void License_Policy::_internal_set_playback_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { - _has_bits_[0] |= 0x00000004u; + _has_bits_[0] |= 0x00000008u; playback_duration_seconds_ = value; } inline void License_Policy::set_playback_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { @@ -6939,7 +7135,7 @@ inline void License_Policy::set_playback_duration_seconds(::PROTOBUF_NAMESPACE_I // optional int64 license_duration_seconds = 6 [default = 0]; inline bool License_Policy::_internal_has_license_duration_seconds() const { - bool value = (_has_bits_[0] & 0x00000008u) != 0; + bool value = (_has_bits_[0] & 0x00000010u) != 0; return value; } inline bool License_Policy::has_license_duration_seconds() const { @@ -6947,7 +7143,7 @@ inline bool License_Policy::has_license_duration_seconds() const { } inline void License_Policy::clear_license_duration_seconds() { license_duration_seconds_ = int64_t{0}; - _has_bits_[0] &= ~0x00000008u; + _has_bits_[0] &= ~0x00000010u; } inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::_internal_license_duration_seconds() const { return license_duration_seconds_; @@ -6957,7 +7153,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::license_duration_seconds() return _internal_license_duration_seconds(); } inline void License_Policy::_internal_set_license_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { - _has_bits_[0] |= 0x00000008u; + _has_bits_[0] |= 0x00000010u; license_duration_seconds_ = value; } inline void License_Policy::set_license_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { @@ -6967,7 +7163,7 @@ inline void License_Policy::set_license_duration_seconds(::PROTOBUF_NAMESPACE_ID // optional int64 renewal_recovery_duration_seconds = 7 [default = 0]; inline bool License_Policy::_internal_has_renewal_recovery_duration_seconds() const { - bool value = (_has_bits_[0] & 0x00000010u) != 0; + bool value = (_has_bits_[0] & 0x00000020u) != 0; return value; } inline bool License_Policy::has_renewal_recovery_duration_seconds() const { @@ -6975,7 +7171,7 @@ inline bool License_Policy::has_renewal_recovery_duration_seconds() const { } inline void License_Policy::clear_renewal_recovery_duration_seconds() { renewal_recovery_duration_seconds_ = int64_t{0}; - _has_bits_[0] &= ~0x00000010u; + _has_bits_[0] &= ~0x00000020u; } inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::_internal_renewal_recovery_duration_seconds() const { return renewal_recovery_duration_seconds_; @@ -6985,7 +7181,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::renewal_recovery_duration_ return _internal_renewal_recovery_duration_seconds(); } inline void License_Policy::_internal_set_renewal_recovery_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { - _has_bits_[0] |= 0x00000010u; + _has_bits_[0] |= 0x00000020u; renewal_recovery_duration_seconds_ = value; } inline void License_Policy::set_renewal_recovery_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { @@ -7053,7 +7249,7 @@ inline void License_Policy::set_allocated_renewal_server_url(std::string* renewa // optional int64 renewal_delay_seconds = 9 [default = 0]; inline bool License_Policy::_internal_has_renewal_delay_seconds() const { - bool value = (_has_bits_[0] & 0x00000800u) != 0; + bool value = (_has_bits_[0] & 0x00001000u) != 0; return value; } inline bool License_Policy::has_renewal_delay_seconds() const { @@ -7061,7 +7257,7 @@ inline bool License_Policy::has_renewal_delay_seconds() const { } inline void License_Policy::clear_renewal_delay_seconds() { renewal_delay_seconds_ = int64_t{0}; - _has_bits_[0] &= ~0x00000800u; + _has_bits_[0] &= ~0x00001000u; } inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::_internal_renewal_delay_seconds() const { return renewal_delay_seconds_; @@ -7071,7 +7267,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::renewal_delay_seconds() co return _internal_renewal_delay_seconds(); } inline void License_Policy::_internal_set_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { - _has_bits_[0] |= 0x00000800u; + _has_bits_[0] |= 0x00001000u; renewal_delay_seconds_ = value; } inline void License_Policy::set_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { @@ -7081,7 +7277,7 @@ inline void License_Policy::set_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::i // optional int64 renewal_retry_interval_seconds = 10 [default = 0]; inline bool License_Policy::_internal_has_renewal_retry_interval_seconds() const { - bool value = (_has_bits_[0] & 0x00001000u) != 0; + bool value = (_has_bits_[0] & 0x00002000u) != 0; return value; } inline bool License_Policy::has_renewal_retry_interval_seconds() const { @@ -7089,7 +7285,7 @@ inline bool License_Policy::has_renewal_retry_interval_seconds() const { } inline void License_Policy::clear_renewal_retry_interval_seconds() { renewal_retry_interval_seconds_ = int64_t{0}; - _has_bits_[0] &= ~0x00001000u; + _has_bits_[0] &= ~0x00002000u; } inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::_internal_renewal_retry_interval_seconds() const { return renewal_retry_interval_seconds_; @@ -7099,7 +7295,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::renewal_retry_interval_sec return _internal_renewal_retry_interval_seconds(); } inline void License_Policy::_internal_set_renewal_retry_interval_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { - _has_bits_[0] |= 0x00001000u; + _has_bits_[0] |= 0x00002000u; renewal_retry_interval_seconds_ = value; } inline void License_Policy::set_renewal_retry_interval_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { @@ -7109,7 +7305,7 @@ inline void License_Policy::set_renewal_retry_interval_seconds(::PROTOBUF_NAMESP // optional bool renew_with_usage = 11 [default = false]; inline bool License_Policy::_internal_has_renew_with_usage() const { - bool value = (_has_bits_[0] & 0x00000100u) != 0; + bool value = (_has_bits_[0] & 0x00000200u) != 0; return value; } inline bool License_Policy::has_renew_with_usage() const { @@ -7117,7 +7313,7 @@ inline bool License_Policy::has_renew_with_usage() const { } inline void License_Policy::clear_renew_with_usage() { renew_with_usage_ = false; - _has_bits_[0] &= ~0x00000100u; + _has_bits_[0] &= ~0x00000200u; } inline bool License_Policy::_internal_renew_with_usage() const { return renew_with_usage_; @@ -7127,7 +7323,7 @@ inline bool License_Policy::renew_with_usage() const { return _internal_renew_with_usage(); } inline void License_Policy::_internal_set_renew_with_usage(bool value) { - _has_bits_[0] |= 0x00000100u; + _has_bits_[0] |= 0x00000200u; renew_with_usage_ = value; } inline void License_Policy::set_renew_with_usage(bool value) { @@ -7137,7 +7333,7 @@ inline void License_Policy::set_renew_with_usage(bool value) { // optional bool always_include_client_id = 12 [default = false]; inline bool License_Policy::_internal_has_always_include_client_id() const { - bool value = (_has_bits_[0] & 0x00000200u) != 0; + bool value = (_has_bits_[0] & 0x00000400u) != 0; return value; } inline bool License_Policy::has_always_include_client_id() const { @@ -7145,7 +7341,7 @@ inline bool License_Policy::has_always_include_client_id() const { } inline void License_Policy::clear_always_include_client_id() { always_include_client_id_ = false; - _has_bits_[0] &= ~0x00000200u; + _has_bits_[0] &= ~0x00000400u; } inline bool License_Policy::_internal_always_include_client_id() const { return always_include_client_id_; @@ -7155,7 +7351,7 @@ inline bool License_Policy::always_include_client_id() const { return _internal_always_include_client_id(); } inline void License_Policy::_internal_set_always_include_client_id(bool value) { - _has_bits_[0] |= 0x00000200u; + _has_bits_[0] |= 0x00000400u; always_include_client_id_ = value; } inline void License_Policy::set_always_include_client_id(bool value) { @@ -7165,7 +7361,7 @@ inline void License_Policy::set_always_include_client_id(bool value) { // optional int64 play_start_grace_period_seconds = 13 [default = 0]; inline bool License_Policy::_internal_has_play_start_grace_period_seconds() const { - bool value = (_has_bits_[0] & 0x00002000u) != 0; + bool value = (_has_bits_[0] & 0x00004000u) != 0; return value; } inline bool License_Policy::has_play_start_grace_period_seconds() const { @@ -7173,7 +7369,7 @@ inline bool License_Policy::has_play_start_grace_period_seconds() const { } inline void License_Policy::clear_play_start_grace_period_seconds() { play_start_grace_period_seconds_ = int64_t{0}; - _has_bits_[0] &= ~0x00002000u; + _has_bits_[0] &= ~0x00004000u; } inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::_internal_play_start_grace_period_seconds() const { return play_start_grace_period_seconds_; @@ -7183,7 +7379,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int64 License_Policy::play_start_grace_period_se return _internal_play_start_grace_period_seconds(); } inline void License_Policy::_internal_set_play_start_grace_period_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { - _has_bits_[0] |= 0x00002000u; + _has_bits_[0] |= 0x00004000u; play_start_grace_period_seconds_ = value; } inline void License_Policy::set_play_start_grace_period_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { @@ -7193,7 +7389,7 @@ inline void License_Policy::set_play_start_grace_period_seconds(::PROTOBUF_NAMES // optional bool soft_enforce_playback_duration = 14 [default = false]; inline bool License_Policy::_internal_has_soft_enforce_playback_duration() const { - bool value = (_has_bits_[0] & 0x00000400u) != 0; + bool value = (_has_bits_[0] & 0x00000800u) != 0; return value; } inline bool License_Policy::has_soft_enforce_playback_duration() const { @@ -7201,7 +7397,7 @@ inline bool License_Policy::has_soft_enforce_playback_duration() const { } inline void License_Policy::clear_soft_enforce_playback_duration() { soft_enforce_playback_duration_ = false; - _has_bits_[0] &= ~0x00000400u; + _has_bits_[0] &= ~0x00000800u; } inline bool License_Policy::_internal_soft_enforce_playback_duration() const { return soft_enforce_playback_duration_; @@ -7211,7 +7407,7 @@ inline bool License_Policy::soft_enforce_playback_duration() const { return _internal_soft_enforce_playback_duration(); } inline void License_Policy::_internal_set_soft_enforce_playback_duration(bool value) { - _has_bits_[0] |= 0x00000400u; + _has_bits_[0] |= 0x00000800u; soft_enforce_playback_duration_ = value; } inline void License_Policy::set_soft_enforce_playback_duration(bool value) { @@ -7221,7 +7417,7 @@ inline void License_Policy::set_soft_enforce_playback_duration(bool value) { // optional bool soft_enforce_rental_duration = 15 [default = true]; inline bool License_Policy::_internal_has_soft_enforce_rental_duration() const { - bool value = (_has_bits_[0] & 0x00004000u) != 0; + bool value = (_has_bits_[0] & 0x00010000u) != 0; return value; } inline bool License_Policy::has_soft_enforce_rental_duration() const { @@ -7229,7 +7425,7 @@ inline bool License_Policy::has_soft_enforce_rental_duration() const { } inline void License_Policy::clear_soft_enforce_rental_duration() { soft_enforce_rental_duration_ = true; - _has_bits_[0] &= ~0x00004000u; + _has_bits_[0] &= ~0x00010000u; } inline bool License_Policy::_internal_soft_enforce_rental_duration() const { return soft_enforce_rental_duration_; @@ -7239,7 +7435,7 @@ inline bool License_Policy::soft_enforce_rental_duration() const { return _internal_soft_enforce_rental_duration(); } inline void License_Policy::_internal_set_soft_enforce_rental_duration(bool value) { - _has_bits_[0] |= 0x00004000u; + _has_bits_[0] |= 0x00010000u; soft_enforce_rental_duration_ = value; } inline void License_Policy::set_soft_enforce_rental_duration(bool value) { @@ -7247,6 +7443,123 @@ inline void License_Policy::set_soft_enforce_rental_duration(bool value) { // @@protoc_insertion_point(field_set:video_widevine.License.Policy.soft_enforce_rental_duration) } +// optional .video_widevine.License.Policy.WatermarkingControl watermarking_control = 16 [default = WATERMARKING_CONTROL_UNSPECIFIED]; +inline bool License_Policy::_internal_has_watermarking_control() const { + bool value = (_has_bits_[0] & 0x00008000u) != 0; + return value; +} +inline bool License_Policy::has_watermarking_control() const { + return _internal_has_watermarking_control(); +} +inline void License_Policy::clear_watermarking_control() { + watermarking_control_ = 0; + _has_bits_[0] &= ~0x00008000u; +} +inline ::video_widevine::License_Policy_WatermarkingControl License_Policy::_internal_watermarking_control() const { + return static_cast< ::video_widevine::License_Policy_WatermarkingControl >(watermarking_control_); +} +inline ::video_widevine::License_Policy_WatermarkingControl License_Policy::watermarking_control() const { + // @@protoc_insertion_point(field_get:video_widevine.License.Policy.watermarking_control) + return _internal_watermarking_control(); +} +inline void License_Policy::_internal_set_watermarking_control(::video_widevine::License_Policy_WatermarkingControl value) { + assert(::video_widevine::License_Policy_WatermarkingControl_IsValid(value)); + _has_bits_[0] |= 0x00008000u; + watermarking_control_ = value; +} +inline void License_Policy::set_watermarking_control(::video_widevine::License_Policy_WatermarkingControl value) { + _internal_set_watermarking_control(value); + // @@protoc_insertion_point(field_set:video_widevine.License.Policy.watermarking_control) +} + +// optional .video_widevine.DTCPUsageRules dtcp2 = 17; +inline bool License_Policy::_internal_has_dtcp2() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || dtcp2_ != nullptr); + return value; +} +inline bool License_Policy::has_dtcp2() const { + return _internal_has_dtcp2(); +} +inline const ::video_widevine::DTCPUsageRules& License_Policy::_internal_dtcp2() const { + const ::video_widevine::DTCPUsageRules* p = dtcp2_; + return p != nullptr ? *p : reinterpret_cast( + ::video_widevine::_DTCPUsageRules_default_instance_); +} +inline const ::video_widevine::DTCPUsageRules& License_Policy::dtcp2() const { + // @@protoc_insertion_point(field_get:video_widevine.License.Policy.dtcp2) + return _internal_dtcp2(); +} +inline void License_Policy::unsafe_arena_set_allocated_dtcp2( + ::video_widevine::DTCPUsageRules* dtcp2) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(dtcp2_); + } + dtcp2_ = dtcp2; + if (dtcp2) { + _has_bits_[0] |= 0x00000002u; + } else { + _has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:video_widevine.License.Policy.dtcp2) +} +inline ::video_widevine::DTCPUsageRules* License_Policy::release_dtcp2() { + _has_bits_[0] &= ~0x00000002u; + ::video_widevine::DTCPUsageRules* temp = dtcp2_; + dtcp2_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::video_widevine::DTCPUsageRules* License_Policy::unsafe_arena_release_dtcp2() { + // @@protoc_insertion_point(field_release:video_widevine.License.Policy.dtcp2) + _has_bits_[0] &= ~0x00000002u; + ::video_widevine::DTCPUsageRules* temp = dtcp2_; + dtcp2_ = nullptr; + return temp; +} +inline ::video_widevine::DTCPUsageRules* License_Policy::_internal_mutable_dtcp2() { + _has_bits_[0] |= 0x00000002u; + if (dtcp2_ == nullptr) { + auto* p = CreateMaybeMessage<::video_widevine::DTCPUsageRules>(GetArenaForAllocation()); + dtcp2_ = p; + } + return dtcp2_; +} +inline ::video_widevine::DTCPUsageRules* License_Policy::mutable_dtcp2() { + ::video_widevine::DTCPUsageRules* _msg = _internal_mutable_dtcp2(); + // @@protoc_insertion_point(field_mutable:video_widevine.License.Policy.dtcp2) + return _msg; +} +inline void License_Policy::set_allocated_dtcp2(::video_widevine::DTCPUsageRules* dtcp2) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(dtcp2_); + } + if (dtcp2) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(dtcp2)); + if (message_arena != submessage_arena) { + dtcp2 = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, dtcp2, submessage_arena); + } + _has_bits_[0] |= 0x00000002u; + } else { + _has_bits_[0] &= ~0x00000002u; + } + dtcp2_ = dtcp2; + // @@protoc_insertion_point(field_set_allocated:video_widevine.License.Policy.dtcp2) +} + // ------------------------------------------------------------------- // License_KeyContainer_KeyControl @@ -9310,7 +9623,7 @@ inline void License::set_allocated_srm_update(std::string* srm_update) { // optional .video_widevine.PlatformVerificationStatus platform_verification_status = 10 [default = PLATFORM_NO_VERIFICATION]; inline bool License::_internal_has_platform_verification_status() const { - bool value = (_has_bits_[0] & 0x00000200u) != 0; + bool value = (_has_bits_[0] & 0x00000400u) != 0; return value; } inline bool License::has_platform_verification_status() const { @@ -9318,7 +9631,7 @@ inline bool License::has_platform_verification_status() const { } inline void License::clear_platform_verification_status() { platform_verification_status_ = 4; - _has_bits_[0] &= ~0x00000200u; + _has_bits_[0] &= ~0x00000400u; } inline ::video_widevine::PlatformVerificationStatus License::_internal_platform_verification_status() const { return static_cast< ::video_widevine::PlatformVerificationStatus >(platform_verification_status_); @@ -9329,7 +9642,7 @@ inline ::video_widevine::PlatformVerificationStatus License::platform_verificati } inline void License::_internal_set_platform_verification_status(::video_widevine::PlatformVerificationStatus value) { assert(::video_widevine::PlatformVerificationStatus_IsValid(value)); - _has_bits_[0] |= 0x00000200u; + _has_bits_[0] |= 0x00000400u; platform_verification_status_ = value; } inline void License::set_platform_verification_status(::video_widevine::PlatformVerificationStatus value) { @@ -9502,6 +9815,34 @@ inline void License::set_allocated_license_category_spec(::video_widevine::Licen // @@protoc_insertion_point(field_set_allocated:video_widevine.License.license_category_spec) } +// optional uint32 provider_key_id = 13; +inline bool License::_internal_has_provider_key_id() const { + bool value = (_has_bits_[0] & 0x00000200u) != 0; + return value; +} +inline bool License::has_provider_key_id() const { + return _internal_has_provider_key_id(); +} +inline void License::clear_provider_key_id() { + provider_key_id_ = 0u; + _has_bits_[0] &= ~0x00000200u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 License::_internal_provider_key_id() const { + return provider_key_id_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 License::provider_key_id() const { + // @@protoc_insertion_point(field_get:video_widevine.License.provider_key_id) + return _internal_provider_key_id(); +} +inline void License::_internal_set_provider_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00000200u; + provider_key_id_ = value; +} +inline void License::set_provider_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_provider_key_id(value); + // @@protoc_insertion_point(field_set:video_widevine.License.provider_key_id) +} + // ------------------------------------------------------------------- // LicenseRequest_ContentIdentification_WidevinePsshData @@ -11896,6 +12237,11 @@ template <> inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::LicenseCategorySpec_LicenseCategory>() { return ::video_widevine::LicenseCategorySpec_LicenseCategory_descriptor(); } +template <> struct is_proto_enum< ::video_widevine::License_Policy_WatermarkingControl> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::License_Policy_WatermarkingControl>() { + return ::video_widevine::License_Policy_WatermarkingControl_descriptor(); +} template <> struct is_proto_enum< ::video_widevine::License_KeyContainer_OutputProtection_HDCP> : ::std::true_type {}; template <> inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::License_KeyContainer_OutputProtection_HDCP>() { diff --git a/ubuntu/protos/public/playready.pb.h b/ubuntu/protos/public/playready.pb.h index c1046f1..c4449ce 100755 --- a/ubuntu/protos/public/playready.pb.h +++ b/ubuntu/protos/public/playready.pb.h @@ -568,6 +568,7 @@ class PlayReadyPolicy final : kRequestedUncompressedDigitalVideoOutputRestrictionFieldNumber = 11, kRequestedCgmsFieldNumber = 12, kRenewalRecoveryDurationSecondsFieldNumber = 16, + kRenewalDelaySecondsFieldNumber = 17, kCanRenewFieldNumber = 13, kSoftEnforceRentalDurationFieldNumber = 14, kSoftEnforcePlaybackDurationFieldNumber = 15, @@ -741,6 +742,19 @@ class PlayReadyPolicy final : void _internal_set_renewal_recovery_duration_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); public: + // optional int64 renewal_delay_seconds = 17; + bool has_renewal_delay_seconds() const; + private: + bool _internal_has_renewal_delay_seconds() const; + public: + void clear_renewal_delay_seconds(); + ::PROTOBUF_NAMESPACE_ID::int64 renewal_delay_seconds() const; + void set_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + private: + ::PROTOBUF_NAMESPACE_ID::int64 _internal_renewal_delay_seconds() const; + void _internal_set_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + public: + // optional bool can_renew = 13 [default = false]; bool has_can_renew() const; private: @@ -802,6 +816,7 @@ class PlayReadyPolicy final : int requested_uncompressed_digital_video_output_restriction_; int requested_cgms_; ::PROTOBUF_NAMESPACE_ID::int64 renewal_recovery_duration_seconds_; + ::PROTOBUF_NAMESPACE_ID::int64 renewal_delay_seconds_; bool can_renew_; bool soft_enforce_rental_duration_; bool soft_enforce_playback_duration_; @@ -1468,6 +1483,7 @@ class PlayReadyLicenseRequest final : kContentKeyBase64FieldNumber = 5, kClientSpecifiedMakeFieldNumber = 8, kClientSpecifiedModelFieldNumber = 9, + kOriginalLicenseFieldNumber = 18, kPolicyFieldNumber = 6, kRootLicenseInfoFieldNumber = 11, kRequesterFieldNumber = 10, @@ -1477,6 +1493,8 @@ class PlayReadyLicenseRequest final : kIsRenewalRequestFieldNumber = 17, kChallengeTypeFieldNumber = 16, kLicenseStartTimeSecondsFieldNumber = 15, + kPlaybackStartTimeSecondsFieldNumber = 19, + kRequestVersionFieldNumber = 20, }; // repeated .video_widevine.KeyInfo license_key_info = 13; int license_key_info_size() const; @@ -1622,6 +1640,24 @@ class PlayReadyLicenseRequest final : std::string* _internal_mutable_client_specified_model(); public: + // optional bytes original_license = 18; + bool has_original_license() const; + private: + bool _internal_has_original_license() const; + public: + void clear_original_license(); + const std::string& original_license() const; + template + void set_original_license(ArgT0&& arg0, ArgT... args); + std::string* mutable_original_license(); + PROTOBUF_MUST_USE_RESULT std::string* release_original_license(); + void set_allocated_original_license(std::string* original_license); + private: + const std::string& _internal_original_license() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_original_license(const std::string& value); + std::string* _internal_mutable_original_license(); + public: + // optional .video_widevine.PlayReadyPolicy policy = 6; bool has_policy() const; private: @@ -1749,6 +1785,32 @@ class PlayReadyLicenseRequest final : void _internal_set_license_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); public: + // optional int64 playback_start_time_seconds = 19; + bool has_playback_start_time_seconds() const; + private: + bool _internal_has_playback_start_time_seconds() const; + public: + void clear_playback_start_time_seconds(); + ::PROTOBUF_NAMESPACE_ID::int64 playback_start_time_seconds() const; + void set_playback_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + private: + ::PROTOBUF_NAMESPACE_ID::int64 _internal_playback_start_time_seconds() const; + void _internal_set_playback_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value); + public: + + // optional int32 request_version = 20; + bool has_request_version() const; + private: + bool _internal_has_request_version() const; + public: + void clear_request_version(); + ::PROTOBUF_NAMESPACE_ID::int32 request_version() const; + void set_request_version(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_request_version() const; + void _internal_set_request_version(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + // @@protoc_insertion_point(class_scope:video_widevine.PlayReadyLicenseRequest) private: class _Internal; @@ -1766,6 +1828,7 @@ class PlayReadyLicenseRequest final : ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr content_key_base64_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr client_specified_make_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr client_specified_model_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr original_license_; ::video_widevine::PlayReadyPolicy* policy_; ::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo* root_license_info_; int requester_; @@ -1775,6 +1838,8 @@ class PlayReadyLicenseRequest final : bool is_renewal_request_; int challenge_type_; ::PROTOBUF_NAMESPACE_ID::int64 license_start_time_seconds_; + ::PROTOBUF_NAMESPACE_ID::int64 playback_start_time_seconds_; + ::PROTOBUF_NAMESPACE_ID::int32 request_version_; friend struct ::TableStruct_protos_2fpublic_2fplayready_2eproto; }; // ------------------------------------------------------------------- @@ -4444,7 +4509,7 @@ inline void PlayReadyPolicy::set_requested_cgms(::video_widevine::PlayReadyPolic // optional bool can_renew = 13 [default = false]; inline bool PlayReadyPolicy::_internal_has_can_renew() const { - bool value = (_has_bits_[0] & 0x00002000u) != 0; + bool value = (_has_bits_[0] & 0x00004000u) != 0; return value; } inline bool PlayReadyPolicy::has_can_renew() const { @@ -4452,7 +4517,7 @@ inline bool PlayReadyPolicy::has_can_renew() const { } inline void PlayReadyPolicy::clear_can_renew() { can_renew_ = false; - _has_bits_[0] &= ~0x00002000u; + _has_bits_[0] &= ~0x00004000u; } inline bool PlayReadyPolicy::_internal_can_renew() const { return can_renew_; @@ -4462,7 +4527,7 @@ inline bool PlayReadyPolicy::can_renew() const { return _internal_can_renew(); } inline void PlayReadyPolicy::_internal_set_can_renew(bool value) { - _has_bits_[0] |= 0x00002000u; + _has_bits_[0] |= 0x00004000u; can_renew_ = value; } inline void PlayReadyPolicy::set_can_renew(bool value) { @@ -4472,7 +4537,7 @@ inline void PlayReadyPolicy::set_can_renew(bool value) { // optional bool soft_enforce_rental_duration = 14 [default = false]; inline bool PlayReadyPolicy::_internal_has_soft_enforce_rental_duration() const { - bool value = (_has_bits_[0] & 0x00004000u) != 0; + bool value = (_has_bits_[0] & 0x00008000u) != 0; return value; } inline bool PlayReadyPolicy::has_soft_enforce_rental_duration() const { @@ -4480,7 +4545,7 @@ inline bool PlayReadyPolicy::has_soft_enforce_rental_duration() const { } inline void PlayReadyPolicy::clear_soft_enforce_rental_duration() { soft_enforce_rental_duration_ = false; - _has_bits_[0] &= ~0x00004000u; + _has_bits_[0] &= ~0x00008000u; } inline bool PlayReadyPolicy::_internal_soft_enforce_rental_duration() const { return soft_enforce_rental_duration_; @@ -4490,7 +4555,7 @@ inline bool PlayReadyPolicy::soft_enforce_rental_duration() const { return _internal_soft_enforce_rental_duration(); } inline void PlayReadyPolicy::_internal_set_soft_enforce_rental_duration(bool value) { - _has_bits_[0] |= 0x00004000u; + _has_bits_[0] |= 0x00008000u; soft_enforce_rental_duration_ = value; } inline void PlayReadyPolicy::set_soft_enforce_rental_duration(bool value) { @@ -4500,7 +4565,7 @@ inline void PlayReadyPolicy::set_soft_enforce_rental_duration(bool value) { // optional bool soft_enforce_playback_duration = 15 [default = false]; inline bool PlayReadyPolicy::_internal_has_soft_enforce_playback_duration() const { - bool value = (_has_bits_[0] & 0x00008000u) != 0; + bool value = (_has_bits_[0] & 0x00010000u) != 0; return value; } inline bool PlayReadyPolicy::has_soft_enforce_playback_duration() const { @@ -4508,7 +4573,7 @@ inline bool PlayReadyPolicy::has_soft_enforce_playback_duration() const { } inline void PlayReadyPolicy::clear_soft_enforce_playback_duration() { soft_enforce_playback_duration_ = false; - _has_bits_[0] &= ~0x00008000u; + _has_bits_[0] &= ~0x00010000u; } inline bool PlayReadyPolicy::_internal_soft_enforce_playback_duration() const { return soft_enforce_playback_duration_; @@ -4518,7 +4583,7 @@ inline bool PlayReadyPolicy::soft_enforce_playback_duration() const { return _internal_soft_enforce_playback_duration(); } inline void PlayReadyPolicy::_internal_set_soft_enforce_playback_duration(bool value) { - _has_bits_[0] |= 0x00008000u; + _has_bits_[0] |= 0x00010000u; soft_enforce_playback_duration_ = value; } inline void PlayReadyPolicy::set_soft_enforce_playback_duration(bool value) { @@ -4554,6 +4619,34 @@ inline void PlayReadyPolicy::set_renewal_recovery_duration_seconds(::PROTOBUF_NA // @@protoc_insertion_point(field_set:video_widevine.PlayReadyPolicy.renewal_recovery_duration_seconds) } +// optional int64 renewal_delay_seconds = 17; +inline bool PlayReadyPolicy::_internal_has_renewal_delay_seconds() const { + bool value = (_has_bits_[0] & 0x00002000u) != 0; + return value; +} +inline bool PlayReadyPolicy::has_renewal_delay_seconds() const { + return _internal_has_renewal_delay_seconds(); +} +inline void PlayReadyPolicy::clear_renewal_delay_seconds() { + renewal_delay_seconds_ = int64_t{0}; + _has_bits_[0] &= ~0x00002000u; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 PlayReadyPolicy::_internal_renewal_delay_seconds() const { + return renewal_delay_seconds_; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 PlayReadyPolicy::renewal_delay_seconds() const { + // @@protoc_insertion_point(field_get:video_widevine.PlayReadyPolicy.renewal_delay_seconds) + return _internal_renewal_delay_seconds(); +} +inline void PlayReadyPolicy::_internal_set_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _has_bits_[0] |= 0x00002000u; + renewal_delay_seconds_ = value; +} +inline void PlayReadyPolicy::set_renewal_delay_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _internal_set_renewal_delay_seconds(value); + // @@protoc_insertion_point(field_set:video_widevine.PlayReadyPolicy.renewal_delay_seconds) +} + // ------------------------------------------------------------------- // KeyInfo @@ -5209,7 +5302,7 @@ inline void PlayReadyLicenseRequest::set_allocated_content_key_base64(std::strin // optional .video_widevine.PlayReadyPolicy policy = 6; inline bool PlayReadyLicenseRequest::_internal_has_policy() const { - bool value = (_has_bits_[0] & 0x00000080u) != 0; + bool value = (_has_bits_[0] & 0x00000100u) != 0; PROTOBUF_ASSUME(!value || policy_ != nullptr); return value; } @@ -5218,7 +5311,7 @@ inline bool PlayReadyLicenseRequest::has_policy() const { } inline void PlayReadyLicenseRequest::clear_policy() { if (policy_ != nullptr) policy_->Clear(); - _has_bits_[0] &= ~0x00000080u; + _has_bits_[0] &= ~0x00000100u; } inline const ::video_widevine::PlayReadyPolicy& PlayReadyLicenseRequest::_internal_policy() const { const ::video_widevine::PlayReadyPolicy* p = policy_; @@ -5236,14 +5329,14 @@ inline void PlayReadyLicenseRequest::unsafe_arena_set_allocated_policy( } policy_ = policy; if (policy) { - _has_bits_[0] |= 0x00000080u; + _has_bits_[0] |= 0x00000100u; } else { - _has_bits_[0] &= ~0x00000080u; + _has_bits_[0] &= ~0x00000100u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:video_widevine.PlayReadyLicenseRequest.policy) } inline ::video_widevine::PlayReadyPolicy* PlayReadyLicenseRequest::release_policy() { - _has_bits_[0] &= ~0x00000080u; + _has_bits_[0] &= ~0x00000100u; ::video_widevine::PlayReadyPolicy* temp = policy_; policy_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE @@ -5259,13 +5352,13 @@ inline ::video_widevine::PlayReadyPolicy* PlayReadyLicenseRequest::release_polic } inline ::video_widevine::PlayReadyPolicy* PlayReadyLicenseRequest::unsafe_arena_release_policy() { // @@protoc_insertion_point(field_release:video_widevine.PlayReadyLicenseRequest.policy) - _has_bits_[0] &= ~0x00000080u; + _has_bits_[0] &= ~0x00000100u; ::video_widevine::PlayReadyPolicy* temp = policy_; policy_ = nullptr; return temp; } inline ::video_widevine::PlayReadyPolicy* PlayReadyLicenseRequest::_internal_mutable_policy() { - _has_bits_[0] |= 0x00000080u; + _has_bits_[0] |= 0x00000100u; if (policy_ == nullptr) { auto* p = CreateMaybeMessage<::video_widevine::PlayReadyPolicy>(GetArenaForAllocation()); policy_ = p; @@ -5289,9 +5382,9 @@ inline void PlayReadyLicenseRequest::set_allocated_policy(::video_widevine::Play policy = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( message_arena, policy, submessage_arena); } - _has_bits_[0] |= 0x00000080u; + _has_bits_[0] |= 0x00000100u; } else { - _has_bits_[0] &= ~0x00000080u; + _has_bits_[0] &= ~0x00000100u; } policy_ = policy; // @@protoc_insertion_point(field_set_allocated:video_widevine.PlayReadyLicenseRequest.policy) @@ -5299,7 +5392,7 @@ inline void PlayReadyLicenseRequest::set_allocated_policy(::video_widevine::Play // optional bool extract_device_info = 7; inline bool PlayReadyLicenseRequest::_internal_has_extract_device_info() const { - bool value = (_has_bits_[0] & 0x00000800u) != 0; + bool value = (_has_bits_[0] & 0x00001000u) != 0; return value; } inline bool PlayReadyLicenseRequest::has_extract_device_info() const { @@ -5307,7 +5400,7 @@ inline bool PlayReadyLicenseRequest::has_extract_device_info() const { } inline void PlayReadyLicenseRequest::clear_extract_device_info() { extract_device_info_ = false; - _has_bits_[0] &= ~0x00000800u; + _has_bits_[0] &= ~0x00001000u; } inline bool PlayReadyLicenseRequest::_internal_extract_device_info() const { return extract_device_info_; @@ -5317,7 +5410,7 @@ inline bool PlayReadyLicenseRequest::extract_device_info() const { return _internal_extract_device_info(); } inline void PlayReadyLicenseRequest::_internal_set_extract_device_info(bool value) { - _has_bits_[0] |= 0x00000800u; + _has_bits_[0] |= 0x00001000u; extract_device_info_ = value; } inline void PlayReadyLicenseRequest::set_extract_device_info(bool value) { @@ -5443,7 +5536,7 @@ inline void PlayReadyLicenseRequest::set_allocated_client_specified_model(std::s // optional .video_widevine.PlayReadyLicenseRequest.Requester requester = 10; inline bool PlayReadyLicenseRequest::_internal_has_requester() const { - bool value = (_has_bits_[0] & 0x00000200u) != 0; + bool value = (_has_bits_[0] & 0x00000400u) != 0; return value; } inline bool PlayReadyLicenseRequest::has_requester() const { @@ -5451,7 +5544,7 @@ inline bool PlayReadyLicenseRequest::has_requester() const { } inline void PlayReadyLicenseRequest::clear_requester() { requester_ = 0; - _has_bits_[0] &= ~0x00000200u; + _has_bits_[0] &= ~0x00000400u; } inline ::video_widevine::PlayReadyLicenseRequest_Requester PlayReadyLicenseRequest::_internal_requester() const { return static_cast< ::video_widevine::PlayReadyLicenseRequest_Requester >(requester_); @@ -5462,7 +5555,7 @@ inline ::video_widevine::PlayReadyLicenseRequest_Requester PlayReadyLicenseReque } inline void PlayReadyLicenseRequest::_internal_set_requester(::video_widevine::PlayReadyLicenseRequest_Requester value) { assert(::video_widevine::PlayReadyLicenseRequest_Requester_IsValid(value)); - _has_bits_[0] |= 0x00000200u; + _has_bits_[0] |= 0x00000400u; requester_ = value; } inline void PlayReadyLicenseRequest::set_requester(::video_widevine::PlayReadyLicenseRequest_Requester value) { @@ -5472,7 +5565,7 @@ inline void PlayReadyLicenseRequest::set_requester(::video_widevine::PlayReadyLi // optional .video_widevine.PlayReadyLicenseRequest.RootLicenseInfo root_license_info = 11; inline bool PlayReadyLicenseRequest::_internal_has_root_license_info() const { - bool value = (_has_bits_[0] & 0x00000100u) != 0; + bool value = (_has_bits_[0] & 0x00000200u) != 0; PROTOBUF_ASSUME(!value || root_license_info_ != nullptr); return value; } @@ -5481,7 +5574,7 @@ inline bool PlayReadyLicenseRequest::has_root_license_info() const { } inline void PlayReadyLicenseRequest::clear_root_license_info() { if (root_license_info_ != nullptr) root_license_info_->Clear(); - _has_bits_[0] &= ~0x00000100u; + _has_bits_[0] &= ~0x00000200u; } inline const ::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo& PlayReadyLicenseRequest::_internal_root_license_info() const { const ::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo* p = root_license_info_; @@ -5499,14 +5592,14 @@ inline void PlayReadyLicenseRequest::unsafe_arena_set_allocated_root_license_inf } root_license_info_ = root_license_info; if (root_license_info) { - _has_bits_[0] |= 0x00000100u; + _has_bits_[0] |= 0x00000200u; } else { - _has_bits_[0] &= ~0x00000100u; + _has_bits_[0] &= ~0x00000200u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:video_widevine.PlayReadyLicenseRequest.root_license_info) } inline ::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo* PlayReadyLicenseRequest::release_root_license_info() { - _has_bits_[0] &= ~0x00000100u; + _has_bits_[0] &= ~0x00000200u; ::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo* temp = root_license_info_; root_license_info_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE @@ -5522,13 +5615,13 @@ inline ::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo* PlayReadyLicen } inline ::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo* PlayReadyLicenseRequest::unsafe_arena_release_root_license_info() { // @@protoc_insertion_point(field_release:video_widevine.PlayReadyLicenseRequest.root_license_info) - _has_bits_[0] &= ~0x00000100u; + _has_bits_[0] &= ~0x00000200u; ::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo* temp = root_license_info_; root_license_info_ = nullptr; return temp; } inline ::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo* PlayReadyLicenseRequest::_internal_mutable_root_license_info() { - _has_bits_[0] |= 0x00000100u; + _has_bits_[0] |= 0x00000200u; if (root_license_info_ == nullptr) { auto* p = CreateMaybeMessage<::video_widevine::PlayReadyLicenseRequest_RootLicenseInfo>(GetArenaForAllocation()); root_license_info_ = p; @@ -5552,9 +5645,9 @@ inline void PlayReadyLicenseRequest::set_allocated_root_license_info(::video_wid root_license_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( message_arena, root_license_info, submessage_arena); } - _has_bits_[0] |= 0x00000100u; + _has_bits_[0] |= 0x00000200u; } else { - _has_bits_[0] &= ~0x00000100u; + _has_bits_[0] &= ~0x00000200u; } root_license_info_ = root_license_info; // @@protoc_insertion_point(field_set_allocated:video_widevine.PlayReadyLicenseRequest.root_license_info) @@ -5562,7 +5655,7 @@ inline void PlayReadyLicenseRequest::set_allocated_root_license_info(::video_wid // optional .video_widevine.PlayReadyLicenseRequest.StreamType stream_type = 12; inline bool PlayReadyLicenseRequest::_internal_has_stream_type() const { - bool value = (_has_bits_[0] & 0x00000400u) != 0; + bool value = (_has_bits_[0] & 0x00000800u) != 0; return value; } inline bool PlayReadyLicenseRequest::has_stream_type() const { @@ -5570,7 +5663,7 @@ inline bool PlayReadyLicenseRequest::has_stream_type() const { } inline void PlayReadyLicenseRequest::clear_stream_type() { stream_type_ = 0; - _has_bits_[0] &= ~0x00000400u; + _has_bits_[0] &= ~0x00000800u; } inline ::video_widevine::PlayReadyLicenseRequest_StreamType PlayReadyLicenseRequest::_internal_stream_type() const { return static_cast< ::video_widevine::PlayReadyLicenseRequest_StreamType >(stream_type_); @@ -5581,7 +5674,7 @@ inline ::video_widevine::PlayReadyLicenseRequest_StreamType PlayReadyLicenseRequ } inline void PlayReadyLicenseRequest::_internal_set_stream_type(::video_widevine::PlayReadyLicenseRequest_StreamType value) { assert(::video_widevine::PlayReadyLicenseRequest_StreamType_IsValid(value)); - _has_bits_[0] |= 0x00000400u; + _has_bits_[0] |= 0x00000800u; stream_type_ = value; } inline void PlayReadyLicenseRequest::set_stream_type(::video_widevine::PlayReadyLicenseRequest_StreamType value) { @@ -5631,7 +5724,7 @@ PlayReadyLicenseRequest::license_key_info() const { // optional bool is_external_license_request = 14 [default = false]; inline bool PlayReadyLicenseRequest::_internal_has_is_external_license_request() const { - bool value = (_has_bits_[0] & 0x00001000u) != 0; + bool value = (_has_bits_[0] & 0x00002000u) != 0; return value; } inline bool PlayReadyLicenseRequest::has_is_external_license_request() const { @@ -5639,7 +5732,7 @@ inline bool PlayReadyLicenseRequest::has_is_external_license_request() const { } inline void PlayReadyLicenseRequest::clear_is_external_license_request() { is_external_license_request_ = false; - _has_bits_[0] &= ~0x00001000u; + _has_bits_[0] &= ~0x00002000u; } inline bool PlayReadyLicenseRequest::_internal_is_external_license_request() const { return is_external_license_request_; @@ -5649,7 +5742,7 @@ inline bool PlayReadyLicenseRequest::is_external_license_request() const { return _internal_is_external_license_request(); } inline void PlayReadyLicenseRequest::_internal_set_is_external_license_request(bool value) { - _has_bits_[0] |= 0x00001000u; + _has_bits_[0] |= 0x00002000u; is_external_license_request_ = value; } inline void PlayReadyLicenseRequest::set_is_external_license_request(bool value) { @@ -5659,7 +5752,7 @@ inline void PlayReadyLicenseRequest::set_is_external_license_request(bool value) // optional int64 license_start_time_seconds = 15; inline bool PlayReadyLicenseRequest::_internal_has_license_start_time_seconds() const { - bool value = (_has_bits_[0] & 0x00008000u) != 0; + bool value = (_has_bits_[0] & 0x00010000u) != 0; return value; } inline bool PlayReadyLicenseRequest::has_license_start_time_seconds() const { @@ -5667,7 +5760,7 @@ inline bool PlayReadyLicenseRequest::has_license_start_time_seconds() const { } inline void PlayReadyLicenseRequest::clear_license_start_time_seconds() { license_start_time_seconds_ = int64_t{0}; - _has_bits_[0] &= ~0x00008000u; + _has_bits_[0] &= ~0x00010000u; } inline ::PROTOBUF_NAMESPACE_ID::int64 PlayReadyLicenseRequest::_internal_license_start_time_seconds() const { return license_start_time_seconds_; @@ -5677,7 +5770,7 @@ inline ::PROTOBUF_NAMESPACE_ID::int64 PlayReadyLicenseRequest::license_start_tim return _internal_license_start_time_seconds(); } inline void PlayReadyLicenseRequest::_internal_set_license_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { - _has_bits_[0] |= 0x00008000u; + _has_bits_[0] |= 0x00010000u; license_start_time_seconds_ = value; } inline void PlayReadyLicenseRequest::set_license_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { @@ -5687,7 +5780,7 @@ inline void PlayReadyLicenseRequest::set_license_start_time_seconds(::PROTOBUF_N // optional .video_widevine.PlayReadyLicenseRequest.ChallengeType challenge_type = 16 [default = CHALLENGE_TYPE_UNKNOWN]; inline bool PlayReadyLicenseRequest::_internal_has_challenge_type() const { - bool value = (_has_bits_[0] & 0x00004000u) != 0; + bool value = (_has_bits_[0] & 0x00008000u) != 0; return value; } inline bool PlayReadyLicenseRequest::has_challenge_type() const { @@ -5695,7 +5788,7 @@ inline bool PlayReadyLicenseRequest::has_challenge_type() const { } inline void PlayReadyLicenseRequest::clear_challenge_type() { challenge_type_ = 0; - _has_bits_[0] &= ~0x00004000u; + _has_bits_[0] &= ~0x00008000u; } inline ::video_widevine::PlayReadyLicenseRequest_ChallengeType PlayReadyLicenseRequest::_internal_challenge_type() const { return static_cast< ::video_widevine::PlayReadyLicenseRequest_ChallengeType >(challenge_type_); @@ -5706,7 +5799,7 @@ inline ::video_widevine::PlayReadyLicenseRequest_ChallengeType PlayReadyLicenseR } inline void PlayReadyLicenseRequest::_internal_set_challenge_type(::video_widevine::PlayReadyLicenseRequest_ChallengeType value) { assert(::video_widevine::PlayReadyLicenseRequest_ChallengeType_IsValid(value)); - _has_bits_[0] |= 0x00004000u; + _has_bits_[0] |= 0x00008000u; challenge_type_ = value; } inline void PlayReadyLicenseRequest::set_challenge_type(::video_widevine::PlayReadyLicenseRequest_ChallengeType value) { @@ -5716,7 +5809,7 @@ inline void PlayReadyLicenseRequest::set_challenge_type(::video_widevine::PlayRe // optional bool is_renewal_request = 17 [default = false]; inline bool PlayReadyLicenseRequest::_internal_has_is_renewal_request() const { - bool value = (_has_bits_[0] & 0x00002000u) != 0; + bool value = (_has_bits_[0] & 0x00004000u) != 0; return value; } inline bool PlayReadyLicenseRequest::has_is_renewal_request() const { @@ -5724,7 +5817,7 @@ inline bool PlayReadyLicenseRequest::has_is_renewal_request() const { } inline void PlayReadyLicenseRequest::clear_is_renewal_request() { is_renewal_request_ = false; - _has_bits_[0] &= ~0x00002000u; + _has_bits_[0] &= ~0x00004000u; } inline bool PlayReadyLicenseRequest::_internal_is_renewal_request() const { return is_renewal_request_; @@ -5734,7 +5827,7 @@ inline bool PlayReadyLicenseRequest::is_renewal_request() const { return _internal_is_renewal_request(); } inline void PlayReadyLicenseRequest::_internal_set_is_renewal_request(bool value) { - _has_bits_[0] |= 0x00002000u; + _has_bits_[0] |= 0x00004000u; is_renewal_request_ = value; } inline void PlayReadyLicenseRequest::set_is_renewal_request(bool value) { @@ -5742,6 +5835,120 @@ inline void PlayReadyLicenseRequest::set_is_renewal_request(bool value) { // @@protoc_insertion_point(field_set:video_widevine.PlayReadyLicenseRequest.is_renewal_request) } +// optional bytes original_license = 18; +inline bool PlayReadyLicenseRequest::_internal_has_original_license() const { + bool value = (_has_bits_[0] & 0x00000080u) != 0; + return value; +} +inline bool PlayReadyLicenseRequest::has_original_license() const { + return _internal_has_original_license(); +} +inline void PlayReadyLicenseRequest::clear_original_license() { + original_license_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000080u; +} +inline const std::string& PlayReadyLicenseRequest::original_license() const { + // @@protoc_insertion_point(field_get:video_widevine.PlayReadyLicenseRequest.original_license) + return _internal_original_license(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void PlayReadyLicenseRequest::set_original_license(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000080u; + original_license_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:video_widevine.PlayReadyLicenseRequest.original_license) +} +inline std::string* PlayReadyLicenseRequest::mutable_original_license() { + std::string* _s = _internal_mutable_original_license(); + // @@protoc_insertion_point(field_mutable:video_widevine.PlayReadyLicenseRequest.original_license) + return _s; +} +inline const std::string& PlayReadyLicenseRequest::_internal_original_license() const { + return original_license_.Get(); +} +inline void PlayReadyLicenseRequest::_internal_set_original_license(const std::string& value) { + _has_bits_[0] |= 0x00000080u; + original_license_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* PlayReadyLicenseRequest::_internal_mutable_original_license() { + _has_bits_[0] |= 0x00000080u; + return original_license_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* PlayReadyLicenseRequest::release_original_license() { + // @@protoc_insertion_point(field_release:video_widevine.PlayReadyLicenseRequest.original_license) + if (!_internal_has_original_license()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000080u; + return original_license_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void PlayReadyLicenseRequest::set_allocated_original_license(std::string* original_license) { + if (original_license != nullptr) { + _has_bits_[0] |= 0x00000080u; + } else { + _has_bits_[0] &= ~0x00000080u; + } + original_license_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), original_license, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:video_widevine.PlayReadyLicenseRequest.original_license) +} + +// optional int64 playback_start_time_seconds = 19; +inline bool PlayReadyLicenseRequest::_internal_has_playback_start_time_seconds() const { + bool value = (_has_bits_[0] & 0x00020000u) != 0; + return value; +} +inline bool PlayReadyLicenseRequest::has_playback_start_time_seconds() const { + return _internal_has_playback_start_time_seconds(); +} +inline void PlayReadyLicenseRequest::clear_playback_start_time_seconds() { + playback_start_time_seconds_ = int64_t{0}; + _has_bits_[0] &= ~0x00020000u; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 PlayReadyLicenseRequest::_internal_playback_start_time_seconds() const { + return playback_start_time_seconds_; +} +inline ::PROTOBUF_NAMESPACE_ID::int64 PlayReadyLicenseRequest::playback_start_time_seconds() const { + // @@protoc_insertion_point(field_get:video_widevine.PlayReadyLicenseRequest.playback_start_time_seconds) + return _internal_playback_start_time_seconds(); +} +inline void PlayReadyLicenseRequest::_internal_set_playback_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _has_bits_[0] |= 0x00020000u; + playback_start_time_seconds_ = value; +} +inline void PlayReadyLicenseRequest::set_playback_start_time_seconds(::PROTOBUF_NAMESPACE_ID::int64 value) { + _internal_set_playback_start_time_seconds(value); + // @@protoc_insertion_point(field_set:video_widevine.PlayReadyLicenseRequest.playback_start_time_seconds) +} + +// optional int32 request_version = 20; +inline bool PlayReadyLicenseRequest::_internal_has_request_version() const { + bool value = (_has_bits_[0] & 0x00040000u) != 0; + return value; +} +inline bool PlayReadyLicenseRequest::has_request_version() const { + return _internal_has_request_version(); +} +inline void PlayReadyLicenseRequest::clear_request_version() { + request_version_ = 0; + _has_bits_[0] &= ~0x00040000u; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 PlayReadyLicenseRequest::_internal_request_version() const { + return request_version_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 PlayReadyLicenseRequest::request_version() const { + // @@protoc_insertion_point(field_get:video_widevine.PlayReadyLicenseRequest.request_version) + return _internal_request_version(); +} +inline void PlayReadyLicenseRequest::_internal_set_request_version(::PROTOBUF_NAMESPACE_ID::int32 value) { + _has_bits_[0] |= 0x00040000u; + request_version_ = value; +} +inline void PlayReadyLicenseRequest::set_request_version(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_request_version(value); + // @@protoc_insertion_point(field_set:video_widevine.PlayReadyLicenseRequest.request_version) +} + // ------------------------------------------------------------------- // PlayReadyLicenseResponse_ClientCertificateInfo diff --git a/ubuntu/protos/public/provider_key.pb.h b/ubuntu/protos/public/provider_key.pb.h new file mode 100755 index 0000000..8634661 --- /dev/null +++ b/ubuntu/protos/public/provider_key.pb.h @@ -0,0 +1,1066 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: protos/public/provider_key.proto + +#ifndef GOOGLE_PROTOBUF_INCLUDED_protos_2fpublic_2fprovider_5fkey_2eproto +#define GOOGLE_PROTOBUF_INCLUDED_protos_2fpublic_2fprovider_5fkey_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3017000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3017003 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +#include +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_protos_2fpublic_2fprovider_5fkey_2eproto +PROTOBUF_NAMESPACE_OPEN +namespace internal { +class AnyMetadata; +} // namespace internal +PROTOBUF_NAMESPACE_CLOSE + +// Internal implementation detail -- do not use these members. +struct TableStruct_protos_2fpublic_2fprovider_5fkey_2eproto { + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[3] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; + static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; + static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]; +}; +extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_protos_2fpublic_2fprovider_5fkey_2eproto; +namespace video_widevine { +class ProviderKey; +struct ProviderKeyDefaultTypeInternal; +extern ProviderKeyDefaultTypeInternal _ProviderKey_default_instance_; +class ProviderKeyConfig; +struct ProviderKeyConfigDefaultTypeInternal; +extern ProviderKeyConfigDefaultTypeInternal _ProviderKeyConfig_default_instance_; +class ProviderKeys; +struct ProviderKeysDefaultTypeInternal; +extern ProviderKeysDefaultTypeInternal _ProviderKeys_default_instance_; +} // namespace video_widevine +PROTOBUF_NAMESPACE_OPEN +template<> ::video_widevine::ProviderKey* Arena::CreateMaybeMessage<::video_widevine::ProviderKey>(Arena*); +template<> ::video_widevine::ProviderKeyConfig* Arena::CreateMaybeMessage<::video_widevine::ProviderKeyConfig>(Arena*); +template<> ::video_widevine::ProviderKeys* Arena::CreateMaybeMessage<::video_widevine::ProviderKeys>(Arena*); +PROTOBUF_NAMESPACE_CLOSE +namespace video_widevine { + +enum ProviderKey_EncryptionScheme : int { + ProviderKey_EncryptionScheme_UNSPECIFIED = 0, + ProviderKey_EncryptionScheme_CBC = 1, + ProviderKey_EncryptionScheme_CTR = 2 +}; +bool ProviderKey_EncryptionScheme_IsValid(int value); +constexpr ProviderKey_EncryptionScheme ProviderKey_EncryptionScheme_EncryptionScheme_MIN = ProviderKey_EncryptionScheme_UNSPECIFIED; +constexpr ProviderKey_EncryptionScheme ProviderKey_EncryptionScheme_EncryptionScheme_MAX = ProviderKey_EncryptionScheme_CTR; +constexpr int ProviderKey_EncryptionScheme_EncryptionScheme_ARRAYSIZE = ProviderKey_EncryptionScheme_EncryptionScheme_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ProviderKey_EncryptionScheme_descriptor(); +template +inline const std::string& ProviderKey_EncryptionScheme_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function ProviderKey_EncryptionScheme_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + ProviderKey_EncryptionScheme_descriptor(), enum_t_value); +} +inline bool ProviderKey_EncryptionScheme_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ProviderKey_EncryptionScheme* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + ProviderKey_EncryptionScheme_descriptor(), name, value); +} +// =================================================================== + +class ProviderKey final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.ProviderKey) */ { + public: + inline ProviderKey() : ProviderKey(nullptr) {} + ~ProviderKey() override; + explicit constexpr ProviderKey(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ProviderKey(const ProviderKey& from); + ProviderKey(ProviderKey&& from) noexcept + : ProviderKey() { + *this = ::std::move(from); + } + + inline ProviderKey& operator=(const ProviderKey& from) { + CopyFrom(from); + return *this; + } + inline ProviderKey& operator=(ProviderKey&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ProviderKey& default_instance() { + return *internal_default_instance(); + } + static inline const ProviderKey* internal_default_instance() { + return reinterpret_cast( + &_ProviderKey_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(ProviderKey& a, ProviderKey& b) { + a.Swap(&b); + } + inline void Swap(ProviderKey* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ProviderKey* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ProviderKey* New() const final { + return new ProviderKey(); + } + + ProviderKey* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ProviderKey& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const ProviderKey& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ProviderKey* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "video_widevine.ProviderKey"; + } + protected: + explicit ProviderKey(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef ProviderKey_EncryptionScheme EncryptionScheme; + static constexpr EncryptionScheme UNSPECIFIED = + ProviderKey_EncryptionScheme_UNSPECIFIED; + static constexpr EncryptionScheme CBC = + ProviderKey_EncryptionScheme_CBC; + static constexpr EncryptionScheme CTR = + ProviderKey_EncryptionScheme_CTR; + static inline bool EncryptionScheme_IsValid(int value) { + return ProviderKey_EncryptionScheme_IsValid(value); + } + static constexpr EncryptionScheme EncryptionScheme_MIN = + ProviderKey_EncryptionScheme_EncryptionScheme_MIN; + static constexpr EncryptionScheme EncryptionScheme_MAX = + ProviderKey_EncryptionScheme_EncryptionScheme_MAX; + static constexpr int EncryptionScheme_ARRAYSIZE = + ProviderKey_EncryptionScheme_EncryptionScheme_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + EncryptionScheme_descriptor() { + return ProviderKey_EncryptionScheme_descriptor(); + } + template + static inline const std::string& EncryptionScheme_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function EncryptionScheme_Name."); + return ProviderKey_EncryptionScheme_Name(enum_t_value); + } + static inline bool EncryptionScheme_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + EncryptionScheme* value) { + return ProviderKey_EncryptionScheme_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + enum : int { + kProviderKeyFieldNumber = 2, + kContentKeyMaskFieldNumber = 4, + kContentProviderFieldNumber = 5, + kProviderKeyIdFieldNumber = 1, + kEncryptionSchemeFieldNumber = 3, + }; + // optional bytes provider_key = 2; + bool has_provider_key() const; + private: + bool _internal_has_provider_key() const; + public: + void clear_provider_key(); + const std::string& provider_key() const; + template + void set_provider_key(ArgT0&& arg0, ArgT... args); + std::string* mutable_provider_key(); + PROTOBUF_MUST_USE_RESULT std::string* release_provider_key(); + void set_allocated_provider_key(std::string* provider_key); + private: + const std::string& _internal_provider_key() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_provider_key(const std::string& value); + std::string* _internal_mutable_provider_key(); + public: + + // optional bytes content_key_mask = 4; + bool has_content_key_mask() const; + private: + bool _internal_has_content_key_mask() const; + public: + void clear_content_key_mask(); + const std::string& content_key_mask() const; + template + void set_content_key_mask(ArgT0&& arg0, ArgT... args); + std::string* mutable_content_key_mask(); + PROTOBUF_MUST_USE_RESULT std::string* release_content_key_mask(); + void set_allocated_content_key_mask(std::string* content_key_mask); + private: + const std::string& _internal_content_key_mask() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_content_key_mask(const std::string& value); + std::string* _internal_mutable_content_key_mask(); + public: + + // optional string content_provider = 5; + bool has_content_provider() const; + private: + bool _internal_has_content_provider() const; + public: + void clear_content_provider(); + const std::string& content_provider() const; + template + void set_content_provider(ArgT0&& arg0, ArgT... args); + std::string* mutable_content_provider(); + PROTOBUF_MUST_USE_RESULT std::string* release_content_provider(); + void set_allocated_content_provider(std::string* content_provider); + private: + const std::string& _internal_content_provider() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_content_provider(const std::string& value); + std::string* _internal_mutable_content_provider(); + public: + + // optional uint32 provider_key_id = 1; + bool has_provider_key_id() const; + private: + bool _internal_has_provider_key_id() const; + public: + void clear_provider_key_id(); + ::PROTOBUF_NAMESPACE_ID::uint32 provider_key_id() const; + void set_provider_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_provider_key_id() const; + void _internal_set_provider_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + + // optional .video_widevine.ProviderKey.EncryptionScheme encryption_scheme = 3; + bool has_encryption_scheme() const; + private: + bool _internal_has_encryption_scheme() const; + public: + void clear_encryption_scheme(); + ::video_widevine::ProviderKey_EncryptionScheme encryption_scheme() const; + void set_encryption_scheme(::video_widevine::ProviderKey_EncryptionScheme value); + private: + ::video_widevine::ProviderKey_EncryptionScheme _internal_encryption_scheme() const; + void _internal_set_encryption_scheme(::video_widevine::ProviderKey_EncryptionScheme value); + public: + + // @@protoc_insertion_point(class_scope:video_widevine.ProviderKey) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr provider_key_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr content_key_mask_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr content_provider_; + ::PROTOBUF_NAMESPACE_ID::uint32 provider_key_id_; + int encryption_scheme_; + friend struct ::TableStruct_protos_2fpublic_2fprovider_5fkey_2eproto; +}; +// ------------------------------------------------------------------- + +class ProviderKeyConfig final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.ProviderKeyConfig) */ { + public: + inline ProviderKeyConfig() : ProviderKeyConfig(nullptr) {} + ~ProviderKeyConfig() override; + explicit constexpr ProviderKeyConfig(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ProviderKeyConfig(const ProviderKeyConfig& from); + ProviderKeyConfig(ProviderKeyConfig&& from) noexcept + : ProviderKeyConfig() { + *this = ::std::move(from); + } + + inline ProviderKeyConfig& operator=(const ProviderKeyConfig& from) { + CopyFrom(from); + return *this; + } + inline ProviderKeyConfig& operator=(ProviderKeyConfig&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ProviderKeyConfig& default_instance() { + return *internal_default_instance(); + } + static inline const ProviderKeyConfig* internal_default_instance() { + return reinterpret_cast( + &_ProviderKeyConfig_default_instance_); + } + static constexpr int kIndexInFileMessages = + 1; + + friend void swap(ProviderKeyConfig& a, ProviderKeyConfig& b) { + a.Swap(&b); + } + inline void Swap(ProviderKeyConfig* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ProviderKeyConfig* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ProviderKeyConfig* New() const final { + return new ProviderKeyConfig(); + } + + ProviderKeyConfig* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ProviderKeyConfig& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const ProviderKeyConfig& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ProviderKeyConfig* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "video_widevine.ProviderKeyConfig"; + } + protected: + explicit ProviderKeyConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kProviderKeysFieldNumber = 2, + kProviderKeyConfigVersionFieldNumber = 1, + }; + // repeated .video_widevine.ProviderKey provider_keys = 2; + int provider_keys_size() const; + private: + int _internal_provider_keys_size() const; + public: + void clear_provider_keys(); + ::video_widevine::ProviderKey* mutable_provider_keys(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey >* + mutable_provider_keys(); + private: + const ::video_widevine::ProviderKey& _internal_provider_keys(int index) const; + ::video_widevine::ProviderKey* _internal_add_provider_keys(); + public: + const ::video_widevine::ProviderKey& provider_keys(int index) const; + ::video_widevine::ProviderKey* add_provider_keys(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey >& + provider_keys() const; + + // optional uint32 provider_key_config_version = 1 [default = 1]; + bool has_provider_key_config_version() const; + private: + bool _internal_has_provider_key_config_version() const; + public: + void clear_provider_key_config_version(); + ::PROTOBUF_NAMESPACE_ID::uint32 provider_key_config_version() const; + void set_provider_key_config_version(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_provider_key_config_version() const; + void _internal_set_provider_key_config_version(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + + // @@protoc_insertion_point(class_scope:video_widevine.ProviderKeyConfig) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey > provider_keys_; + ::PROTOBUF_NAMESPACE_ID::uint32 provider_key_config_version_; + friend struct ::TableStruct_protos_2fpublic_2fprovider_5fkey_2eproto; +}; +// ------------------------------------------------------------------- + +class ProviderKeys final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.ProviderKeys) */ { + public: + inline ProviderKeys() : ProviderKeys(nullptr) {} + ~ProviderKeys() override; + explicit constexpr ProviderKeys(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ProviderKeys(const ProviderKeys& from); + ProviderKeys(ProviderKeys&& from) noexcept + : ProviderKeys() { + *this = ::std::move(from); + } + + inline ProviderKeys& operator=(const ProviderKeys& from) { + CopyFrom(from); + return *this; + } + inline ProviderKeys& operator=(ProviderKeys&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ProviderKeys& default_instance() { + return *internal_default_instance(); + } + static inline const ProviderKeys* internal_default_instance() { + return reinterpret_cast( + &_ProviderKeys_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + friend void swap(ProviderKeys& a, ProviderKeys& b) { + a.Swap(&b); + } + inline void Swap(ProviderKeys* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ProviderKeys* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ProviderKeys* New() const final { + return new ProviderKeys(); + } + + ProviderKeys* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ProviderKeys& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const ProviderKeys& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ProviderKeys* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "video_widevine.ProviderKeys"; + } + protected: + explicit ProviderKeys(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kProviderKeysFieldNumber = 1, + }; + // repeated .video_widevine.ProviderKey provider_keys = 1; + int provider_keys_size() const; + private: + int _internal_provider_keys_size() const; + public: + void clear_provider_keys(); + ::video_widevine::ProviderKey* mutable_provider_keys(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey >* + mutable_provider_keys(); + private: + const ::video_widevine::ProviderKey& _internal_provider_keys(int index) const; + ::video_widevine::ProviderKey* _internal_add_provider_keys(); + public: + const ::video_widevine::ProviderKey& provider_keys(int index) const; + ::video_widevine::ProviderKey* add_provider_keys(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey >& + provider_keys() const; + + // @@protoc_insertion_point(class_scope:video_widevine.ProviderKeys) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey > provider_keys_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_protos_2fpublic_2fprovider_5fkey_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// ProviderKey + +// optional uint32 provider_key_id = 1; +inline bool ProviderKey::_internal_has_provider_key_id() const { + bool value = (_has_bits_[0] & 0x00000008u) != 0; + return value; +} +inline bool ProviderKey::has_provider_key_id() const { + return _internal_has_provider_key_id(); +} +inline void ProviderKey::clear_provider_key_id() { + provider_key_id_ = 0u; + _has_bits_[0] &= ~0x00000008u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ProviderKey::_internal_provider_key_id() const { + return provider_key_id_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ProviderKey::provider_key_id() const { + // @@protoc_insertion_point(field_get:video_widevine.ProviderKey.provider_key_id) + return _internal_provider_key_id(); +} +inline void ProviderKey::_internal_set_provider_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00000008u; + provider_key_id_ = value; +} +inline void ProviderKey::set_provider_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_provider_key_id(value); + // @@protoc_insertion_point(field_set:video_widevine.ProviderKey.provider_key_id) +} + +// optional bytes provider_key = 2; +inline bool ProviderKey::_internal_has_provider_key() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool ProviderKey::has_provider_key() const { + return _internal_has_provider_key(); +} +inline void ProviderKey::clear_provider_key() { + provider_key_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000001u; +} +inline const std::string& ProviderKey::provider_key() const { + // @@protoc_insertion_point(field_get:video_widevine.ProviderKey.provider_key) + return _internal_provider_key(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ProviderKey::set_provider_key(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000001u; + provider_key_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:video_widevine.ProviderKey.provider_key) +} +inline std::string* ProviderKey::mutable_provider_key() { + std::string* _s = _internal_mutable_provider_key(); + // @@protoc_insertion_point(field_mutable:video_widevine.ProviderKey.provider_key) + return _s; +} +inline const std::string& ProviderKey::_internal_provider_key() const { + return provider_key_.Get(); +} +inline void ProviderKey::_internal_set_provider_key(const std::string& value) { + _has_bits_[0] |= 0x00000001u; + provider_key_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* ProviderKey::_internal_mutable_provider_key() { + _has_bits_[0] |= 0x00000001u; + return provider_key_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* ProviderKey::release_provider_key() { + // @@protoc_insertion_point(field_release:video_widevine.ProviderKey.provider_key) + if (!_internal_has_provider_key()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000001u; + return provider_key_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void ProviderKey::set_allocated_provider_key(std::string* provider_key) { + if (provider_key != nullptr) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + provider_key_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), provider_key, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:video_widevine.ProviderKey.provider_key) +} + +// optional .video_widevine.ProviderKey.EncryptionScheme encryption_scheme = 3; +inline bool ProviderKey::_internal_has_encryption_scheme() const { + bool value = (_has_bits_[0] & 0x00000010u) != 0; + return value; +} +inline bool ProviderKey::has_encryption_scheme() const { + return _internal_has_encryption_scheme(); +} +inline void ProviderKey::clear_encryption_scheme() { + encryption_scheme_ = 0; + _has_bits_[0] &= ~0x00000010u; +} +inline ::video_widevine::ProviderKey_EncryptionScheme ProviderKey::_internal_encryption_scheme() const { + return static_cast< ::video_widevine::ProviderKey_EncryptionScheme >(encryption_scheme_); +} +inline ::video_widevine::ProviderKey_EncryptionScheme ProviderKey::encryption_scheme() const { + // @@protoc_insertion_point(field_get:video_widevine.ProviderKey.encryption_scheme) + return _internal_encryption_scheme(); +} +inline void ProviderKey::_internal_set_encryption_scheme(::video_widevine::ProviderKey_EncryptionScheme value) { + assert(::video_widevine::ProviderKey_EncryptionScheme_IsValid(value)); + _has_bits_[0] |= 0x00000010u; + encryption_scheme_ = value; +} +inline void ProviderKey::set_encryption_scheme(::video_widevine::ProviderKey_EncryptionScheme value) { + _internal_set_encryption_scheme(value); + // @@protoc_insertion_point(field_set:video_widevine.ProviderKey.encryption_scheme) +} + +// optional bytes content_key_mask = 4; +inline bool ProviderKey::_internal_has_content_key_mask() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool ProviderKey::has_content_key_mask() const { + return _internal_has_content_key_mask(); +} +inline void ProviderKey::clear_content_key_mask() { + content_key_mask_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000002u; +} +inline const std::string& ProviderKey::content_key_mask() const { + // @@protoc_insertion_point(field_get:video_widevine.ProviderKey.content_key_mask) + return _internal_content_key_mask(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ProviderKey::set_content_key_mask(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000002u; + content_key_mask_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:video_widevine.ProviderKey.content_key_mask) +} +inline std::string* ProviderKey::mutable_content_key_mask() { + std::string* _s = _internal_mutable_content_key_mask(); + // @@protoc_insertion_point(field_mutable:video_widevine.ProviderKey.content_key_mask) + return _s; +} +inline const std::string& ProviderKey::_internal_content_key_mask() const { + return content_key_mask_.Get(); +} +inline void ProviderKey::_internal_set_content_key_mask(const std::string& value) { + _has_bits_[0] |= 0x00000002u; + content_key_mask_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* ProviderKey::_internal_mutable_content_key_mask() { + _has_bits_[0] |= 0x00000002u; + return content_key_mask_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* ProviderKey::release_content_key_mask() { + // @@protoc_insertion_point(field_release:video_widevine.ProviderKey.content_key_mask) + if (!_internal_has_content_key_mask()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000002u; + return content_key_mask_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void ProviderKey::set_allocated_content_key_mask(std::string* content_key_mask) { + if (content_key_mask != nullptr) { + _has_bits_[0] |= 0x00000002u; + } else { + _has_bits_[0] &= ~0x00000002u; + } + content_key_mask_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), content_key_mask, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:video_widevine.ProviderKey.content_key_mask) +} + +// optional string content_provider = 5; +inline bool ProviderKey::_internal_has_content_provider() const { + bool value = (_has_bits_[0] & 0x00000004u) != 0; + return value; +} +inline bool ProviderKey::has_content_provider() const { + return _internal_has_content_provider(); +} +inline void ProviderKey::clear_content_provider() { + content_provider_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000004u; +} +inline const std::string& ProviderKey::content_provider() const { + // @@protoc_insertion_point(field_get:video_widevine.ProviderKey.content_provider) + return _internal_content_provider(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ProviderKey::set_content_provider(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000004u; + content_provider_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:video_widevine.ProviderKey.content_provider) +} +inline std::string* ProviderKey::mutable_content_provider() { + std::string* _s = _internal_mutable_content_provider(); + // @@protoc_insertion_point(field_mutable:video_widevine.ProviderKey.content_provider) + return _s; +} +inline const std::string& ProviderKey::_internal_content_provider() const { + return content_provider_.Get(); +} +inline void ProviderKey::_internal_set_content_provider(const std::string& value) { + _has_bits_[0] |= 0x00000004u; + content_provider_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* ProviderKey::_internal_mutable_content_provider() { + _has_bits_[0] |= 0x00000004u; + return content_provider_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* ProviderKey::release_content_provider() { + // @@protoc_insertion_point(field_release:video_widevine.ProviderKey.content_provider) + if (!_internal_has_content_provider()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000004u; + return content_provider_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void ProviderKey::set_allocated_content_provider(std::string* content_provider) { + if (content_provider != nullptr) { + _has_bits_[0] |= 0x00000004u; + } else { + _has_bits_[0] &= ~0x00000004u; + } + content_provider_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), content_provider, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:video_widevine.ProviderKey.content_provider) +} + +// ------------------------------------------------------------------- + +// ProviderKeyConfig + +// optional uint32 provider_key_config_version = 1 [default = 1]; +inline bool ProviderKeyConfig::_internal_has_provider_key_config_version() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool ProviderKeyConfig::has_provider_key_config_version() const { + return _internal_has_provider_key_config_version(); +} +inline void ProviderKeyConfig::clear_provider_key_config_version() { + provider_key_config_version_ = 1u; + _has_bits_[0] &= ~0x00000001u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ProviderKeyConfig::_internal_provider_key_config_version() const { + return provider_key_config_version_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ProviderKeyConfig::provider_key_config_version() const { + // @@protoc_insertion_point(field_get:video_widevine.ProviderKeyConfig.provider_key_config_version) + return _internal_provider_key_config_version(); +} +inline void ProviderKeyConfig::_internal_set_provider_key_config_version(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00000001u; + provider_key_config_version_ = value; +} +inline void ProviderKeyConfig::set_provider_key_config_version(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_provider_key_config_version(value); + // @@protoc_insertion_point(field_set:video_widevine.ProviderKeyConfig.provider_key_config_version) +} + +// repeated .video_widevine.ProviderKey provider_keys = 2; +inline int ProviderKeyConfig::_internal_provider_keys_size() const { + return provider_keys_.size(); +} +inline int ProviderKeyConfig::provider_keys_size() const { + return _internal_provider_keys_size(); +} +inline void ProviderKeyConfig::clear_provider_keys() { + provider_keys_.Clear(); +} +inline ::video_widevine::ProviderKey* ProviderKeyConfig::mutable_provider_keys(int index) { + // @@protoc_insertion_point(field_mutable:video_widevine.ProviderKeyConfig.provider_keys) + return provider_keys_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey >* +ProviderKeyConfig::mutable_provider_keys() { + // @@protoc_insertion_point(field_mutable_list:video_widevine.ProviderKeyConfig.provider_keys) + return &provider_keys_; +} +inline const ::video_widevine::ProviderKey& ProviderKeyConfig::_internal_provider_keys(int index) const { + return provider_keys_.Get(index); +} +inline const ::video_widevine::ProviderKey& ProviderKeyConfig::provider_keys(int index) const { + // @@protoc_insertion_point(field_get:video_widevine.ProviderKeyConfig.provider_keys) + return _internal_provider_keys(index); +} +inline ::video_widevine::ProviderKey* ProviderKeyConfig::_internal_add_provider_keys() { + return provider_keys_.Add(); +} +inline ::video_widevine::ProviderKey* ProviderKeyConfig::add_provider_keys() { + ::video_widevine::ProviderKey* _add = _internal_add_provider_keys(); + // @@protoc_insertion_point(field_add:video_widevine.ProviderKeyConfig.provider_keys) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey >& +ProviderKeyConfig::provider_keys() const { + // @@protoc_insertion_point(field_list:video_widevine.ProviderKeyConfig.provider_keys) + return provider_keys_; +} + +// ------------------------------------------------------------------- + +// ProviderKeys + +// repeated .video_widevine.ProviderKey provider_keys = 1; +inline int ProviderKeys::_internal_provider_keys_size() const { + return provider_keys_.size(); +} +inline int ProviderKeys::provider_keys_size() const { + return _internal_provider_keys_size(); +} +inline void ProviderKeys::clear_provider_keys() { + provider_keys_.Clear(); +} +inline ::video_widevine::ProviderKey* ProviderKeys::mutable_provider_keys(int index) { + // @@protoc_insertion_point(field_mutable:video_widevine.ProviderKeys.provider_keys) + return provider_keys_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey >* +ProviderKeys::mutable_provider_keys() { + // @@protoc_insertion_point(field_mutable_list:video_widevine.ProviderKeys.provider_keys) + return &provider_keys_; +} +inline const ::video_widevine::ProviderKey& ProviderKeys::_internal_provider_keys(int index) const { + return provider_keys_.Get(index); +} +inline const ::video_widevine::ProviderKey& ProviderKeys::provider_keys(int index) const { + // @@protoc_insertion_point(field_get:video_widevine.ProviderKeys.provider_keys) + return _internal_provider_keys(index); +} +inline ::video_widevine::ProviderKey* ProviderKeys::_internal_add_provider_keys() { + return provider_keys_.Add(); +} +inline ::video_widevine::ProviderKey* ProviderKeys::add_provider_keys() { + ::video_widevine::ProviderKey* _add = _internal_add_provider_keys(); + // @@protoc_insertion_point(field_add:video_widevine.ProviderKeys.provider_keys) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::ProviderKey >& +ProviderKeys::provider_keys() const { + // @@protoc_insertion_point(field_list:video_widevine.ProviderKeys.provider_keys) + return provider_keys_; +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace video_widevine + +PROTOBUF_NAMESPACE_OPEN + +template <> struct is_proto_enum< ::video_widevine::ProviderKey_EncryptionScheme> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::ProviderKey_EncryptionScheme>() { + return ::video_widevine::ProviderKey_EncryptionScheme_descriptor(); +} + +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) + +#include +#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_protos_2fpublic_2fprovider_5fkey_2eproto diff --git a/ubuntu/protos/public/provisioned_device_info.pb.h b/ubuntu/protos/public/provisioned_device_info.pb.h index d47fa0f..eda0649 100755 --- a/ubuntu/protos/public/provisioned_device_info.pb.h +++ b/ubuntu/protos/public/provisioned_device_info.pb.h @@ -344,6 +344,8 @@ class ProvisionedDeviceInfo final : kPlatformFieldNumber = 11, kDeviceStateFieldNumber = 12, kVulnerabilityLevelFieldNumber = 13, + kVerificationLevelFieldNumber = 14, + kProviderKeyVersionFieldNumber = 15, }; // repeated .video_widevine.DeviceModel model_info = 10; int model_info_size() const; @@ -539,6 +541,32 @@ class ProvisionedDeviceInfo final : void _internal_set_vulnerability_level(::video_widevine::VulnerabilityLevel value); public: + // optional .video_widevine.VerificationLevel verification_level = 14; + bool has_verification_level() const; + private: + bool _internal_has_verification_level() const; + public: + void clear_verification_level(); + ::video_widevine::VerificationLevel verification_level() const; + void set_verification_level(::video_widevine::VerificationLevel value); + private: + ::video_widevine::VerificationLevel _internal_verification_level() const; + void _internal_set_verification_level(::video_widevine::VerificationLevel value); + public: + + // optional uint32 provider_key_version = 15; + bool has_provider_key_version() const; + private: + bool _internal_has_provider_key_version() const; + public: + void clear_provider_key_version(); + ::PROTOBUF_NAMESPACE_ID::uint32 provider_key_version() const; + void set_provider_key_version(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_provider_key_version() const; + void _internal_set_provider_key_version(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + // @@protoc_insertion_point(class_scope:video_widevine.ProvisionedDeviceInfo) private: class _Internal; @@ -561,6 +589,8 @@ class ProvisionedDeviceInfo final : int platform_; int device_state_; int vulnerability_level_; + int verification_level_; + ::PROTOBUF_NAMESPACE_ID::uint32 provider_key_version_; friend struct ::TableStruct_protos_2fpublic_2fprovisioned_5fdevice_5finfo_2eproto; }; // =================================================================== @@ -1072,6 +1102,63 @@ inline void ProvisionedDeviceInfo::set_vulnerability_level(::video_widevine::Vul // @@protoc_insertion_point(field_set:video_widevine.ProvisionedDeviceInfo.vulnerability_level) } +// optional .video_widevine.VerificationLevel verification_level = 14; +inline bool ProvisionedDeviceInfo::_internal_has_verification_level() const { + bool value = (_has_bits_[0] & 0x00001000u) != 0; + return value; +} +inline bool ProvisionedDeviceInfo::has_verification_level() const { + return _internal_has_verification_level(); +} +inline void ProvisionedDeviceInfo::clear_verification_level() { + verification_level_ = 0; + _has_bits_[0] &= ~0x00001000u; +} +inline ::video_widevine::VerificationLevel ProvisionedDeviceInfo::_internal_verification_level() const { + return static_cast< ::video_widevine::VerificationLevel >(verification_level_); +} +inline ::video_widevine::VerificationLevel ProvisionedDeviceInfo::verification_level() const { + // @@protoc_insertion_point(field_get:video_widevine.ProvisionedDeviceInfo.verification_level) + return _internal_verification_level(); +} +inline void ProvisionedDeviceInfo::_internal_set_verification_level(::video_widevine::VerificationLevel value) { + assert(::video_widevine::VerificationLevel_IsValid(value)); + _has_bits_[0] |= 0x00001000u; + verification_level_ = value; +} +inline void ProvisionedDeviceInfo::set_verification_level(::video_widevine::VerificationLevel value) { + _internal_set_verification_level(value); + // @@protoc_insertion_point(field_set:video_widevine.ProvisionedDeviceInfo.verification_level) +} + +// optional uint32 provider_key_version = 15; +inline bool ProvisionedDeviceInfo::_internal_has_provider_key_version() const { + bool value = (_has_bits_[0] & 0x00002000u) != 0; + return value; +} +inline bool ProvisionedDeviceInfo::has_provider_key_version() const { + return _internal_has_provider_key_version(); +} +inline void ProvisionedDeviceInfo::clear_provider_key_version() { + provider_key_version_ = 0u; + _has_bits_[0] &= ~0x00002000u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ProvisionedDeviceInfo::_internal_provider_key_version() const { + return provider_key_version_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 ProvisionedDeviceInfo::provider_key_version() const { + // @@protoc_insertion_point(field_get:video_widevine.ProvisionedDeviceInfo.provider_key_version) + return _internal_provider_key_version(); +} +inline void ProvisionedDeviceInfo::_internal_set_provider_key_version(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00002000u; + provider_key_version_ = value; +} +inline void ProvisionedDeviceInfo::set_provider_key_version(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_provider_key_version(value); + // @@protoc_insertion_point(field_set:video_widevine.ProvisionedDeviceInfo.provider_key_version) +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ diff --git a/ubuntu/protos/public/root_of_trust_id.pb.h b/ubuntu/protos/public/root_of_trust_id.pb.h new file mode 100755 index 0000000..c957432 --- /dev/null +++ b/ubuntu/protos/public/root_of_trust_id.pb.h @@ -0,0 +1,531 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: protos/public/root_of_trust_id.proto + +#ifndef GOOGLE_PROTOBUF_INCLUDED_protos_2fpublic_2froot_5fof_5ftrust_5fid_2eproto +#define GOOGLE_PROTOBUF_INCLUDED_protos_2fpublic_2froot_5fof_5ftrust_5fid_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3017000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3017003 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +#include +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_protos_2fpublic_2froot_5fof_5ftrust_5fid_2eproto +PROTOBUF_NAMESPACE_OPEN +namespace internal { +class AnyMetadata; +} // namespace internal +PROTOBUF_NAMESPACE_CLOSE + +// Internal implementation detail -- do not use these members. +struct TableStruct_protos_2fpublic_2froot_5fof_5ftrust_5fid_2eproto { + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; + static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; + static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]; +}; +extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_protos_2fpublic_2froot_5fof_5ftrust_5fid_2eproto; +namespace video_widevine { +class RootOfTrustId; +struct RootOfTrustIdDefaultTypeInternal; +extern RootOfTrustIdDefaultTypeInternal _RootOfTrustId_default_instance_; +} // namespace video_widevine +PROTOBUF_NAMESPACE_OPEN +template<> ::video_widevine::RootOfTrustId* Arena::CreateMaybeMessage<::video_widevine::RootOfTrustId>(Arena*); +PROTOBUF_NAMESPACE_CLOSE +namespace video_widevine { + +enum RootOfTrustId_RootOfTrustIdVersion : int { + RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_UNSPECIFIED = 0, + RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_1 = 1 +}; +bool RootOfTrustId_RootOfTrustIdVersion_IsValid(int value); +constexpr RootOfTrustId_RootOfTrustIdVersion RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MIN = RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_UNSPECIFIED; +constexpr RootOfTrustId_RootOfTrustIdVersion RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MAX = RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_1; +constexpr int RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_ARRAYSIZE = RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RootOfTrustId_RootOfTrustIdVersion_descriptor(); +template +inline const std::string& RootOfTrustId_RootOfTrustIdVersion_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function RootOfTrustId_RootOfTrustIdVersion_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + RootOfTrustId_RootOfTrustIdVersion_descriptor(), enum_t_value); +} +inline bool RootOfTrustId_RootOfTrustIdVersion_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, RootOfTrustId_RootOfTrustIdVersion* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + RootOfTrustId_RootOfTrustIdVersion_descriptor(), name, value); +} +// =================================================================== + +class RootOfTrustId final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:video_widevine.RootOfTrustId) */ { + public: + inline RootOfTrustId() : RootOfTrustId(nullptr) {} + ~RootOfTrustId() override; + explicit constexpr RootOfTrustId(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + RootOfTrustId(const RootOfTrustId& from); + RootOfTrustId(RootOfTrustId&& from) noexcept + : RootOfTrustId() { + *this = ::std::move(from); + } + + inline RootOfTrustId& operator=(const RootOfTrustId& from) { + CopyFrom(from); + return *this; + } + inline RootOfTrustId& operator=(RootOfTrustId&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const RootOfTrustId& default_instance() { + return *internal_default_instance(); + } + static inline const RootOfTrustId* internal_default_instance() { + return reinterpret_cast( + &_RootOfTrustId_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(RootOfTrustId& a, RootOfTrustId& b) { + a.Swap(&b); + } + inline void Swap(RootOfTrustId* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(RootOfTrustId* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline RootOfTrustId* New() const final { + return new RootOfTrustId(); + } + + RootOfTrustId* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const RootOfTrustId& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const RootOfTrustId& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(RootOfTrustId* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "video_widevine.RootOfTrustId"; + } + protected: + explicit RootOfTrustId(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef RootOfTrustId_RootOfTrustIdVersion RootOfTrustIdVersion; + static constexpr RootOfTrustIdVersion ROOT_OF_TRUST_ID_VERSION_UNSPECIFIED = + RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_UNSPECIFIED; + static constexpr RootOfTrustIdVersion ROOT_OF_TRUST_ID_VERSION_1 = + RootOfTrustId_RootOfTrustIdVersion_ROOT_OF_TRUST_ID_VERSION_1; + static inline bool RootOfTrustIdVersion_IsValid(int value) { + return RootOfTrustId_RootOfTrustIdVersion_IsValid(value); + } + static constexpr RootOfTrustIdVersion RootOfTrustIdVersion_MIN = + RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MIN; + static constexpr RootOfTrustIdVersion RootOfTrustIdVersion_MAX = + RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_MAX; + static constexpr int RootOfTrustIdVersion_ARRAYSIZE = + RootOfTrustId_RootOfTrustIdVersion_RootOfTrustIdVersion_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + RootOfTrustIdVersion_descriptor() { + return RootOfTrustId_RootOfTrustIdVersion_descriptor(); + } + template + static inline const std::string& RootOfTrustIdVersion_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function RootOfTrustIdVersion_Name."); + return RootOfTrustId_RootOfTrustIdVersion_Name(enum_t_value); + } + static inline bool RootOfTrustIdVersion_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + RootOfTrustIdVersion* value) { + return RootOfTrustId_RootOfTrustIdVersion_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + enum : int { + kEncryptedUniqueIdFieldNumber = 3, + kUniqueIdHashFieldNumber = 4, + kVersionFieldNumber = 1, + kKeyIdFieldNumber = 2, + }; + // optional bytes encrypted_unique_id = 3; + bool has_encrypted_unique_id() const; + private: + bool _internal_has_encrypted_unique_id() const; + public: + void clear_encrypted_unique_id(); + const std::string& encrypted_unique_id() const; + template + void set_encrypted_unique_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_encrypted_unique_id(); + PROTOBUF_MUST_USE_RESULT std::string* release_encrypted_unique_id(); + void set_allocated_encrypted_unique_id(std::string* encrypted_unique_id); + private: + const std::string& _internal_encrypted_unique_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_encrypted_unique_id(const std::string& value); + std::string* _internal_mutable_encrypted_unique_id(); + public: + + // optional bytes unique_id_hash = 4; + bool has_unique_id_hash() const; + private: + bool _internal_has_unique_id_hash() const; + public: + void clear_unique_id_hash(); + const std::string& unique_id_hash() const; + template + void set_unique_id_hash(ArgT0&& arg0, ArgT... args); + std::string* mutable_unique_id_hash(); + PROTOBUF_MUST_USE_RESULT std::string* release_unique_id_hash(); + void set_allocated_unique_id_hash(std::string* unique_id_hash); + private: + const std::string& _internal_unique_id_hash() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_unique_id_hash(const std::string& value); + std::string* _internal_mutable_unique_id_hash(); + public: + + // optional .video_widevine.RootOfTrustId.RootOfTrustIdVersion version = 1; + bool has_version() const; + private: + bool _internal_has_version() const; + public: + void clear_version(); + ::video_widevine::RootOfTrustId_RootOfTrustIdVersion version() const; + void set_version(::video_widevine::RootOfTrustId_RootOfTrustIdVersion value); + private: + ::video_widevine::RootOfTrustId_RootOfTrustIdVersion _internal_version() const; + void _internal_set_version(::video_widevine::RootOfTrustId_RootOfTrustIdVersion value); + public: + + // optional uint32 key_id = 2; + bool has_key_id() const; + private: + bool _internal_has_key_id() const; + public: + void clear_key_id(); + ::PROTOBUF_NAMESPACE_ID::uint32 key_id() const; + void set_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + private: + ::PROTOBUF_NAMESPACE_ID::uint32 _internal_key_id() const; + void _internal_set_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value); + public: + + // @@protoc_insertion_point(class_scope:video_widevine.RootOfTrustId) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr encrypted_unique_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr unique_id_hash_; + int version_; + ::PROTOBUF_NAMESPACE_ID::uint32 key_id_; + friend struct ::TableStruct_protos_2fpublic_2froot_5fof_5ftrust_5fid_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// RootOfTrustId + +// optional .video_widevine.RootOfTrustId.RootOfTrustIdVersion version = 1; +inline bool RootOfTrustId::_internal_has_version() const { + bool value = (_has_bits_[0] & 0x00000004u) != 0; + return value; +} +inline bool RootOfTrustId::has_version() const { + return _internal_has_version(); +} +inline void RootOfTrustId::clear_version() { + version_ = 0; + _has_bits_[0] &= ~0x00000004u; +} +inline ::video_widevine::RootOfTrustId_RootOfTrustIdVersion RootOfTrustId::_internal_version() const { + return static_cast< ::video_widevine::RootOfTrustId_RootOfTrustIdVersion >(version_); +} +inline ::video_widevine::RootOfTrustId_RootOfTrustIdVersion RootOfTrustId::version() const { + // @@protoc_insertion_point(field_get:video_widevine.RootOfTrustId.version) + return _internal_version(); +} +inline void RootOfTrustId::_internal_set_version(::video_widevine::RootOfTrustId_RootOfTrustIdVersion value) { + assert(::video_widevine::RootOfTrustId_RootOfTrustIdVersion_IsValid(value)); + _has_bits_[0] |= 0x00000004u; + version_ = value; +} +inline void RootOfTrustId::set_version(::video_widevine::RootOfTrustId_RootOfTrustIdVersion value) { + _internal_set_version(value); + // @@protoc_insertion_point(field_set:video_widevine.RootOfTrustId.version) +} + +// optional uint32 key_id = 2; +inline bool RootOfTrustId::_internal_has_key_id() const { + bool value = (_has_bits_[0] & 0x00000008u) != 0; + return value; +} +inline bool RootOfTrustId::has_key_id() const { + return _internal_has_key_id(); +} +inline void RootOfTrustId::clear_key_id() { + key_id_ = 0u; + _has_bits_[0] &= ~0x00000008u; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 RootOfTrustId::_internal_key_id() const { + return key_id_; +} +inline ::PROTOBUF_NAMESPACE_ID::uint32 RootOfTrustId::key_id() const { + // @@protoc_insertion_point(field_get:video_widevine.RootOfTrustId.key_id) + return _internal_key_id(); +} +inline void RootOfTrustId::_internal_set_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _has_bits_[0] |= 0x00000008u; + key_id_ = value; +} +inline void RootOfTrustId::set_key_id(::PROTOBUF_NAMESPACE_ID::uint32 value) { + _internal_set_key_id(value); + // @@protoc_insertion_point(field_set:video_widevine.RootOfTrustId.key_id) +} + +// optional bytes encrypted_unique_id = 3; +inline bool RootOfTrustId::_internal_has_encrypted_unique_id() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool RootOfTrustId::has_encrypted_unique_id() const { + return _internal_has_encrypted_unique_id(); +} +inline void RootOfTrustId::clear_encrypted_unique_id() { + encrypted_unique_id_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000001u; +} +inline const std::string& RootOfTrustId::encrypted_unique_id() const { + // @@protoc_insertion_point(field_get:video_widevine.RootOfTrustId.encrypted_unique_id) + return _internal_encrypted_unique_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void RootOfTrustId::set_encrypted_unique_id(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000001u; + encrypted_unique_id_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:video_widevine.RootOfTrustId.encrypted_unique_id) +} +inline std::string* RootOfTrustId::mutable_encrypted_unique_id() { + std::string* _s = _internal_mutable_encrypted_unique_id(); + // @@protoc_insertion_point(field_mutable:video_widevine.RootOfTrustId.encrypted_unique_id) + return _s; +} +inline const std::string& RootOfTrustId::_internal_encrypted_unique_id() const { + return encrypted_unique_id_.Get(); +} +inline void RootOfTrustId::_internal_set_encrypted_unique_id(const std::string& value) { + _has_bits_[0] |= 0x00000001u; + encrypted_unique_id_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* RootOfTrustId::_internal_mutable_encrypted_unique_id() { + _has_bits_[0] |= 0x00000001u; + return encrypted_unique_id_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* RootOfTrustId::release_encrypted_unique_id() { + // @@protoc_insertion_point(field_release:video_widevine.RootOfTrustId.encrypted_unique_id) + if (!_internal_has_encrypted_unique_id()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000001u; + return encrypted_unique_id_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void RootOfTrustId::set_allocated_encrypted_unique_id(std::string* encrypted_unique_id) { + if (encrypted_unique_id != nullptr) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + encrypted_unique_id_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), encrypted_unique_id, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:video_widevine.RootOfTrustId.encrypted_unique_id) +} + +// optional bytes unique_id_hash = 4; +inline bool RootOfTrustId::_internal_has_unique_id_hash() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool RootOfTrustId::has_unique_id_hash() const { + return _internal_has_unique_id_hash(); +} +inline void RootOfTrustId::clear_unique_id_hash() { + unique_id_hash_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000002u; +} +inline const std::string& RootOfTrustId::unique_id_hash() const { + // @@protoc_insertion_point(field_get:video_widevine.RootOfTrustId.unique_id_hash) + return _internal_unique_id_hash(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void RootOfTrustId::set_unique_id_hash(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000002u; + unique_id_hash_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:video_widevine.RootOfTrustId.unique_id_hash) +} +inline std::string* RootOfTrustId::mutable_unique_id_hash() { + std::string* _s = _internal_mutable_unique_id_hash(); + // @@protoc_insertion_point(field_mutable:video_widevine.RootOfTrustId.unique_id_hash) + return _s; +} +inline const std::string& RootOfTrustId::_internal_unique_id_hash() const { + return unique_id_hash_.Get(); +} +inline void RootOfTrustId::_internal_set_unique_id_hash(const std::string& value) { + _has_bits_[0] |= 0x00000002u; + unique_id_hash_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* RootOfTrustId::_internal_mutable_unique_id_hash() { + _has_bits_[0] |= 0x00000002u; + return unique_id_hash_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* RootOfTrustId::release_unique_id_hash() { + // @@protoc_insertion_point(field_release:video_widevine.RootOfTrustId.unique_id_hash) + if (!_internal_has_unique_id_hash()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000002u; + return unique_id_hash_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void RootOfTrustId::set_allocated_unique_id_hash(std::string* unique_id_hash) { + if (unique_id_hash != nullptr) { + _has_bits_[0] |= 0x00000002u; + } else { + _has_bits_[0] &= ~0x00000002u; + } + unique_id_hash_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), unique_id_hash, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:video_widevine.RootOfTrustId.unique_id_hash) +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ + +// @@protoc_insertion_point(namespace_scope) + +} // namespace video_widevine + +PROTOBUF_NAMESPACE_OPEN + +template <> struct is_proto_enum< ::video_widevine::RootOfTrustId_RootOfTrustIdVersion> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::video_widevine::RootOfTrustId_RootOfTrustIdVersion>() { + return ::video_widevine::RootOfTrustId_RootOfTrustIdVersion_descriptor(); +} + +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) + +#include +#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_protos_2fpublic_2froot_5fof_5ftrust_5fid_2eproto diff --git a/ubuntu/protos/public/sdk_license_data_config.pb.h b/ubuntu/protos/public/sdk_license_data_config.pb.h index 14fdc12..d0a2230 100755 --- a/ubuntu/protos/public/sdk_license_data_config.pb.h +++ b/ubuntu/protos/public/sdk_license_data_config.pb.h @@ -1217,6 +1217,7 @@ class ContentInfoManager_ContentInfo final : enum : int { kKeyIdFieldNumber = 2, + kKeyContainerFieldNumber = 5, kContentIdFieldNumber = 1, kProviderSessionTokenFieldNumber = 3, kPolicyIdFieldNumber = 4, @@ -1245,6 +1246,24 @@ class ContentInfoManager_ContentInfo final : std::string* _internal_add_key_id(); public: + // repeated .video_widevine.License.KeyContainer key_container = 5; + int key_container_size() const; + private: + int _internal_key_container_size() const; + public: + void clear_key_container(); + ::video_widevine::License_KeyContainer* mutable_key_container(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::License_KeyContainer >* + mutable_key_container(); + private: + const ::video_widevine::License_KeyContainer& _internal_key_container(int index) const; + ::video_widevine::License_KeyContainer* _internal_add_key_container(); + public: + const ::video_widevine::License_KeyContainer& key_container(int index) const; + ::video_widevine::License_KeyContainer* add_key_container(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::License_KeyContainer >& + key_container() const; + // optional string content_id = 1; bool has_content_id() const; private: @@ -1309,6 +1328,7 @@ class ContentInfoManager_ContentInfo final : ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField key_id_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::License_KeyContainer > key_container_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr content_id_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr provider_session_token_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr policy_id_; @@ -2313,6 +2333,43 @@ inline void ContentInfoManager_ContentInfo::set_allocated_policy_id(std::string* // @@protoc_insertion_point(field_set_allocated:video_widevine.ContentInfoManager.ContentInfo.policy_id) } +// repeated .video_widevine.License.KeyContainer key_container = 5; +inline int ContentInfoManager_ContentInfo::_internal_key_container_size() const { + return key_container_.size(); +} +inline int ContentInfoManager_ContentInfo::key_container_size() const { + return _internal_key_container_size(); +} +inline ::video_widevine::License_KeyContainer* ContentInfoManager_ContentInfo::mutable_key_container(int index) { + // @@protoc_insertion_point(field_mutable:video_widevine.ContentInfoManager.ContentInfo.key_container) + return key_container_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::License_KeyContainer >* +ContentInfoManager_ContentInfo::mutable_key_container() { + // @@protoc_insertion_point(field_mutable_list:video_widevine.ContentInfoManager.ContentInfo.key_container) + return &key_container_; +} +inline const ::video_widevine::License_KeyContainer& ContentInfoManager_ContentInfo::_internal_key_container(int index) const { + return key_container_.Get(index); +} +inline const ::video_widevine::License_KeyContainer& ContentInfoManager_ContentInfo::key_container(int index) const { + // @@protoc_insertion_point(field_get:video_widevine.ContentInfoManager.ContentInfo.key_container) + return _internal_key_container(index); +} +inline ::video_widevine::License_KeyContainer* ContentInfoManager_ContentInfo::_internal_add_key_container() { + return key_container_.Add(); +} +inline ::video_widevine::License_KeyContainer* ContentInfoManager_ContentInfo::add_key_container() { + ::video_widevine::License_KeyContainer* _add = _internal_add_key_container(); + // @@protoc_insertion_point(field_add:video_widevine.ContentInfoManager.ContentInfo.key_container) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::video_widevine::License_KeyContainer >& +ContentInfoManager_ContentInfo::key_container() const { + // @@protoc_insertion_point(field_list:video_widevine.ContentInfoManager.ContentInfo.key_container) + return key_container_; +} + // ------------------------------------------------------------------- // ContentInfoManager diff --git a/ubuntu/license_server_sdk/examples/wvpl_license_sdk_example.cc b/ubuntu/sdk/examples/license_server_sdk/cpp/wvpl_license_sdk_example.cc old mode 100644 new mode 100755 similarity index 97% rename from ubuntu/license_server_sdk/examples/wvpl_license_sdk_example.cc rename to ubuntu/sdk/examples/license_server_sdk/cpp/wvpl_license_sdk_example.cc index 90b03c4..878a549 --- a/ubuntu/license_server_sdk/examples/wvpl_license_sdk_example.cc +++ b/ubuntu/sdk/examples/license_server_sdk/cpp/wvpl_license_sdk_example.cc @@ -3,11 +3,12 @@ #include #include #include +#include #include "absl/strings/escaping.h" -#include "license_server_sdk/external/common/wvpl/wvpl_environment.h" -#include "license_server_sdk/external/common/wvpl/wvpl_license_counter.h" -#include "license_server_sdk/external/common/wvpl/wvpl_session.h" +#include "sdk/external/cpp/wvpl/license_server_sdk/wvpl_environment.h" +#include "sdk/external/cpp/wvpl/license_server_sdk/wvpl_license_counter.h" +#include "sdk/external/cpp/wvpl/license_server_sdk/wvpl_session.h" using video_widevine_server::wv_pl_sdk::HDCP_V1; using video_widevine_server::wv_pl_sdk::HDCP_V2; diff --git a/ubuntu/license_server_sdk/examples/wvpl_license_sdk_using_dsp_example.cc b/ubuntu/sdk/examples/license_server_sdk/cpp/wvpl_license_sdk_using_dsp_example.cc old mode 100644 new mode 100755 similarity index 98% rename from ubuntu/license_server_sdk/examples/wvpl_license_sdk_using_dsp_example.cc rename to ubuntu/sdk/examples/license_server_sdk/cpp/wvpl_license_sdk_using_dsp_example.cc index 1ee503b..190942b --- a/ubuntu/license_server_sdk/examples/wvpl_license_sdk_using_dsp_example.cc +++ b/ubuntu/sdk/examples/license_server_sdk/cpp/wvpl_license_sdk_using_dsp_example.cc @@ -1,13 +1,15 @@ // Copyright 2021 Google LLC. All rights reserved. +#include #include #include #include +#include #include "absl/strings/escaping.h" -#include "license_server_sdk/external/common/wvpl/wvpl_environment.h" -#include "license_server_sdk/external/common/wvpl/wvpl_license_counter.h" -#include "license_server_sdk/external/common/wvpl/wvpl_session.h" +#include "sdk/external/cpp/wvpl/license_server_sdk/wvpl_environment.h" +#include "sdk/external/cpp/wvpl/license_server_sdk/wvpl_license_counter.h" +#include "sdk/external/cpp/wvpl/license_server_sdk/wvpl_session.h" using video_widevine::kDefaultProfileOwnerName; using video_widevine_server::wv_pl_sdk::HDCP_NONE; diff --git a/ubuntu/license_server_sdk/examples/WvPLExample.java b/ubuntu/sdk/examples/license_server_sdk/java/WvPLExample.java old mode 100644 new mode 100755 similarity index 100% rename from ubuntu/license_server_sdk/examples/WvPLExample.java rename to ubuntu/sdk/examples/license_server_sdk/java/WvPLExample.java diff --git a/ubuntu/license_server_sdk/examples/WvPLUsingDSPExample.java b/ubuntu/sdk/examples/license_server_sdk/java/WvPLUsingDSPExample.java old mode 100644 new mode 100755 similarity index 100% rename from ubuntu/license_server_sdk/examples/WvPLUsingDSPExample.java rename to ubuntu/sdk/examples/license_server_sdk/java/WvPLUsingDSPExample.java diff --git a/centos/license_server_sdk/public/environment.h b/ubuntu/sdk/external/cpp/wvdrm/license_server_sdk/environment.h similarity index 90% rename from centos/license_server_sdk/public/environment.h rename to ubuntu/sdk/external/cpp/wvdrm/license_server_sdk/environment.h index 631cc24..f8fa3db 100755 --- a/centos/license_server_sdk/public/environment.h +++ b/ubuntu/sdk/external/cpp/wvdrm/license_server_sdk/environment.h @@ -1,7 +1,7 @@ // Copyright 2020 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_ENVIRONMENT_H_ -#define VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_ENVIRONMENT_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_ENVIRONMENT_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_ENVIRONMENT_H_ #include @@ -10,8 +10,8 @@ #include "common/drm_root_certificate.h" #include "common/security_profile_list.h" #include "common/status.h" -#include "license_server_sdk/internal/environment_impl.h" -#include "license_server_sdk/public/session.h" +#include "sdk/external/cpp/wvdrm/license_server_sdk/session.h" +#include "sdk/internal/environment_impl.h" namespace video_widevine { @@ -47,6 +47,11 @@ class Environment { void SetDevicesToHandleOEMCryptoVersionInKCB( const std::string& system_id_list); + // Set pre-provisioning keys system-wide. Map key is system_id, value. + // Value should be human-readable hex digits encoded bytes, e.g. + // 'preProvKeys.put(100, "f7008b38acc00ec68c732ac665c55c65")'. Must be called + // before any other calls to this class. Calls are thread-safe, so the keys + // can be updated at any time. void SetPreProvisioningKeys(const std::map& keys); void SetPreProvisioningKeys(const std::multimap& keys); @@ -222,14 +227,22 @@ class Environment { // may be automatically set, // // The default setting for |auto_set_provider_session_token| is 'true'. - virtual void SetAutosetProviderSessionToken( + virtual void SetAutoSetProviderSessionToken( bool auto_set_provider_session_token); // Returns the setting as to whether the provider session token will be // automatically set. - virtual bool GetAutosetProviderSessionToken() const; + virtual bool GetAutoSetProviderSessionToken() const; + + // Set the provider key used for L3 CDM. + // |provider_key_config_bytes| is a serialized ProviderKeyConfig proto + // message. Return OK if parsing is successful, otherwise an error is + // returned. + virtual Status SetProviderKeyConfig( + const std::string& provider_key_config_bytes); private: + friend class EnvironmentTest; // Environment::CreateSession which also fills in the parsed // ExternalLicenseRequest. Used to create a Session object. Status CreateSession(SignedMessage* signed_message, Session** session, @@ -239,8 +252,9 @@ class Environment { std::unique_ptr device_security_profile_list_; std::shared_ptr env_impl_; - friend class EnvironmentTest; + // Provider key configuration assigned to a provider for use with L3 CDM. + ProviderKeyConfig provider_key_config_; }; } // namespace video_widevine -#endif // VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_PUBLIC_ENVIRONMENT_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_ENVIRONMENT_H_ diff --git a/ubuntu/sdk/external/cpp/wvdrm/license_server_sdk/session.h b/ubuntu/sdk/external/cpp/wvdrm/license_server_sdk/session.h new file mode 100755 index 0000000..b21576b --- /dev/null +++ b/ubuntu/sdk/external/cpp/wvdrm/license_server_sdk/session.h @@ -0,0 +1,197 @@ +// Copyright 2017 Google LLC. All rights reserved. + +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_SESSION_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_SESSION_H_ + +#include +#include +#include +#include +#include + +#include "absl/strings/string_view.h" +#include "absl/synchronization/mutex.h" +#include "common/status.h" +#include "protos/public/client_identification.pb.h" +#include "protos/public/device_certificate_status.pb.h" +#include "protos/public/drm_certificate.pb.h" +#include "protos/public/external_license.pb.h" +#include "protos/public/license_protocol.pb.h" +#include "protos/public/license_server_sdk.pb.h" +#include "protos/public/oem_key_container.pb.h" +#include "protos/public/security_profile.pb.h" +#include "protos/public/provider_key.pb.h" + +namespace video_widevine { + +class ClientIdentification; +class ContentInfo; +class DrmRootCertificate; +class ExternalPlayReadySessionImpl; +class License; +class LicenseRequest; +class ProvisionedDeviceInfo; +class SecurityProfile; +class SecurityProfileList; +class SessionImpl; +class EnvironmentImpl; +class SessionInit; +class SessionState; +class SessionUsage; + +// TODO(tinskip): Rename this to LicenseSession and add LicenseEngine to hold +// global settings and create new sessions. +class Session { + public: + virtual ~Session(); + virtual const LicenseRequest& request() const; + virtual const std::string& GetSessionId(); + + // Return list of Widevine profiles meeting the DRM requirements for this + // session. + virtual Status GetQualifiedDefaultDeviceSecurityProfiles( + std::vector* qualified_profiles) const; + + // Retrieves qualifying Custom Security Profiles names given the owner name. + virtual Status GetQualifiedCustomDeviceSecurityProfiles( + absl::string_view owner_name, + std::vector* custom_qualified_profile_names) const; + + // Returns true if a provisioned device info exists. Caller + // owns |provisioned_device_info| and it must not be null. + virtual bool GetProvisionedDeviceInfo( + video_widevine::ProvisionedDeviceInfo* device_info); + + // Accessor for request_id field which may be encoded in one of multiple + // places in the liciense request protcol buffer. Use this method instead + // of accessing directly. |request_id| is a pointer to a std::string to contain + // the request ID upon successful return. + virtual Status GetRequestId(std::string* request_id) const; + + // Accessor for license_type field which may be encoded in one of multiple + // places in the license request protocol buffer. Use this method instead + // of accessing directly. |license_type| is a pointer to a value to contain + // the license type upon successful return. + virtual Status GetLicenseType(LicenseType* license_type) const; + + // Method used to get ContentIdentification in a consistent message regardless + // of the type or version of initialization data contained in the content_id + // field of the license request. Use this method instead of accessing the + // fields of ContentIdentification directly. |content_info| is a pointer to a + // message to contain the parsed values from content_id upon successful + // return. + virtual Status GetContentInfo(ContentInfo* content_info) const; + + // Returns the serial number of certificate associated with this device and + // content provider. + virtual std::string GetDrmDeviceId() const; + + // Copies the session usage table from license request to |usage_report|. + // Returns true if session usage exist in the license request, otherwise + // returns false. + bool GetSessionUsage(SessionUsage* usage_report) const; + + // Returns true if client info exists, otherwise returns false. Populate the + // specified |client_info| structure. + virtual bool GetClientInfo(ClientIdentification* client_info) const; + + // Generates a serialized signed License response, emptying |policy| and + // |key_container|, encrypting the keys therein. |session_init| and + // |session_state| are returned to be cached and provided in subsequent + // calls to the function. If no additional PolicyItem or KeyContainer objects + // are necessary to fulfill the request (such as the case with license + // renewal), |policy| and/or |key_container| may be NULL. + // The response is expected to be sent to the Widevine CDM. + virtual Status GenerateSignedLicense( + /*IN*/ const License::Policy* policy, + /*IN*/ const std::list* key_container, + /*IN*/ const SessionInit* session_init, + /*INOUT*/ SessionState* session_state, + /*OUT*/ std::string* signed_message_bytes); + + virtual PlatformVerificationStatus GetPlatformVerificationStatus() const; + + // Returns the service id of the provider that owns the device certificate. + virtual std::string GetDrmDeviceServiceId() const; + + // Returns true, if the license request for this session included a key + // control nonce, else false. + virtual bool HasKeyControlNonce() const; + + // If set to 'true', allow licenses to be generated even if VMP data was + // determined to be video_widevine::PLATFORM_UNVERIFIED. + virtual void set_allow_unverified_platform(bool allow_unverified_platform); + + // Return the setting of whether licenses are allowed to be generated even + // when VMP data was determined to be video_widevine::PLATFORM_UNVERIFIED. + virtual bool allow_unverified_platform() const; + + // If set to 'true', allow licenses to be generated even if VMP data was + // determined to be video_widevine::PLATFORM_TAMPERED. + virtual void set_allow_tampered_platform(bool allow_tampered_platform); + + /** + * If set to true, reject WvDrm SDK to reject licensing behaviors to unknown + * make model. Default value is false. + */ + virtual void set_reject_unknown_make_model(bool reject_unknown_make_model); + + /** + * Retrieves the setting of whether unknown make model is rejected. + */ + virtual bool reject_unknown_make_model() const; + + // Return the setting of whether licenses are allowed to be generated even + // when VMP data was determined to be video_widevine::PLATFORM_TAMPERED. + virtual bool allow_tampered_platform() const; + + virtual void SetKeys(std::list* oem_key_container); + + // 'Provider' making the request. + virtual void set_provider(const std::string& provider); + + // Return the device status such as as RELEASED or REVOKED. + virtual DeviceCertificateStatus::Status GetDeviceStatus() const; + + // Returns message type such as LICENSE_REQUEST, SERVICE_CERTIFICATE_REQUEST + // or EXTERNAL_LICENSE_REQUEST. + virtual SignedMessage::MessageType message_type() const; + + // Retrieves Widevine Security Profile DrmInfo of the device. + // Returns true if |drm_info| was successully populated, else false. + virtual bool GetDrmInfo(SecurityProfile::DrmInfo* drm_info) const; + + // Retrieves the ContentIdentification from the request. Returns OK, if + // successful, else failure. + virtual Status GetContentId( + LicenseRequest::ContentIdentification* content_id) const; + + // Retrieves the request type. + virtual LicenseRequest::RequestType request_type() const; + + protected: + Session(std::shared_ptr env_impl, + std::unique_ptr impl); + Session(std::shared_ptr env_impl, + std::unique_ptr + external_playready_session_impl); + // For testing only. This allows unit tests to define a mock Session class. + Session(); + + friend class Environment; + + private: +#ifndef SWIG + Session(const Session&) = delete; + Session& operator=(const Session&) = delete; +#endif + + std::shared_ptr env_impl_; + std::unique_ptr impl_; + std::unique_ptr + external_playready_session_impl_; +}; + +} // namespace video_widevine + +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVDRM_LICENSE_SERVER_SDK_SESSION_H_ diff --git a/ubuntu/sdk/external/common/wvpl/wvpl_sdk_copy_utils.h b/ubuntu/sdk/external/cpp/wvpl/common/wvpl_sdk_copy_utils.h old mode 100644 new mode 100755 similarity index 87% rename from ubuntu/sdk/external/common/wvpl/wvpl_sdk_copy_utils.h rename to ubuntu/sdk/external/cpp/wvpl/common/wvpl_sdk_copy_utils.h index 9daec52..97be91a --- a/ubuntu/sdk/external/common/wvpl/wvpl_sdk_copy_utils.h +++ b/ubuntu/sdk/external/cpp/wvpl/common/wvpl_sdk_copy_utils.h @@ -1,9 +1,9 @@ // Copyright 2020 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_COPY_UTILS_H_ -#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_COPY_UTILS_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_COPY_UTILS_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_COPY_UTILS_H_ -#include "sdk/external/common/wvpl/wvpl_types.h" +#include "sdk/external/cpp/wvpl/common/wvpl_types.h" #include "protos/public/client_identification.pb.h" #include "protos/public/device_security_profile_data.pb.h" #include "protos/public/license_server_sdk.pb.h" @@ -53,4 +53,4 @@ void CopyBrowserRequirement( } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_COPY_UTILS_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_COPY_UTILS_H_ diff --git a/ubuntu/sdk/external/common/wvpl/wvpl_sdk_environment.h b/ubuntu/sdk/external/cpp/wvpl/common/wvpl_sdk_environment.h old mode 100644 new mode 100755 similarity index 90% rename from ubuntu/sdk/external/common/wvpl/wvpl_sdk_environment.h rename to ubuntu/sdk/external/cpp/wvpl/common/wvpl_sdk_environment.h index e0b8e8b..69fd01e --- a/ubuntu/sdk/external/common/wvpl/wvpl_sdk_environment.h +++ b/ubuntu/sdk/external/cpp/wvpl/common/wvpl_sdk_environment.h @@ -1,15 +1,16 @@ // Copyright 2017 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_ENVIRONMENT_H_ -#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_ENVIRONMENT_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_ENVIRONMENT_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_ENVIRONMENT_H_ #include #include #include "absl/synchronization/mutex.h" -#include "sdk/external/common/wvpl/wvpl_types.h" +#include "sdk/external/cpp/wvpl/common/wvpl_types.h" #include "protos/public/client_identification.pb.h" #include "protos/public/device_security_profile_list.pb.h" +#include "protos/public/provider_key.pb.h" #include "protos/public/security_profile.pb.h" namespace video_widevine { @@ -152,6 +153,22 @@ class WvPLSDKEnvironment { */ static WvPLDeviceInfo GetDeviceInfo(uint32_t system_id); + /** + * Set the provider key used for L3 CDM. + * |provider_key_config_bytes| is a serialized ProviderKeyConfig proto + * message. Returns OK if parsing is successful, otherwise an error is + * returned. + */ + virtual WvPLStatus SetProviderKeyConfig( + const std::string& provider_key_config_bytes); + + /** + * Returns the provider key config used for L3 CDM. + */ + const video_widevine::ProviderKeyConfig& GetProviderKeyConfig() const { + return provider_key_config_; + } + protected: // Return the signature for the provider specified in the |config_values| // parameter in the constructor. |signature| is owned by the caller. @@ -197,6 +214,8 @@ class WvPLSDKEnvironment { // List of device system Ids to succeed even if the device is revoked. std::vector allowed_revoked_devices_ ABSL_GUARDED_BY(allowed_revoked_devices_mutex_); + // Provider key config used with L3 CDM. + video_widevine::ProviderKeyConfig provider_key_config_; private: // Get the expected service type for drm service certificate. @@ -244,4 +263,4 @@ class WvPLSDKEnvironment { } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_ENVIRONMENT_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_ENVIRONMENT_H_ diff --git a/ubuntu/sdk/external/common/wvpl/wvpl_sdk_session.h b/ubuntu/sdk/external/cpp/wvpl/common/wvpl_sdk_session.h old mode 100644 new mode 100755 similarity index 96% rename from ubuntu/sdk/external/common/wvpl/wvpl_sdk_session.h rename to ubuntu/sdk/external/cpp/wvpl/common/wvpl_sdk_session.h index 089c466..a1304bb --- a/ubuntu/sdk/external/common/wvpl/wvpl_sdk_session.h +++ b/ubuntu/sdk/external/cpp/wvpl/common/wvpl_sdk_session.h @@ -1,12 +1,12 @@ // Copyright 2018 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_SESSION_H_ -#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_SESSION_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_SESSION_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_SESSION_H_ #include #include "common/security_profile_list.h" -#include "sdk/external/common/wvpl/wvpl_types.h" +#include "sdk/external/cpp/wvpl/common/wvpl_types.h" #include "protos/public/device_certificate_status.pb.h" namespace video_widevine { @@ -219,6 +219,7 @@ class WvPLSDKSession { WvPLRequestType request_type_; bool has_session_state_ = false; bool has_encrypted_client_id_ = false; + bool using_generated_content_id_ = false; std::string provider_; std::string provider_iv_; std::string provider_key_; @@ -331,6 +332,10 @@ class WvPLSDKSession { DeviceStatus GetDeviceStatus(video_widevine::DeviceCertificateStatus::Status device_certificate_status) const; + bool using_generated_content_id() const { + return using_generated_content_id_; + } + private: std::unique_ptr system_id_; bool has_policy_ = false; @@ -344,4 +349,4 @@ class WvPLSDKSession { } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_SDK_SESSION_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_SDK_SESSION_H_ diff --git a/ubuntu/sdk/external/common/wvpl/wvpl_types.h b/ubuntu/sdk/external/cpp/wvpl/common/wvpl_types.h old mode 100644 new mode 100755 similarity index 96% rename from ubuntu/sdk/external/common/wvpl/wvpl_types.h rename to ubuntu/sdk/external/cpp/wvpl/common/wvpl_types.h index 0e46287..6e63dd4 --- a/ubuntu/sdk/external/common/wvpl/wvpl_types.h +++ b/ubuntu/sdk/external/cpp/wvpl/common/wvpl_types.h @@ -1,7 +1,7 @@ // Copyright 2017 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_TYPES_H_ -#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_TYPES_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_TYPES_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_TYPES_H_ #include @@ -46,7 +46,9 @@ enum KeyType { // for now. PROVIDER_ECM_VERIFIER_PUBLIC_KEY = 4, // Wrapped key for auxiliary crypto operations. - OPERATOR_SESSION = 5 + OPERATOR_SESSION = 5, + // OEM-specified Entitlement key. + OEM_ENTITLEMENT = 6 }; // A shortcut for specifying whether to return keys for the video feature only @@ -66,7 +68,7 @@ enum VideoFeatureKeySet { // not associated with the video feature (e.g., SDR keys). VF_INCLUDED = 3, }; -// LINT.ThenChange(//depot/google3/license_server_sdk/external/wvpl/java/com/google/video/widevine/sdk/wvpl/WvPLVideoFeatureKeySet.java) +// LINT.ThenChange(//depot/google3/sdk/external/java/com/google/video/widevine/wvpl/license/WvPLVideoFeatureKeySet.java) // LINT.IfChange enum LicenseType { @@ -75,7 +77,7 @@ enum LicenseType { OFFLINE = 2, AUTOMATIC = 3, }; -// LINT.ThenChange(//depot/google3/license_server_sdk/external/wvpl/java/com/google/video/widevine/sdk/wvpl/WvPLLicenseType.java) +// LINT.ThenChange(//depot/google3/sdk/external/java/com/google/video/widevine/wvpl/license/WvPLLicenseType.java) /** * Represents the type of message. This struct is used by WvPL License SDK, @@ -88,7 +90,7 @@ enum MessageType { SERVICE_CERTIFICATE_REQUEST = 4, EXTERNAL_LICENSE_REQUEST = 9 }; -// LINT.ThenChange(//depot/google3/license_server_sdk/external/wvpl/java/com/google/video/widevine/sdk/wvpl/WvPLMessageType.java) +// LINT.ThenChange(//depot/google3/sdk/external/java/com/google/video/widevine/wvpl/license/WvPLMessageType.java) enum CertificateKeyType { RSA_2048 = 0, @@ -121,7 +123,7 @@ enum HDCP { HDCP_V2_3 = 5, HDCP_NO_DIGITAL_OUTPUT = 0xff }; -// LINT.ThenChange(//depot/google3/license_server_sdk/external/wvpl/java/com/google/video/widevine/sdk/wvpl/WvPLHdcp.java) +// LINT.ThenChange(//depot/google3/sdk/external/java/com/google/video/widevine/wvpl/license/WvPLHdcp.java) enum Platform { PLATFORM_UNSPECIFIED = 0, @@ -234,6 +236,17 @@ enum DeviceState { REVOKED_LICENSING = 7, }; +// Client-side watermarking restrictions for the license. +enum WatermarkingControl { + // Watermarking may or may not be used, provider does not care. + WATERMARKING_CONTROL_UNSPECIFIED = 0, + // Watermarking must not be used. The device must disable watermarking + // if it supports it. + WATERMARKING_FORBIDDEN = 1, + // Watermarking is required if the device supports it. + WATERMARKING_REQUIRED = 2, +}; + /* * Defines the type wrapper for wvpl request. */ @@ -288,6 +301,7 @@ class WvPLPlaybackPolicy { soft_enforce_rental_duration_ = true; always_include_client_id_ = false; renew_with_usage_ = false; + watermarking_control_ = WATERMARKING_CONTROL_UNSPECIFIED; } void set_license_duration_seconds(int64_t duration) { @@ -352,6 +366,12 @@ class WvPLPlaybackPolicy { bool soft_enforce_rental_duration() const { return soft_enforce_rental_duration_; } + void set_watermarking_control(WatermarkingControl watermarking_control) { + watermarking_control_ = watermarking_control; + } + WatermarkingControl watermarking_control() const { + return watermarking_control_; + } private: // The license window. Once a license is granted, the number of seconds to use @@ -415,6 +435,9 @@ class WvPLPlaybackPolicy { // indicates to client that RENEWAL and RELEASE requests should include // Clientidentification. bool always_include_client_id_; + + // Optional requirement to indicate watermarking is allowed. + WatermarkingControl watermarking_control_; }; /** @@ -703,8 +726,9 @@ class WvPLKey { const std::string& key_bytes() const { return key_bytes_; } // |wrapping_key| must be specified in bytes. This is to be specified only - // when 'key_type' is OEM_CONTENT. This key will be used to 'wrap' or - // 'encrypt' the Widevine-generated key control block in the license. + // when 'key_type' is OEM_CONTENT or OEM_ENTITLEMENT. This key will be used + // to 'wrap' or 'encrypt' the Widevine-generated key control block in the + // license. void set_wrapping_key(const std::string& wrapping_key) { wrapping_key_ = wrapping_key; } @@ -902,7 +926,7 @@ struct WvPLLicenseStatusCounterData { // Initialize members WvPLLicenseStatusCounterData() : license_status_(0), status_count_(0) {} uint32_t license_status_; - // Count of occurences of the above status; + // Count of occurrences of the above status; uint32_t status_count_; }; @@ -1779,4 +1803,4 @@ class WvPLSecurityProfile { } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_COMMON_WVPL_WVPL_TYPES_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_COMMON_WVPL_TYPES_H_ diff --git a/ubuntu/license_server_sdk/external/common/wvpl/wvpl_environment.h b/ubuntu/sdk/external/cpp/wvpl/license_server_sdk/wvpl_environment.h old mode 100644 new mode 100755 similarity index 93% rename from ubuntu/license_server_sdk/external/common/wvpl/wvpl_environment.h rename to ubuntu/sdk/external/cpp/wvpl/license_server_sdk/wvpl_environment.h index a7ebbfc..75b1524 --- a/ubuntu/license_server_sdk/external/common/wvpl/wvpl_environment.h +++ b/ubuntu/sdk/external/cpp/wvpl/license_server_sdk/wvpl_environment.h @@ -1,15 +1,15 @@ // Copyright 2017 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_ENVIRONMENT_H_ -#define VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_ENVIRONMENT_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_ENVIRONMENT_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_ENVIRONMENT_H_ #include #include #include -#include "license_server_sdk/public/environment.h" -#include "sdk/external/common/wvpl/wvpl_sdk_environment.h" -#include "sdk/external/common/wvpl/wvpl_types.h" +#include "sdk/external/cpp/wvdrm/license_server_sdk/environment.h" +#include "sdk/external/cpp/wvpl/common/wvpl_sdk_environment.h" +#include "sdk/external/cpp/wvpl/common/wvpl_types.h" // TODO(yawenyu): Use generateSignature function in WvPLSDKEnvironement instead // of get GetSignature. @@ -165,12 +165,12 @@ class WvPLEnvironment : public WvPLSDKEnvironment { // send a v17 message by setting the std::string to "16". For details, please see // common/oemcrypto_core_message/odk/include/core_message_features.h std::string core_message_features_; - // A few functions from license_server_sdk/public/environment are used to run - // wvpl_environment. + // A few functions from sdk/external/cpp/wvdrm/license_server_sdk/environment + // are used to run wvpl_environment. std::unique_ptr environment_; }; } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_ENVIRONMENT_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_ENVIRONMENT_H_ diff --git a/centos/license_server_sdk/external/common/wvpl/wvpl_session.h b/ubuntu/sdk/external/cpp/wvpl/license_server_sdk/wvpl_session.h similarity index 87% rename from centos/license_server_sdk/external/common/wvpl/wvpl_session.h rename to ubuntu/sdk/external/cpp/wvpl/license_server_sdk/wvpl_session.h index 857d3b2..7836e4b 100755 --- a/centos/license_server_sdk/external/common/wvpl/wvpl_session.h +++ b/ubuntu/sdk/external/cpp/wvpl/license_server_sdk/wvpl_session.h @@ -1,16 +1,16 @@ // Copyright 2017 Google LLC. All rights reserved. -#ifndef VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_SESSION_H_ -#define VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_SESSION_H_ +#ifndef VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_SESSION_H_ +#define VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_SESSION_H_ #include #include #include -#include "license_server_sdk/public/session.h" -#include "sdk/external/common/wvpl/wvpl_sdk_session.h" -#include "sdk/external/common/wvpl/wvpl_types.h" +#include "sdk/external/cpp/wvdrm/license_server_sdk/session.h" +#include "sdk/external/cpp/wvpl/common/wvpl_sdk_session.h" +#include "sdk/external/cpp/wvpl/common/wvpl_types.h" #include "protos/public/errors.pb.h" #include "protos/public/license_server_sdk.pb.h" #include "protos/public/oem_key_container.pb.h" @@ -28,9 +28,9 @@ namespace wv_pl_sdk { class WvPLLicenseCounter; // major version to line up with latest released OEMCryptoAPI version. -const uint32_t kMajorVersion = 16; -const uint32_t kMinorVersion = 5; -const uint32_t kRelease = 0; +const uint32_t kMajorVersion = 17; +const uint32_t kMinorVersion = 0; +const uint32_t kRelease = 1; // Once a Widevine environment object is successfully initialized, generate a // Widevine session object for each license request. CreateSession() parses @@ -116,4 +116,4 @@ class WvPLSession : public WvPLSDKSession { } // namespace wv_pl_sdk } // namespace video_widevine_server -#endif // VIDEO_WIDEVINE_EXPORT_LICENSE_SERVER_SDK_EXTERNAL_COMMON_WVPL_WVPL_SESSION_H_ +#endif // VIDEO_WIDEVINE_EXPORT_SDK_EXTERNAL_CPP_WVPL_LICENSE_SERVER_SDK_WVPL_SESSION_H_ diff --git a/ubuntu/util/error_space.h b/ubuntu/util/error_space.h old mode 100644 new mode 100755