83 lines
2.9 KiB
Protocol Buffer
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;
|
|
}
|