//////////////////////////////////////////////////////////////////////////////// // 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. //////////////////////////////////////////////////////////////////////////////// syntax = "proto2"; package widevine.cas; // Widevine private data in the CA descriptor. message CaDescriptorPrivateData { // Provider name. optional string provider = 1; // Content ID. optional bytes content_id = 2; // Entitlement key IDs for current content per track. Each track will allow up // to 2 entitlement key ids (odd and even entitlement keys). repeated bytes entitlement_key_ids = 3; } // Widevine fingerprinting. message Fingerprinting { // Channels that will be applied with the controls. repeated bytes channels = 1; // Fingerprinting controls are opaque to Widevine. optional bytes control = 2; } // Widevine service blocking. message ServiceBlocking { // Channels that will be blocked. repeated bytes channels = 1; // Device groups that will be blocked. Group definition is opaque to Widevine. repeated bytes device_groups = 2; // Blocking start time in seconds since epoch. Start time is "immediate" if // this field is not set. optional int64 start_time_sec = 3; // Required. Blocking end time in seconds since epoch. optional int64 end_time_sec = 4; } // The payload field for an EMM. message EmmPayload { repeated Fingerprinting fingerprinting = 1; repeated ServiceBlocking service_blocking = 2; }