• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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