Adds --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=1" to 'bazel build' command in moe_test.sh.
This flag also added to [] and [] ------------- CASDrmLicenseRequest at the proxy. ------------- CAS Proxy SDK version update to 1.1.2. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=231988012
This commit is contained in:
@@ -33,6 +33,8 @@ proto_library(
|
||||
"verified_media_pipeline.proto",
|
||||
"widevine_pssh.proto",
|
||||
"license_services.proto",
|
||||
"media_cas_encryption.proto",
|
||||
"media_cas_license.proto",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -241,3 +243,29 @@ java_proto_library(
|
||||
name = "widevine_pssh_java_proto",
|
||||
deps = [":widevine_pssh_proto_base"],
|
||||
)
|
||||
|
||||
proto_library(
|
||||
name = "media_cas_license_proto_base",
|
||||
srcs = ["media_cas_license.proto"],
|
||||
deps = [
|
||||
":license_protocol_proto_base",
|
||||
":license_server_sdk_proto_base",
|
||||
":errors_proto_base",
|
||||
":media_cas_encryption_proto_base",
|
||||
],
|
||||
)
|
||||
|
||||
cc_proto_library(
|
||||
name = "media_cas_license_proto",
|
||||
deps = [":media_cas_license_proto_base"],
|
||||
)
|
||||
|
||||
proto_library(
|
||||
name = "media_cas_encryption_proto_base",
|
||||
srcs = ["media_cas_encryption.proto"],
|
||||
)
|
||||
|
||||
cc_proto_library(
|
||||
name = "media_cas_encryption_proto",
|
||||
deps = [":media_cas_encryption_proto_base"],
|
||||
)
|
||||
|
||||
@@ -239,4 +239,10 @@ enum Errors {
|
||||
// Invalid method parameter.
|
||||
INVALID_PARAMETER = 170;
|
||||
|
||||
// Even KeyID not specified, CasEncryptionResponse.KeyInfo.KeySlot
|
||||
MISSING_EVEN_KEY_ID = 171;
|
||||
|
||||
// Even Key not specified, CasEncryptionResponse.KeyInfo.KeySlot
|
||||
MISSING_EVEN_KEY = 172;
|
||||
|
||||
}
|
||||
|
||||
74
protos/public/media_cas_encryption.proto
Normal file
74
protos/public/media_cas_encryption.proto
Normal file
@@ -0,0 +1,74 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright 2018 Google LLC.
|
||||
//
|
||||
// This software is licensed under the terms defined in the Widevine Master
|
||||
// License Agreement. For a copy of this agreement, please contact
|
||||
// widevine-licensing@google.com.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Protocol buffer definitions for Widevine CAS.
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
option java_package = "com.google.video.widevine.mediacasencryption";
|
||||
|
||||
package widevine;
|
||||
|
||||
message CasEncryptionRequest {
|
||||
optional bytes content_id = 1;
|
||||
optional string provider = 2;
|
||||
// Optional track types such as "AUDIO", SD" or "HD".
|
||||
repeated string track_types = 3;
|
||||
// Indicates if the client is using key rotation. If true, the server will
|
||||
// return one key for EVEN and one key for ODD, otherwise only a single key is
|
||||
// returned.
|
||||
optional bool key_rotation = 4;
|
||||
}
|
||||
|
||||
message CasEncryptionResponse {
|
||||
enum Status {
|
||||
STATUS_UNSPECIFIED = 0;
|
||||
OK = 1;
|
||||
SIGNATURE_FAILED = 2;
|
||||
ACCESS_DENIED = 3;
|
||||
INTERNAL_ERROR = 4;
|
||||
INVALID_ARGUMENT = 5;
|
||||
PROVIDER_ID_MISSING = 6;
|
||||
CONTENT_ID_MISSING = 7;
|
||||
TRACK_TYPE_MISSING = 8;
|
||||
}
|
||||
message KeyInfo {
|
||||
enum KeySlot {
|
||||
KEY_SLOT_UNSPECIFIED = 0;
|
||||
SINGLE = 1;
|
||||
EVEN = 2;
|
||||
ODD = 3;
|
||||
};
|
||||
optional bytes key_id = 1;
|
||||
optional bytes key = 2;
|
||||
// Optional label used for the key.
|
||||
optional string track_type = 3;
|
||||
optional KeySlot key_slot = 4;
|
||||
}
|
||||
optional Status status = 1;
|
||||
optional string status_message = 2;
|
||||
optional bytes content_id = 3;
|
||||
repeated KeyInfo entitlement_keys = 4;
|
||||
}
|
||||
|
||||
message SignedCasEncryptionRequest {
|
||||
optional bytes request = 1;
|
||||
optional bytes signature = 2;
|
||||
// Identifies the entity sending / signing the request.
|
||||
optional string signer = 3;
|
||||
}
|
||||
|
||||
message SignedCasEncryptionResponse {
|
||||
// Serialized CasEncryptionResponse message.
|
||||
optional bytes response = 1;
|
||||
optional bytes signature = 2;
|
||||
}
|
||||
|
||||
message HttpResponse {
|
||||
optional bytes response = 1;
|
||||
}
|
||||
110
protos/public/media_cas_license.proto
Normal file
110
protos/public/media_cas_license.proto
Normal file
@@ -0,0 +1,110 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright 2018 Google LLC.
|
||||
//
|
||||
// This software is licensed under the terms defined in the Widevine Master
|
||||
// License Agreement. For a copy of this agreement, please contact
|
||||
// widevine-licensing@google.com.
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Description:
|
||||
// Definitions of the protocol buffer messages used in the Widevine license
|
||||
// exchange protocol for Media CAS.
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
option java_package = "com.google.video.widevine.mediacaslicense";
|
||||
|
||||
import "protos/public/license_protocol.proto";
|
||||
import "protos/public/license_server_sdk.proto";
|
||||
import "protos/public/media_cas_encryption.proto";
|
||||
|
||||
package widevine;
|
||||
|
||||
message CasDrmLicenseRequest {
|
||||
// The request payload. This is usually the HTTP Post body of a request.
|
||||
// Required.
|
||||
optional bytes payload = 1;
|
||||
// The content provider whose proxy is sending this license request onto the
|
||||
// Widevine license service. Required.
|
||||
optional string provider_id = 2;
|
||||
// An identifier supplied by a content provider, used to identify a piece of
|
||||
// content and derive key IDs and content keys.
|
||||
optional bytes content_id = 3;
|
||||
// A ContentKeySpec identifies a content key by track type name. It also
|
||||
// specifies the policy that should be used for this key.
|
||||
// TODO(user): Consolidate this ContentKeySpec with
|
||||
// ModularDrmLicenseRequest_ContentKeySpec. Both should include a common
|
||||
// ContentKeySpec.
|
||||
message ContentKeySpec {
|
||||
optional License.KeyContainer.SecurityLevel security_level = 1;
|
||||
optional License.KeyContainer.OutputProtection required_output_protection =
|
||||
2;
|
||||
optional License.KeyContainer.OutputProtection requested_output_protection =
|
||||
3;
|
||||
// Optionally specify even, odd or single slot for key rotation.
|
||||
repeated CasEncryptionResponse.KeyInfo entitlement_keys = 4;
|
||||
optional License.KeyContainer.KeyType key_type = 5;
|
||||
}
|
||||
repeated ContentKeySpec content_key_specs = 4;
|
||||
// Policy for the entire license such as playback duration.
|
||||
optional License.Policy policy = 5;
|
||||
}
|
||||
|
||||
message CasDrmLicenseResponse {
|
||||
enum Status {
|
||||
UNKNOWN = 0;
|
||||
OK = 1;
|
||||
SIGNATURE_FAILED = 2;
|
||||
INVALID_LICENSE_CHALLENGE = 3;
|
||||
PROVIDER_ID_MISSING = 4;
|
||||
INVALID_CONTENT_INFO = 5;
|
||||
EMPTY_CONTENT_INFO = 6;
|
||||
CONTENT_ID_MISMATCH = 7;
|
||||
MISSING_CONTENT_ID = 8;
|
||||
MALFORMED_REQUEST = 9;
|
||||
INTERNAL_ERROR = 10;
|
||||
}
|
||||
optional Status status = 1;
|
||||
optional string status_message = 2;
|
||||
// Serialzed bytes for a CAS license.
|
||||
// TODO(user): Until a CAS license protocol is defined, this field is a
|
||||
// serialized License message defined in license_protocol.proto.
|
||||
optional bytes license = 3;
|
||||
// Actual SDK license status as defined in widevine/server/sdk/error.proto.
|
||||
optional uint32 internal_status = 4;
|
||||
// Indicates the type of message in the license response.
|
||||
optional SignedMessage.MessageType message_type = 5;
|
||||
// A subset of data from the Widevine PSSH.
|
||||
message PsshData {
|
||||
repeated bytes key_id = 1;
|
||||
optional bytes content_id = 2;
|
||||
}
|
||||
message LicenseMetadata {
|
||||
optional bytes content_id = 1;
|
||||
repeated bytes key_id = 2;
|
||||
}
|
||||
optional PsshData pssh_data = 6;
|
||||
optional SessionState session_state = 7;
|
||||
optional string content_owner = 8;
|
||||
optional string content_provider = 9;
|
||||
optional LicenseMetadata license_metadata = 10;
|
||||
}
|
||||
|
||||
message SignedCasDrmRequest {
|
||||
optional bytes request = 1;
|
||||
optional bytes signature = 2;
|
||||
// Identifies the entity sending / signing the request. Required if signature
|
||||
// is present.
|
||||
optional string signer = 3;
|
||||
// The IP Address of the portal that is forwarding the request from the
|
||||
// original sender.
|
||||
optional string client_ip_address = 4;
|
||||
// The client software identifier, as used by HTTP.
|
||||
optional string user_agent = 5;
|
||||
optional string provider = 6;
|
||||
}
|
||||
|
||||
message SignedCasDrmResponse {
|
||||
optional bytes response = 1;
|
||||
optional bytes signature = 2;
|
||||
}
|
||||
Reference in New Issue
Block a user