2016-01-13 01:32:48 +00:00
|
|
|
// Copyright 2016 Google Inc. All rights reserved.
|
|
|
|
//
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file or at
|
|
|
|
// https://developers.google.com/open-source/licenses/bsd
|
|
|
|
//
|
|
|
|
// This file defines Widevine Pssh Data proto format.
|
|
|
|
|
|
|
|
syntax = "proto2";
|
2016-02-19 18:24:33 +00:00
|
|
|
option optimize_for = LITE_RUNTIME;
|
2016-01-13 01:32:48 +00:00
|
|
|
|
2016-05-20 21:19:33 +00:00
|
|
|
package shaka.media;
|
2016-01-13 01:32:48 +00:00
|
|
|
|
|
|
|
message WidevinePsshData {
|
|
|
|
enum Algorithm {
|
|
|
|
UNENCRYPTED = 0;
|
|
|
|
AESCTR = 1;
|
|
|
|
};
|
|
|
|
optional Algorithm algorithm = 1;
|
|
|
|
repeated bytes key_id = 2;
|
|
|
|
|
|
|
|
// Content provider name.
|
|
|
|
optional string provider = 3;
|
|
|
|
|
|
|
|
// A content identifier, specified by content provider.
|
|
|
|
optional bytes content_id = 4;
|
|
|
|
|
|
|
|
// The name of a registered policy to be used for this asset.
|
|
|
|
optional string policy = 6;
|
|
|
|
|
|
|
|
// Crypto period index, for media using key rotation.
|
|
|
|
optional uint32 crypto_period_index = 7;
|
|
|
|
|
|
|
|
// Optional protected context for group content. The grouped_license is a
|
|
|
|
// serialized SignedMessage.
|
|
|
|
optional bytes grouped_license = 8;
|
2016-10-08 01:32:00 +00:00
|
|
|
|
|
|
|
// Protection scheme identifying the encryption algorithm. Represented as one
|
|
|
|
// of the following 4CC values: 'cenc' (AES-CTR), 'cbc1' (AES-CBC),
|
|
|
|
// 'cens' (AES-CTR subsample), 'cbcs' (AES-CBC subsample).
|
|
|
|
optional uint32 protection_scheme = 9;
|
2016-01-13 01:32:48 +00:00
|
|
|
}
|