1// Copyright 2021 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4// 5// **** DO NOT EDIT - this file was automatically generated. **** 6syntax = "proto3"; 7 8package cast.common; 9 10option optimize_for = LITE_RUNTIME; 11 12// Runtime description. 13message RuntimeMetadata { 14 // Runtime name (platform provided - optional). 15 string name = 1; 16 // Runtime type. 17 RuntimeType.Type type = 2; 18 // Various Runtime capabilities. 19 RuntimeCapabilities runtime_capabilities = 3; 20} 21 22message RuntimeType { 23 // RuntimeType enumeration sets defines the way runtimes are selected for a 24 // given Cast application. The following rules are applied in the order: 25 // 1. Select NATIVE runtime if Cast application ID is in the supported list. 26 // 2. Select CAST_LITE runtime if Cast application is audio-only. 27 // 3. Fall back to Cast Web runtime. 28 enum Type { 29 UNDEFINED = 0; 30 // Cast Web runtime. The list of supported Cast application IDs must be 31 // empty. 32 CAST_WEB = 1; 33 // Cast Lite runtime for audio. 34 CAST_LITE = 2; 35 // Runtimes native to specific platform (Netflix, YouTube applications etc) 36 NATIVE = 3; 37 } 38} 39 40message MediaCapabilities { 41 // TODO: These capabilities must be flashed out. 42 bool audio_supported = 1; 43 bool video_supported = 2; 44} 45 46message ApplicationCapabilities { 47 // List of supported Cast application IDs. 48 repeated string app_ids = 1; 49} 50 51message RuntimeCapabilities { 52 MediaCapabilities media_capabilities = 1; 53 54 oneof specific_capabilities { 55 // capabilities for NATIVE runtime. 56 ApplicationCapabilities native_application_capabilities = 2; 57 } 58 59 // Flags if metrics recording is supported. 60 bool metrics_recorder_supported = 4; 61} 62