mirror of
https://github.com/hyugogirubato/KeyDive.git
synced 2024-12-25 04:11:44 +00:00
608 lines
38 KiB
Python
608 lines
38 KiB
Python
# mypy: ignore-errors
|
|
|
|
from google.protobuf.internal import containers as _containers
|
|
from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
|
|
from google.protobuf import descriptor as _descriptor
|
|
from google.protobuf import message as _message
|
|
from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
|
|
|
|
AUTOMATIC: LicenseType
|
|
DESCRIPTOR: _descriptor.FileDescriptor
|
|
HASH_ALGORITHM_SHA_1: HashAlgorithmProto
|
|
HASH_ALGORITHM_SHA_256: HashAlgorithmProto
|
|
HASH_ALGORITHM_SHA_384: HashAlgorithmProto
|
|
HASH_ALGORITHM_UNSPECIFIED: HashAlgorithmProto
|
|
OFFLINE: LicenseType
|
|
PLATFORM_HARDWARE_VERIFIED: PlatformVerificationStatus
|
|
PLATFORM_NO_VERIFICATION: PlatformVerificationStatus
|
|
PLATFORM_SECURE_STORAGE_SOFTWARE_VERIFIED: PlatformVerificationStatus
|
|
PLATFORM_SOFTWARE_VERIFIED: PlatformVerificationStatus
|
|
PLATFORM_TAMPERED: PlatformVerificationStatus
|
|
PLATFORM_UNVERIFIED: PlatformVerificationStatus
|
|
STREAMING: LicenseType
|
|
VERSION_2_0: ProtocolVersion
|
|
VERSION_2_1: ProtocolVersion
|
|
VERSION_2_2: ProtocolVersion
|
|
|
|
class ClientIdentification(_message.Message):
|
|
__slots__ = ["client_capabilities", "client_info", "device_credentials", "license_counter", "provider_client_token", "token", "type", "vmp_data"]
|
|
class TokenType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
class ClientCapabilities(_message.Message):
|
|
__slots__ = ["analog_output_capabilities", "anti_rollback_usage_table", "can_disable_analog_output", "can_update_srm", "client_token", "max_hdcp_version", "oem_crypto_api_version", "resource_rating_tier", "session_token", "srm_version", "supported_certificate_key_type", "video_resolution_constraints"]
|
|
class AnalogOutputCapabilities(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
class CertificateKeyType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
class HdcpVersion(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
ANALOG_OUTPUT_CAPABILITIES_FIELD_NUMBER: _ClassVar[int]
|
|
ANALOG_OUTPUT_NONE: ClientIdentification.ClientCapabilities.AnalogOutputCapabilities
|
|
ANALOG_OUTPUT_SUPPORTED: ClientIdentification.ClientCapabilities.AnalogOutputCapabilities
|
|
ANALOG_OUTPUT_SUPPORTS_CGMS_A: ClientIdentification.ClientCapabilities.AnalogOutputCapabilities
|
|
ANALOG_OUTPUT_UNKNOWN: ClientIdentification.ClientCapabilities.AnalogOutputCapabilities
|
|
ANTI_ROLLBACK_USAGE_TABLE_FIELD_NUMBER: _ClassVar[int]
|
|
CAN_DISABLE_ANALOG_OUTPUT_FIELD_NUMBER: _ClassVar[int]
|
|
CAN_UPDATE_SRM_FIELD_NUMBER: _ClassVar[int]
|
|
CLIENT_TOKEN_FIELD_NUMBER: _ClassVar[int]
|
|
ECC_SECP256R1: ClientIdentification.ClientCapabilities.CertificateKeyType
|
|
ECC_SECP384R1: ClientIdentification.ClientCapabilities.CertificateKeyType
|
|
ECC_SECP521R1: ClientIdentification.ClientCapabilities.CertificateKeyType
|
|
HDCP_NONE: ClientIdentification.ClientCapabilities.HdcpVersion
|
|
HDCP_NO_DIGITAL_OUTPUT: ClientIdentification.ClientCapabilities.HdcpVersion
|
|
HDCP_V1: ClientIdentification.ClientCapabilities.HdcpVersion
|
|
HDCP_V2: ClientIdentification.ClientCapabilities.HdcpVersion
|
|
HDCP_V2_1: ClientIdentification.ClientCapabilities.HdcpVersion
|
|
HDCP_V2_2: ClientIdentification.ClientCapabilities.HdcpVersion
|
|
HDCP_V2_3: ClientIdentification.ClientCapabilities.HdcpVersion
|
|
MAX_HDCP_VERSION_FIELD_NUMBER: _ClassVar[int]
|
|
OEM_CRYPTO_API_VERSION_FIELD_NUMBER: _ClassVar[int]
|
|
RESOURCE_RATING_TIER_FIELD_NUMBER: _ClassVar[int]
|
|
RSA_2048: ClientIdentification.ClientCapabilities.CertificateKeyType
|
|
RSA_3072: ClientIdentification.ClientCapabilities.CertificateKeyType
|
|
SESSION_TOKEN_FIELD_NUMBER: _ClassVar[int]
|
|
SRM_VERSION_FIELD_NUMBER: _ClassVar[int]
|
|
SUPPORTED_CERTIFICATE_KEY_TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
VIDEO_RESOLUTION_CONSTRAINTS_FIELD_NUMBER: _ClassVar[int]
|
|
analog_output_capabilities: ClientIdentification.ClientCapabilities.AnalogOutputCapabilities
|
|
anti_rollback_usage_table: bool
|
|
can_disable_analog_output: bool
|
|
can_update_srm: bool
|
|
client_token: bool
|
|
max_hdcp_version: ClientIdentification.ClientCapabilities.HdcpVersion
|
|
oem_crypto_api_version: int
|
|
resource_rating_tier: int
|
|
session_token: bool
|
|
srm_version: int
|
|
supported_certificate_key_type: _containers.RepeatedScalarFieldContainer[ClientIdentification.ClientCapabilities.CertificateKeyType]
|
|
video_resolution_constraints: bool
|
|
def __init__(self, client_token: bool = ..., session_token: bool = ..., video_resolution_constraints: bool = ..., max_hdcp_version: _Optional[_Union[ClientIdentification.ClientCapabilities.HdcpVersion, str]] = ..., oem_crypto_api_version: _Optional[int] = ..., anti_rollback_usage_table: bool = ..., srm_version: _Optional[int] = ..., can_update_srm: bool = ..., supported_certificate_key_type: _Optional[_Iterable[_Union[ClientIdentification.ClientCapabilities.CertificateKeyType, str]]] = ..., analog_output_capabilities: _Optional[_Union[ClientIdentification.ClientCapabilities.AnalogOutputCapabilities, str]] = ..., can_disable_analog_output: bool = ..., resource_rating_tier: _Optional[int] = ...) -> None: ...
|
|
class ClientCredentials(_message.Message):
|
|
__slots__ = ["token", "type"]
|
|
TOKEN_FIELD_NUMBER: _ClassVar[int]
|
|
TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
token: bytes
|
|
type: ClientIdentification.TokenType
|
|
def __init__(self, type: _Optional[_Union[ClientIdentification.TokenType, str]] = ..., token: _Optional[bytes] = ...) -> None: ...
|
|
class NameValue(_message.Message):
|
|
__slots__ = ["name", "value"]
|
|
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
VALUE_FIELD_NUMBER: _ClassVar[int]
|
|
name: str
|
|
value: str
|
|
def __init__(self, name: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
|
|
CLIENT_CAPABILITIES_FIELD_NUMBER: _ClassVar[int]
|
|
CLIENT_INFO_FIELD_NUMBER: _ClassVar[int]
|
|
DEVICE_CREDENTIALS_FIELD_NUMBER: _ClassVar[int]
|
|
DRM_DEVICE_CERTIFICATE: ClientIdentification.TokenType
|
|
KEYBOX: ClientIdentification.TokenType
|
|
LICENSE_COUNTER_FIELD_NUMBER: _ClassVar[int]
|
|
OEM_DEVICE_CERTIFICATE: ClientIdentification.TokenType
|
|
PROVIDER_CLIENT_TOKEN_FIELD_NUMBER: _ClassVar[int]
|
|
REMOTE_ATTESTATION_CERTIFICATE: ClientIdentification.TokenType
|
|
TOKEN_FIELD_NUMBER: _ClassVar[int]
|
|
TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
VMP_DATA_FIELD_NUMBER: _ClassVar[int]
|
|
client_capabilities: ClientIdentification.ClientCapabilities
|
|
client_info: _containers.RepeatedCompositeFieldContainer[ClientIdentification.NameValue]
|
|
device_credentials: _containers.RepeatedCompositeFieldContainer[ClientIdentification.ClientCredentials]
|
|
license_counter: int
|
|
provider_client_token: bytes
|
|
token: bytes
|
|
type: ClientIdentification.TokenType
|
|
vmp_data: bytes
|
|
def __init__(self, type: _Optional[_Union[ClientIdentification.TokenType, str]] = ..., token: _Optional[bytes] = ..., client_info: _Optional[_Iterable[_Union[ClientIdentification.NameValue, _Mapping]]] = ..., provider_client_token: _Optional[bytes] = ..., license_counter: _Optional[int] = ..., client_capabilities: _Optional[_Union[ClientIdentification.ClientCapabilities, _Mapping]] = ..., vmp_data: _Optional[bytes] = ..., device_credentials: _Optional[_Iterable[_Union[ClientIdentification.ClientCredentials, _Mapping]]] = ...) -> None: ...
|
|
|
|
class DrmCertificate(_message.Message):
|
|
__slots__ = ["algorithm", "creation_time_seconds", "encryption_key", "expiration_time_seconds", "provider_id", "public_key", "rot_id", "serial_number", "service_types", "system_id", "test_device_deprecated", "type"]
|
|
class Algorithm(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
class ServiceType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
class Type(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
class EncryptionKey(_message.Message):
|
|
__slots__ = ["algorithm", "public_key"]
|
|
ALGORITHM_FIELD_NUMBER: _ClassVar[int]
|
|
PUBLIC_KEY_FIELD_NUMBER: _ClassVar[int]
|
|
algorithm: DrmCertificate.Algorithm
|
|
public_key: bytes
|
|
def __init__(self, public_key: _Optional[bytes] = ..., algorithm: _Optional[_Union[DrmCertificate.Algorithm, str]] = ...) -> None: ...
|
|
ALGORITHM_FIELD_NUMBER: _ClassVar[int]
|
|
CAS_PROXY_SDK: DrmCertificate.ServiceType
|
|
CREATION_TIME_SECONDS_FIELD_NUMBER: _ClassVar[int]
|
|
DEVICE: DrmCertificate.Type
|
|
DEVICE_MODEL: DrmCertificate.Type
|
|
ECC_SECP256R1: DrmCertificate.Algorithm
|
|
ECC_SECP384R1: DrmCertificate.Algorithm
|
|
ECC_SECP521R1: DrmCertificate.Algorithm
|
|
ENCRYPTION_KEY_FIELD_NUMBER: _ClassVar[int]
|
|
EXPIRATION_TIME_SECONDS_FIELD_NUMBER: _ClassVar[int]
|
|
LICENSE_SERVER_PROXY_SDK: DrmCertificate.ServiceType
|
|
LICENSE_SERVER_SDK: DrmCertificate.ServiceType
|
|
PROVIDER_ID_FIELD_NUMBER: _ClassVar[int]
|
|
PROVISIONER: DrmCertificate.Type
|
|
PROVISIONING_SDK: DrmCertificate.ServiceType
|
|
PUBLIC_KEY_FIELD_NUMBER: _ClassVar[int]
|
|
ROOT: DrmCertificate.Type
|
|
ROT_ID_FIELD_NUMBER: _ClassVar[int]
|
|
RSA: DrmCertificate.Algorithm
|
|
SERIAL_NUMBER_FIELD_NUMBER: _ClassVar[int]
|
|
SERVICE: DrmCertificate.Type
|
|
SERVICE_TYPES_FIELD_NUMBER: _ClassVar[int]
|
|
SYSTEM_ID_FIELD_NUMBER: _ClassVar[int]
|
|
TEST_DEVICE_DEPRECATED_FIELD_NUMBER: _ClassVar[int]
|
|
TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
UNKNOWN_ALGORITHM: DrmCertificate.Algorithm
|
|
UNKNOWN_SERVICE_TYPE: DrmCertificate.ServiceType
|
|
algorithm: DrmCertificate.Algorithm
|
|
creation_time_seconds: int
|
|
encryption_key: DrmCertificate.EncryptionKey
|
|
expiration_time_seconds: int
|
|
provider_id: str
|
|
public_key: bytes
|
|
rot_id: bytes
|
|
serial_number: bytes
|
|
service_types: _containers.RepeatedScalarFieldContainer[DrmCertificate.ServiceType]
|
|
system_id: int
|
|
test_device_deprecated: bool
|
|
type: DrmCertificate.Type
|
|
def __init__(self, type: _Optional[_Union[DrmCertificate.Type, str]] = ..., serial_number: _Optional[bytes] = ..., creation_time_seconds: _Optional[int] = ..., expiration_time_seconds: _Optional[int] = ..., public_key: _Optional[bytes] = ..., system_id: _Optional[int] = ..., test_device_deprecated: bool = ..., provider_id: _Optional[str] = ..., service_types: _Optional[_Iterable[_Union[DrmCertificate.ServiceType, str]]] = ..., algorithm: _Optional[_Union[DrmCertificate.Algorithm, str]] = ..., rot_id: _Optional[bytes] = ..., encryption_key: _Optional[_Union[DrmCertificate.EncryptionKey, _Mapping]] = ...) -> None: ...
|
|
|
|
class EncryptedClientIdentification(_message.Message):
|
|
__slots__ = ["encrypted_client_id", "encrypted_client_id_iv", "encrypted_privacy_key", "provider_id", "service_certificate_serial_number"]
|
|
ENCRYPTED_CLIENT_ID_FIELD_NUMBER: _ClassVar[int]
|
|
ENCRYPTED_CLIENT_ID_IV_FIELD_NUMBER: _ClassVar[int]
|
|
ENCRYPTED_PRIVACY_KEY_FIELD_NUMBER: _ClassVar[int]
|
|
PROVIDER_ID_FIELD_NUMBER: _ClassVar[int]
|
|
SERVICE_CERTIFICATE_SERIAL_NUMBER_FIELD_NUMBER: _ClassVar[int]
|
|
encrypted_client_id: bytes
|
|
encrypted_client_id_iv: bytes
|
|
encrypted_privacy_key: bytes
|
|
provider_id: str
|
|
service_certificate_serial_number: bytes
|
|
def __init__(self, provider_id: _Optional[str] = ..., service_certificate_serial_number: _Optional[bytes] = ..., encrypted_client_id: _Optional[bytes] = ..., encrypted_client_id_iv: _Optional[bytes] = ..., encrypted_privacy_key: _Optional[bytes] = ...) -> None: ...
|
|
|
|
class FileHashes(_message.Message):
|
|
__slots__ = ["signatures", "signer"]
|
|
class Signature(_message.Message):
|
|
__slots__ = ["SHA512Hash", "filename", "main_exe", "signature", "test_signing"]
|
|
FILENAME_FIELD_NUMBER: _ClassVar[int]
|
|
MAIN_EXE_FIELD_NUMBER: _ClassVar[int]
|
|
SHA512HASH_FIELD_NUMBER: _ClassVar[int]
|
|
SHA512Hash: bytes
|
|
SIGNATURE_FIELD_NUMBER: _ClassVar[int]
|
|
TEST_SIGNING_FIELD_NUMBER: _ClassVar[int]
|
|
filename: str
|
|
main_exe: bool
|
|
signature: bytes
|
|
test_signing: bool
|
|
def __init__(self, filename: _Optional[str] = ..., test_signing: bool = ..., SHA512Hash: _Optional[bytes] = ..., main_exe: bool = ..., signature: _Optional[bytes] = ...) -> None: ...
|
|
SIGNATURES_FIELD_NUMBER: _ClassVar[int]
|
|
SIGNER_FIELD_NUMBER: _ClassVar[int]
|
|
signatures: _containers.RepeatedCompositeFieldContainer[FileHashes.Signature]
|
|
signer: bytes
|
|
def __init__(self, signer: _Optional[bytes] = ..., signatures: _Optional[_Iterable[_Union[FileHashes.Signature, _Mapping]]] = ...) -> None: ...
|
|
|
|
class License(_message.Message):
|
|
__slots__ = ["group_ids", "id", "key", "license_start_time", "platform_verification_status", "policy", "protection_scheme", "provider_client_token", "remote_attestation_verified", "srm_requirement", "srm_update"]
|
|
class KeyContainer(_message.Message):
|
|
__slots__ = ["anti_rollback_usage_table", "id", "iv", "key", "key_control", "level", "operator_session_key_permissions", "requested_protection", "required_protection", "track_label", "type", "video_resolution_constraints"]
|
|
class KeyType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
class SecurityLevel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
class KeyControl(_message.Message):
|
|
__slots__ = ["iv", "key_control_block"]
|
|
IV_FIELD_NUMBER: _ClassVar[int]
|
|
KEY_CONTROL_BLOCK_FIELD_NUMBER: _ClassVar[int]
|
|
iv: bytes
|
|
key_control_block: bytes
|
|
def __init__(self, key_control_block: _Optional[bytes] = ..., iv: _Optional[bytes] = ...) -> None: ...
|
|
class OperatorSessionKeyPermissions(_message.Message):
|
|
__slots__ = ["allow_decrypt", "allow_encrypt", "allow_sign", "allow_signature_verify"]
|
|
ALLOW_DECRYPT_FIELD_NUMBER: _ClassVar[int]
|
|
ALLOW_ENCRYPT_FIELD_NUMBER: _ClassVar[int]
|
|
ALLOW_SIGNATURE_VERIFY_FIELD_NUMBER: _ClassVar[int]
|
|
ALLOW_SIGN_FIELD_NUMBER: _ClassVar[int]
|
|
allow_decrypt: bool
|
|
allow_encrypt: bool
|
|
allow_sign: bool
|
|
allow_signature_verify: bool
|
|
def __init__(self, allow_encrypt: bool = ..., allow_decrypt: bool = ..., allow_sign: bool = ..., allow_signature_verify: bool = ...) -> None: ...
|
|
class OutputProtection(_message.Message):
|
|
__slots__ = ["cgms_flags", "disable_analog_output", "disable_digital_output", "hdcp", "hdcp_srm_rule"]
|
|
class CGMS(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
class HDCP(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
class HdcpSrmRule(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
CGMS_FLAGS_FIELD_NUMBER: _ClassVar[int]
|
|
CGMS_NONE: License.KeyContainer.OutputProtection.CGMS
|
|
COPY_FREE: License.KeyContainer.OutputProtection.CGMS
|
|
COPY_NEVER: License.KeyContainer.OutputProtection.CGMS
|
|
COPY_ONCE: License.KeyContainer.OutputProtection.CGMS
|
|
CURRENT_SRM: License.KeyContainer.OutputProtection.HdcpSrmRule
|
|
DISABLE_ANALOG_OUTPUT_FIELD_NUMBER: _ClassVar[int]
|
|
DISABLE_DIGITAL_OUTPUT_FIELD_NUMBER: _ClassVar[int]
|
|
HDCP_FIELD_NUMBER: _ClassVar[int]
|
|
HDCP_NONE: License.KeyContainer.OutputProtection.HDCP
|
|
HDCP_NO_DIGITAL_OUTPUT: License.KeyContainer.OutputProtection.HDCP
|
|
HDCP_SRM_RULE_FIELD_NUMBER: _ClassVar[int]
|
|
HDCP_SRM_RULE_NONE: License.KeyContainer.OutputProtection.HdcpSrmRule
|
|
HDCP_V1: License.KeyContainer.OutputProtection.HDCP
|
|
HDCP_V2: License.KeyContainer.OutputProtection.HDCP
|
|
HDCP_V2_1: License.KeyContainer.OutputProtection.HDCP
|
|
HDCP_V2_2: License.KeyContainer.OutputProtection.HDCP
|
|
HDCP_V2_3: License.KeyContainer.OutputProtection.HDCP
|
|
cgms_flags: License.KeyContainer.OutputProtection.CGMS
|
|
disable_analog_output: bool
|
|
disable_digital_output: bool
|
|
hdcp: License.KeyContainer.OutputProtection.HDCP
|
|
hdcp_srm_rule: License.KeyContainer.OutputProtection.HdcpSrmRule
|
|
def __init__(self, hdcp: _Optional[_Union[License.KeyContainer.OutputProtection.HDCP, str]] = ..., cgms_flags: _Optional[_Union[License.KeyContainer.OutputProtection.CGMS, str]] = ..., hdcp_srm_rule: _Optional[_Union[License.KeyContainer.OutputProtection.HdcpSrmRule, str]] = ..., disable_analog_output: bool = ..., disable_digital_output: bool = ...) -> None: ...
|
|
class VideoResolutionConstraint(_message.Message):
|
|
__slots__ = ["max_resolution_pixels", "min_resolution_pixels", "required_protection"]
|
|
MAX_RESOLUTION_PIXELS_FIELD_NUMBER: _ClassVar[int]
|
|
MIN_RESOLUTION_PIXELS_FIELD_NUMBER: _ClassVar[int]
|
|
REQUIRED_PROTECTION_FIELD_NUMBER: _ClassVar[int]
|
|
max_resolution_pixels: int
|
|
min_resolution_pixels: int
|
|
required_protection: License.KeyContainer.OutputProtection
|
|
def __init__(self, min_resolution_pixels: _Optional[int] = ..., max_resolution_pixels: _Optional[int] = ..., required_protection: _Optional[_Union[License.KeyContainer.OutputProtection, _Mapping]] = ...) -> None: ...
|
|
ANTI_ROLLBACK_USAGE_TABLE_FIELD_NUMBER: _ClassVar[int]
|
|
CONTENT: License.KeyContainer.KeyType
|
|
ENTITLEMENT: License.KeyContainer.KeyType
|
|
HW_SECURE_ALL: License.KeyContainer.SecurityLevel
|
|
HW_SECURE_CRYPTO: License.KeyContainer.SecurityLevel
|
|
HW_SECURE_DECODE: License.KeyContainer.SecurityLevel
|
|
ID_FIELD_NUMBER: _ClassVar[int]
|
|
IV_FIELD_NUMBER: _ClassVar[int]
|
|
KEY_CONTROL: License.KeyContainer.KeyType
|
|
KEY_CONTROL_FIELD_NUMBER: _ClassVar[int]
|
|
KEY_FIELD_NUMBER: _ClassVar[int]
|
|
LEVEL_FIELD_NUMBER: _ClassVar[int]
|
|
OEM_CONTENT: License.KeyContainer.KeyType
|
|
OPERATOR_SESSION: License.KeyContainer.KeyType
|
|
OPERATOR_SESSION_KEY_PERMISSIONS_FIELD_NUMBER: _ClassVar[int]
|
|
REQUESTED_PROTECTION_FIELD_NUMBER: _ClassVar[int]
|
|
REQUIRED_PROTECTION_FIELD_NUMBER: _ClassVar[int]
|
|
SIGNING: License.KeyContainer.KeyType
|
|
SW_SECURE_CRYPTO: License.KeyContainer.SecurityLevel
|
|
SW_SECURE_DECODE: License.KeyContainer.SecurityLevel
|
|
TRACK_LABEL_FIELD_NUMBER: _ClassVar[int]
|
|
TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
VIDEO_RESOLUTION_CONSTRAINTS_FIELD_NUMBER: _ClassVar[int]
|
|
anti_rollback_usage_table: bool
|
|
id: bytes
|
|
iv: bytes
|
|
key: bytes
|
|
key_control: License.KeyContainer.KeyControl
|
|
level: License.KeyContainer.SecurityLevel
|
|
operator_session_key_permissions: License.KeyContainer.OperatorSessionKeyPermissions
|
|
requested_protection: License.KeyContainer.OutputProtection
|
|
required_protection: License.KeyContainer.OutputProtection
|
|
track_label: str
|
|
type: License.KeyContainer.KeyType
|
|
video_resolution_constraints: _containers.RepeatedCompositeFieldContainer[License.KeyContainer.VideoResolutionConstraint]
|
|
def __init__(self, id: _Optional[bytes] = ..., iv: _Optional[bytes] = ..., key: _Optional[bytes] = ..., type: _Optional[_Union[License.KeyContainer.KeyType, str]] = ..., level: _Optional[_Union[License.KeyContainer.SecurityLevel, str]] = ..., required_protection: _Optional[_Union[License.KeyContainer.OutputProtection, _Mapping]] = ..., requested_protection: _Optional[_Union[License.KeyContainer.OutputProtection, _Mapping]] = ..., key_control: _Optional[_Union[License.KeyContainer.KeyControl, _Mapping]] = ..., operator_session_key_permissions: _Optional[_Union[License.KeyContainer.OperatorSessionKeyPermissions, _Mapping]] = ..., video_resolution_constraints: _Optional[_Iterable[_Union[License.KeyContainer.VideoResolutionConstraint, _Mapping]]] = ..., anti_rollback_usage_table: bool = ..., track_label: _Optional[str] = ...) -> None: ...
|
|
class Policy(_message.Message):
|
|
__slots__ = ["always_include_client_id", "can_persist", "can_play", "can_renew", "license_duration_seconds", "play_start_grace_period_seconds", "playback_duration_seconds", "renew_with_usage", "renewal_delay_seconds", "renewal_recovery_duration_seconds", "renewal_retry_interval_seconds", "renewal_server_url", "rental_duration_seconds", "soft_enforce_playback_duration", "soft_enforce_rental_duration"]
|
|
ALWAYS_INCLUDE_CLIENT_ID_FIELD_NUMBER: _ClassVar[int]
|
|
CAN_PERSIST_FIELD_NUMBER: _ClassVar[int]
|
|
CAN_PLAY_FIELD_NUMBER: _ClassVar[int]
|
|
CAN_RENEW_FIELD_NUMBER: _ClassVar[int]
|
|
LICENSE_DURATION_SECONDS_FIELD_NUMBER: _ClassVar[int]
|
|
PLAYBACK_DURATION_SECONDS_FIELD_NUMBER: _ClassVar[int]
|
|
PLAY_START_GRACE_PERIOD_SECONDS_FIELD_NUMBER: _ClassVar[int]
|
|
RENEWAL_DELAY_SECONDS_FIELD_NUMBER: _ClassVar[int]
|
|
RENEWAL_RECOVERY_DURATION_SECONDS_FIELD_NUMBER: _ClassVar[int]
|
|
RENEWAL_RETRY_INTERVAL_SECONDS_FIELD_NUMBER: _ClassVar[int]
|
|
RENEWAL_SERVER_URL_FIELD_NUMBER: _ClassVar[int]
|
|
RENEW_WITH_USAGE_FIELD_NUMBER: _ClassVar[int]
|
|
RENTAL_DURATION_SECONDS_FIELD_NUMBER: _ClassVar[int]
|
|
SOFT_ENFORCE_PLAYBACK_DURATION_FIELD_NUMBER: _ClassVar[int]
|
|
SOFT_ENFORCE_RENTAL_DURATION_FIELD_NUMBER: _ClassVar[int]
|
|
always_include_client_id: bool
|
|
can_persist: bool
|
|
can_play: bool
|
|
can_renew: bool
|
|
license_duration_seconds: int
|
|
play_start_grace_period_seconds: int
|
|
playback_duration_seconds: int
|
|
renew_with_usage: bool
|
|
renewal_delay_seconds: int
|
|
renewal_recovery_duration_seconds: int
|
|
renewal_retry_interval_seconds: int
|
|
renewal_server_url: str
|
|
rental_duration_seconds: int
|
|
soft_enforce_playback_duration: bool
|
|
soft_enforce_rental_duration: bool
|
|
def __init__(self, can_play: bool = ..., can_persist: bool = ..., can_renew: bool = ..., rental_duration_seconds: _Optional[int] = ..., playback_duration_seconds: _Optional[int] = ..., license_duration_seconds: _Optional[int] = ..., renewal_recovery_duration_seconds: _Optional[int] = ..., renewal_server_url: _Optional[str] = ..., renewal_delay_seconds: _Optional[int] = ..., renewal_retry_interval_seconds: _Optional[int] = ..., renew_with_usage: bool = ..., always_include_client_id: bool = ..., play_start_grace_period_seconds: _Optional[int] = ..., soft_enforce_playback_duration: bool = ..., soft_enforce_rental_duration: bool = ...) -> None: ...
|
|
GROUP_IDS_FIELD_NUMBER: _ClassVar[int]
|
|
ID_FIELD_NUMBER: _ClassVar[int]
|
|
KEY_FIELD_NUMBER: _ClassVar[int]
|
|
LICENSE_START_TIME_FIELD_NUMBER: _ClassVar[int]
|
|
PLATFORM_VERIFICATION_STATUS_FIELD_NUMBER: _ClassVar[int]
|
|
POLICY_FIELD_NUMBER: _ClassVar[int]
|
|
PROTECTION_SCHEME_FIELD_NUMBER: _ClassVar[int]
|
|
PROVIDER_CLIENT_TOKEN_FIELD_NUMBER: _ClassVar[int]
|
|
REMOTE_ATTESTATION_VERIFIED_FIELD_NUMBER: _ClassVar[int]
|
|
SRM_REQUIREMENT_FIELD_NUMBER: _ClassVar[int]
|
|
SRM_UPDATE_FIELD_NUMBER: _ClassVar[int]
|
|
group_ids: _containers.RepeatedScalarFieldContainer[bytes]
|
|
id: LicenseIdentification
|
|
key: _containers.RepeatedCompositeFieldContainer[License.KeyContainer]
|
|
license_start_time: int
|
|
platform_verification_status: PlatformVerificationStatus
|
|
policy: License.Policy
|
|
protection_scheme: int
|
|
provider_client_token: bytes
|
|
remote_attestation_verified: bool
|
|
srm_requirement: bytes
|
|
srm_update: bytes
|
|
def __init__(self, id: _Optional[_Union[LicenseIdentification, _Mapping]] = ..., policy: _Optional[_Union[License.Policy, _Mapping]] = ..., key: _Optional[_Iterable[_Union[License.KeyContainer, _Mapping]]] = ..., license_start_time: _Optional[int] = ..., remote_attestation_verified: bool = ..., provider_client_token: _Optional[bytes] = ..., protection_scheme: _Optional[int] = ..., srm_requirement: _Optional[bytes] = ..., srm_update: _Optional[bytes] = ..., platform_verification_status: _Optional[_Union[PlatformVerificationStatus, str]] = ..., group_ids: _Optional[_Iterable[bytes]] = ...) -> None: ...
|
|
|
|
class LicenseIdentification(_message.Message):
|
|
__slots__ = ["provider_session_token", "purchase_id", "request_id", "session_id", "type", "version"]
|
|
PROVIDER_SESSION_TOKEN_FIELD_NUMBER: _ClassVar[int]
|
|
PURCHASE_ID_FIELD_NUMBER: _ClassVar[int]
|
|
REQUEST_ID_FIELD_NUMBER: _ClassVar[int]
|
|
SESSION_ID_FIELD_NUMBER: _ClassVar[int]
|
|
TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
VERSION_FIELD_NUMBER: _ClassVar[int]
|
|
provider_session_token: bytes
|
|
purchase_id: bytes
|
|
request_id: bytes
|
|
session_id: bytes
|
|
type: LicenseType
|
|
version: int
|
|
def __init__(self, request_id: _Optional[bytes] = ..., session_id: _Optional[bytes] = ..., purchase_id: _Optional[bytes] = ..., type: _Optional[_Union[LicenseType, str]] = ..., version: _Optional[int] = ..., provider_session_token: _Optional[bytes] = ...) -> None: ...
|
|
|
|
class LicenseRequest(_message.Message):
|
|
__slots__ = ["client_id", "content_id", "encrypted_client_id", "key_control_nonce", "key_control_nonce_deprecated", "protocol_version", "request_time", "type"]
|
|
class RequestType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
class ContentIdentification(_message.Message):
|
|
__slots__ = ["existing_license", "init_data", "webm_key_id", "widevine_pssh_data"]
|
|
class ExistingLicense(_message.Message):
|
|
__slots__ = ["license_id", "seconds_since_last_played", "seconds_since_started", "session_usage_table_entry"]
|
|
LICENSE_ID_FIELD_NUMBER: _ClassVar[int]
|
|
SECONDS_SINCE_LAST_PLAYED_FIELD_NUMBER: _ClassVar[int]
|
|
SECONDS_SINCE_STARTED_FIELD_NUMBER: _ClassVar[int]
|
|
SESSION_USAGE_TABLE_ENTRY_FIELD_NUMBER: _ClassVar[int]
|
|
license_id: LicenseIdentification
|
|
seconds_since_last_played: int
|
|
seconds_since_started: int
|
|
session_usage_table_entry: bytes
|
|
def __init__(self, license_id: _Optional[_Union[LicenseIdentification, _Mapping]] = ..., seconds_since_started: _Optional[int] = ..., seconds_since_last_played: _Optional[int] = ..., session_usage_table_entry: _Optional[bytes] = ...) -> None: ...
|
|
class InitData(_message.Message):
|
|
__slots__ = ["init_data", "init_data_type", "license_type", "request_id"]
|
|
class InitDataType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
CENC: LicenseRequest.ContentIdentification.InitData.InitDataType
|
|
INIT_DATA_FIELD_NUMBER: _ClassVar[int]
|
|
INIT_DATA_TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
LICENSE_TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
REQUEST_ID_FIELD_NUMBER: _ClassVar[int]
|
|
WEBM: LicenseRequest.ContentIdentification.InitData.InitDataType
|
|
init_data: bytes
|
|
init_data_type: LicenseRequest.ContentIdentification.InitData.InitDataType
|
|
license_type: LicenseType
|
|
request_id: bytes
|
|
def __init__(self, init_data_type: _Optional[_Union[LicenseRequest.ContentIdentification.InitData.InitDataType, str]] = ..., init_data: _Optional[bytes] = ..., license_type: _Optional[_Union[LicenseType, str]] = ..., request_id: _Optional[bytes] = ...) -> None: ...
|
|
class WebmKeyId(_message.Message):
|
|
__slots__ = ["header", "license_type", "request_id"]
|
|
HEADER_FIELD_NUMBER: _ClassVar[int]
|
|
LICENSE_TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
REQUEST_ID_FIELD_NUMBER: _ClassVar[int]
|
|
header: bytes
|
|
license_type: LicenseType
|
|
request_id: bytes
|
|
def __init__(self, header: _Optional[bytes] = ..., license_type: _Optional[_Union[LicenseType, str]] = ..., request_id: _Optional[bytes] = ...) -> None: ...
|
|
class WidevinePsshData(_message.Message):
|
|
__slots__ = ["license_type", "pssh_data", "request_id"]
|
|
LICENSE_TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
PSSH_DATA_FIELD_NUMBER: _ClassVar[int]
|
|
REQUEST_ID_FIELD_NUMBER: _ClassVar[int]
|
|
license_type: LicenseType
|
|
pssh_data: _containers.RepeatedScalarFieldContainer[bytes]
|
|
request_id: bytes
|
|
def __init__(self, pssh_data: _Optional[_Iterable[bytes]] = ..., license_type: _Optional[_Union[LicenseType, str]] = ..., request_id: _Optional[bytes] = ...) -> None: ...
|
|
EXISTING_LICENSE_FIELD_NUMBER: _ClassVar[int]
|
|
INIT_DATA_FIELD_NUMBER: _ClassVar[int]
|
|
WEBM_KEY_ID_FIELD_NUMBER: _ClassVar[int]
|
|
WIDEVINE_PSSH_DATA_FIELD_NUMBER: _ClassVar[int]
|
|
existing_license: LicenseRequest.ContentIdentification.ExistingLicense
|
|
init_data: LicenseRequest.ContentIdentification.InitData
|
|
webm_key_id: LicenseRequest.ContentIdentification.WebmKeyId
|
|
widevine_pssh_data: LicenseRequest.ContentIdentification.WidevinePsshData
|
|
def __init__(self, widevine_pssh_data: _Optional[_Union[LicenseRequest.ContentIdentification.WidevinePsshData, _Mapping]] = ..., webm_key_id: _Optional[_Union[LicenseRequest.ContentIdentification.WebmKeyId, _Mapping]] = ..., existing_license: _Optional[_Union[LicenseRequest.ContentIdentification.ExistingLicense, _Mapping]] = ..., init_data: _Optional[_Union[LicenseRequest.ContentIdentification.InitData, _Mapping]] = ...) -> None: ...
|
|
CLIENT_ID_FIELD_NUMBER: _ClassVar[int]
|
|
CONTENT_ID_FIELD_NUMBER: _ClassVar[int]
|
|
ENCRYPTED_CLIENT_ID_FIELD_NUMBER: _ClassVar[int]
|
|
KEY_CONTROL_NONCE_DEPRECATED_FIELD_NUMBER: _ClassVar[int]
|
|
KEY_CONTROL_NONCE_FIELD_NUMBER: _ClassVar[int]
|
|
NEW: LicenseRequest.RequestType
|
|
PROTOCOL_VERSION_FIELD_NUMBER: _ClassVar[int]
|
|
RELEASE: LicenseRequest.RequestType
|
|
RENEWAL: LicenseRequest.RequestType
|
|
REQUEST_TIME_FIELD_NUMBER: _ClassVar[int]
|
|
TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
client_id: ClientIdentification
|
|
content_id: LicenseRequest.ContentIdentification
|
|
encrypted_client_id: EncryptedClientIdentification
|
|
key_control_nonce: int
|
|
key_control_nonce_deprecated: bytes
|
|
protocol_version: ProtocolVersion
|
|
request_time: int
|
|
type: LicenseRequest.RequestType
|
|
def __init__(self, client_id: _Optional[_Union[ClientIdentification, _Mapping]] = ..., content_id: _Optional[_Union[LicenseRequest.ContentIdentification, _Mapping]] = ..., type: _Optional[_Union[LicenseRequest.RequestType, str]] = ..., request_time: _Optional[int] = ..., key_control_nonce_deprecated: _Optional[bytes] = ..., protocol_version: _Optional[_Union[ProtocolVersion, str]] = ..., key_control_nonce: _Optional[int] = ..., encrypted_client_id: _Optional[_Union[EncryptedClientIdentification, _Mapping]] = ...) -> None: ...
|
|
|
|
class MetricData(_message.Message):
|
|
__slots__ = ["metric_data", "stage_name"]
|
|
class MetricType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
class TypeValue(_message.Message):
|
|
__slots__ = ["type", "value"]
|
|
TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
VALUE_FIELD_NUMBER: _ClassVar[int]
|
|
type: MetricData.MetricType
|
|
value: int
|
|
def __init__(self, type: _Optional[_Union[MetricData.MetricType, str]] = ..., value: _Optional[int] = ...) -> None: ...
|
|
LATENCY: MetricData.MetricType
|
|
METRIC_DATA_FIELD_NUMBER: _ClassVar[int]
|
|
STAGE_NAME_FIELD_NUMBER: _ClassVar[int]
|
|
TIMESTAMP: MetricData.MetricType
|
|
metric_data: _containers.RepeatedCompositeFieldContainer[MetricData.TypeValue]
|
|
stage_name: str
|
|
def __init__(self, stage_name: _Optional[str] = ..., metric_data: _Optional[_Iterable[_Union[MetricData.TypeValue, _Mapping]]] = ...) -> None: ...
|
|
|
|
class SignedDrmCertificate(_message.Message):
|
|
__slots__ = ["drm_certificate", "hash_algorithm", "signature", "signer"]
|
|
DRM_CERTIFICATE_FIELD_NUMBER: _ClassVar[int]
|
|
HASH_ALGORITHM_FIELD_NUMBER: _ClassVar[int]
|
|
SIGNATURE_FIELD_NUMBER: _ClassVar[int]
|
|
SIGNER_FIELD_NUMBER: _ClassVar[int]
|
|
drm_certificate: bytes
|
|
hash_algorithm: HashAlgorithmProto
|
|
signature: bytes
|
|
signer: SignedDrmCertificate
|
|
def __init__(self, drm_certificate: _Optional[bytes] = ..., signature: _Optional[bytes] = ..., signer: _Optional[_Union[SignedDrmCertificate, _Mapping]] = ..., hash_algorithm: _Optional[_Union[HashAlgorithmProto, str]] = ...) -> None: ...
|
|
|
|
class SignedMessage(_message.Message):
|
|
__slots__ = ["metric_data", "msg", "oemcrypto_core_message", "remote_attestation", "service_version_info", "session_key", "session_key_type", "signature", "type"]
|
|
class MessageType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
class SessionKeyType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
CAS_LICENSE: SignedMessage.MessageType
|
|
CAS_LICENSE_REQUEST: SignedMessage.MessageType
|
|
EPHERMERAL_ECC_PUBLIC_KEY: SignedMessage.SessionKeyType
|
|
ERROR_RESPONSE: SignedMessage.MessageType
|
|
EXTERNAL_LICENSE: SignedMessage.MessageType
|
|
EXTERNAL_LICENSE_REQUEST: SignedMessage.MessageType
|
|
LICENSE: SignedMessage.MessageType
|
|
LICENSE_REQUEST: SignedMessage.MessageType
|
|
METRIC_DATA_FIELD_NUMBER: _ClassVar[int]
|
|
MSG_FIELD_NUMBER: _ClassVar[int]
|
|
OEMCRYPTO_CORE_MESSAGE_FIELD_NUMBER: _ClassVar[int]
|
|
REMOTE_ATTESTATION_FIELD_NUMBER: _ClassVar[int]
|
|
SERVICE_CERTIFICATE: SignedMessage.MessageType
|
|
SERVICE_CERTIFICATE_REQUEST: SignedMessage.MessageType
|
|
SERVICE_VERSION_INFO_FIELD_NUMBER: _ClassVar[int]
|
|
SESSION_KEY_FIELD_NUMBER: _ClassVar[int]
|
|
SESSION_KEY_TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
SIGNATURE_FIELD_NUMBER: _ClassVar[int]
|
|
SUB_LICENSE: SignedMessage.MessageType
|
|
TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
UNDEFINED: SignedMessage.SessionKeyType
|
|
WRAPPED_AES_KEY: SignedMessage.SessionKeyType
|
|
metric_data: _containers.RepeatedCompositeFieldContainer[MetricData]
|
|
msg: bytes
|
|
oemcrypto_core_message: bytes
|
|
remote_attestation: bytes
|
|
service_version_info: VersionInfo
|
|
session_key: bytes
|
|
session_key_type: SignedMessage.SessionKeyType
|
|
signature: bytes
|
|
type: SignedMessage.MessageType
|
|
def __init__(self, type: _Optional[_Union[SignedMessage.MessageType, str]] = ..., msg: _Optional[bytes] = ..., signature: _Optional[bytes] = ..., session_key: _Optional[bytes] = ..., remote_attestation: _Optional[bytes] = ..., metric_data: _Optional[_Iterable[_Union[MetricData, _Mapping]]] = ..., service_version_info: _Optional[_Union[VersionInfo, _Mapping]] = ..., session_key_type: _Optional[_Union[SignedMessage.SessionKeyType, str]] = ..., oemcrypto_core_message: _Optional[bytes] = ...) -> None: ...
|
|
|
|
class VersionInfo(_message.Message):
|
|
__slots__ = ["license_sdk_version", "license_service_version"]
|
|
LICENSE_SDK_VERSION_FIELD_NUMBER: _ClassVar[int]
|
|
LICENSE_SERVICE_VERSION_FIELD_NUMBER: _ClassVar[int]
|
|
license_sdk_version: str
|
|
license_service_version: str
|
|
def __init__(self, license_sdk_version: _Optional[str] = ..., license_service_version: _Optional[str] = ...) -> None: ...
|
|
|
|
class WidevinePsshData(_message.Message):
|
|
__slots__ = ["algorithm", "content_id", "crypto_period_index", "crypto_period_seconds", "entitled_keys", "group_ids", "grouped_license", "key_ids", "key_sequence", "policy", "protection_scheme", "provider", "track_type", "type", "video_feature"]
|
|
class Algorithm(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
class Type(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
class EntitledKey(_message.Message):
|
|
__slots__ = ["entitlement_key_id", "entitlement_key_size_bytes", "iv", "key", "key_id"]
|
|
ENTITLEMENT_KEY_ID_FIELD_NUMBER: _ClassVar[int]
|
|
ENTITLEMENT_KEY_SIZE_BYTES_FIELD_NUMBER: _ClassVar[int]
|
|
IV_FIELD_NUMBER: _ClassVar[int]
|
|
KEY_FIELD_NUMBER: _ClassVar[int]
|
|
KEY_ID_FIELD_NUMBER: _ClassVar[int]
|
|
entitlement_key_id: bytes
|
|
entitlement_key_size_bytes: int
|
|
iv: bytes
|
|
key: bytes
|
|
key_id: bytes
|
|
def __init__(self, entitlement_key_id: _Optional[bytes] = ..., key_id: _Optional[bytes] = ..., key: _Optional[bytes] = ..., iv: _Optional[bytes] = ..., entitlement_key_size_bytes: _Optional[int] = ...) -> None: ...
|
|
AESCTR: WidevinePsshData.Algorithm
|
|
ALGORITHM_FIELD_NUMBER: _ClassVar[int]
|
|
CONTENT_ID_FIELD_NUMBER: _ClassVar[int]
|
|
CRYPTO_PERIOD_INDEX_FIELD_NUMBER: _ClassVar[int]
|
|
CRYPTO_PERIOD_SECONDS_FIELD_NUMBER: _ClassVar[int]
|
|
ENTITLED_KEY: WidevinePsshData.Type
|
|
ENTITLED_KEYS_FIELD_NUMBER: _ClassVar[int]
|
|
ENTITLEMENT: WidevinePsshData.Type
|
|
GROUPED_LICENSE_FIELD_NUMBER: _ClassVar[int]
|
|
GROUP_IDS_FIELD_NUMBER: _ClassVar[int]
|
|
KEY_IDS_FIELD_NUMBER: _ClassVar[int]
|
|
KEY_SEQUENCE_FIELD_NUMBER: _ClassVar[int]
|
|
POLICY_FIELD_NUMBER: _ClassVar[int]
|
|
PROTECTION_SCHEME_FIELD_NUMBER: _ClassVar[int]
|
|
PROVIDER_FIELD_NUMBER: _ClassVar[int]
|
|
SINGLE: WidevinePsshData.Type
|
|
TRACK_TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
UNENCRYPTED: WidevinePsshData.Algorithm
|
|
VIDEO_FEATURE_FIELD_NUMBER: _ClassVar[int]
|
|
algorithm: WidevinePsshData.Algorithm
|
|
content_id: bytes
|
|
crypto_period_index: int
|
|
crypto_period_seconds: int
|
|
entitled_keys: _containers.RepeatedCompositeFieldContainer[WidevinePsshData.EntitledKey]
|
|
group_ids: _containers.RepeatedScalarFieldContainer[bytes]
|
|
grouped_license: bytes
|
|
key_ids: _containers.RepeatedScalarFieldContainer[bytes]
|
|
key_sequence: int
|
|
policy: str
|
|
protection_scheme: int
|
|
provider: str
|
|
track_type: str
|
|
type: WidevinePsshData.Type
|
|
video_feature: str
|
|
def __init__(self, key_ids: _Optional[_Iterable[bytes]] = ..., content_id: _Optional[bytes] = ..., crypto_period_index: _Optional[int] = ..., protection_scheme: _Optional[int] = ..., crypto_period_seconds: _Optional[int] = ..., type: _Optional[_Union[WidevinePsshData.Type, str]] = ..., key_sequence: _Optional[int] = ..., group_ids: _Optional[_Iterable[bytes]] = ..., entitled_keys: _Optional[_Iterable[_Union[WidevinePsshData.EntitledKey, _Mapping]]] = ..., video_feature: _Optional[str] = ..., algorithm: _Optional[_Union[WidevinePsshData.Algorithm, str]] = ..., provider: _Optional[str] = ..., track_type: _Optional[str] = ..., policy: _Optional[str] = ..., grouped_license: _Optional[bytes] = ...) -> None: ...
|
|
|
|
class LicenseType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
|
|
class PlatformVerificationStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
|
|
class ProtocolVersion(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|
|
|
|
class HashAlgorithmProto(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
__slots__ = []
|