Files
media_cas_proxy_sdk/ubuntu/protos/public/security_profile.proto
2021-07-12 21:46:29 +00:00

83 lines
2.9 KiB
Protocol Buffer

// Copyright 2019 Google LLC. All rights reserved.
//
// Definitions of the protocol buffer messages for security profile level.
syntax = "proto2";
package video_widevine;
import "protos/public/device_common.proto";
import "protos/public/device_security_profile_data.proto";
option java_outer_classname = "SecurityProfileProtos";
option java_package = "com.google.video.widevine.protos";
message SecurityProfile {
// TODO(hali): Remove this enum and use enum defined in
// protos/internal/devcei_data.proto.
enum DeviceState {
DEVICE_STATE_UNKNOWN = 0;
IN_TESTING = 1;
RELEASED = 2;
DELETED = 3;
TEST_ONLY = 4;
REVOKED = 5;
PRE_RELEASE = 6;
}
message ClientInfo {
message ProductInfo {
// The 'product_name' as specified in the
// ClientIdentification.names_values. Optional.
optional string product_name = 1;
// The 'build_info' as specified in the
// ClientIdentification.names_values. Optional.
optional string build_info = 2;
// The 'oem_crypto_security_patch_level' as specified in the
// ClientIdentification.names_values. Optional.
optional string oem_crypto_security_patch_level = 3;
// Widevine device platform.
optional string platform = 4;
}
// The 'device_name' as specified in the
// ClientIdentification.names_values. Optional.
optional string device_name = 1;
// Product fields that are specified in the
// ClientIdentification.names_values.
optional ProductInfo product_info = 2;
}
message DrmInfo {
// Make/Model specified by the client.
optional DeviceModel request_model_info = 1;
// Widevine device system id.
optional uint32 system_id = 2;
// Output requirements
optional OutputRequirement output = 3;
// Security requirements
optional SecurityRequirement security = 4;
// Device status such as RELEASED or REVOKED.
optional DeviceState device_model_state = 5;
// ClientIdentification.names_values fields.
optional ClientInfo client_info = 6;
}
// Required. Widevine security profile name.
optional string name = 1;
// Optional. Widevine security profile level.
optional SecurityProfileLevel level = 2;
// Minimum output requirements for this profile.
optional OutputRequirement min_output_requirements = 3;
// Minimum security requirements for this profile.
optional SecurityRequirement min_security_requirements = 4;
// Name of content owner who owns this security profile.
optional string owner = 5 [default = "Widevine"];
// Special handling of devices to override the default capabilities of a
// device.
repeated DeviceException device_exceptions = 6;
// Optional. Control time indicates the timestamps when this profile is
// effective and when it is expired. For default DSPs provided by Widevine,
// they are always being active and never expiring.
optional ControlTime control_time = 7;
}