123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- // Copyright (c) 2012 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- //
- // Protocol for control messages.
- syntax = "proto2";
- option optimize_for = LITE_RUNTIME;
- package remoting.protocol;
- import "layout_key_function.proto";
- // Set the host resolution to match the client. If screen_id is omitted, then
- // the message will be ignored unless there is only one host display.
- //
- // If none of the fields (apart from screen_id) are present, restore the host
- // resolution instead.
- message ClientResolution {
- // Width and height of the client in Density-Independent Pixels.
- optional int32 dips_width = 1;
- optional int32 dips_height = 2;
- // Deprecated width and height of the client in device pixels.
- optional int32 width_deprecated = 3;
- optional int32 height_deprecated = 4;
- // Horizontal and vertical DPI of the screen. If either of these is zero or
- // unset, the corresponding DPI should be assumed to be 96 (Windows' default)
- optional int32 x_dpi = 5;
- optional int32 y_dpi = 6;
- // The screen_id from the most recent VideoTrackLayout message.
- optional int64 screen_id = 7;
- }
- message VideoControl {
- // Enables the video channel if true, pauses if false.
- optional bool enable = 1;
- // Controls whether lossless encode and color translation are requested.
- optional bool lossless_encode = 2;
- optional bool lossless_color = 3;
- }
- message AudioControl {
- // Enables the audio channel if true, pauses if false.
- optional bool enable = 1;
- }
- message CursorShapeInfo {
- // Width, height (in screen pixels) of the cursor.
- optional int32 width = 1;
- optional int32 height = 2;
- // X,Y coordinates (relative to upper-left corner) of the cursor hotspot.
- optional int32 hotspot_x = 3;
- optional int32 hotspot_y = 4;
- // Cursor pixmap data in 32-bit BGRA format.
- optional bytes data = 5;
- }
- message Capabilities {
- // List of capabilities supported by the sender (case sensitive, capabilities
- // are separated by spaces).
- optional string capabilities = 1;
- }
- message PairingRequest {
- // Human-readable name of the client.
- optional string client_name = 1;
- }
- message PairingResponse {
- // Unique identifier for this client.
- optional string client_id = 1;
- // Shared secret for this client.
- optional string shared_secret = 2;
- }
- message ExtensionMessage {
- // The message type. This is used to dispatch the message to the correct
- // recipient.
- optional string type = 1;
- // String-encoded message data. The client and host must agree on the encoding
- // for each message type; different message types need not shared the same
- // encoding.
- optional string data = 2;
- }
- message VideoTrackLayout {
- // Unique display identifier, from ScreenId in desktop_capture_types.h.
- optional int64 screen_id = 8;
- // Name of the video stream, from the WebRTC MediaStream.id property.
- optional string media_stream_id = 1;
- // Position of the top left corner of the rectangle covered by the video
- // track in DIPs (device independent pixels).
- optional int32 position_x = 2;
- optional int32 position_y = 3;
- // Size of the area covered by the video track in DIPs.
- optional int32 width = 4;
- optional int32 height = 5;
- // DPI of the screen.
- optional int32 x_dpi = 6;
- optional int32 y_dpi = 7;
- }
- message VideoLayout {
- // Layout for each video track.
- repeated VideoTrackLayout video_track = 1;
- // True if this display configuration supports capturing the entire desktop.
- optional bool supports_full_desktop_capture = 2;
- }
- message SelectDesktopDisplayRequest {
- // Identifier for display to select. Valid strings are "0", "1", ...
- // The "all" string is used to select the entire desktop.
- optional string id = 1;
- }
- message DesktopDisplayInfo {
- // Unique display identifier.
- optional int64 id = 1;
- // Position of the top left corner of this display (in pixels).
- optional int32 x = 2;
- optional int32 y = 3;
- // Size of the display (in pixels).
- optional int32 width = 4;
- optional int32 height = 5;
- // DPI of the screen.
- optional int32 dpi = 6;
- // Bits per pixel.
- optional int32 bpp = 7;
- // True if this is the default display.
- optional bool is_default = 8;
- }
- // Next ID: 2
- message KeyboardLayout {
- // Next ID: 3
- message KeyAction {
- oneof action {
- LayoutKeyFunction function = 1;
- string character = 2;
- }
- }
- // Next ID: 2
- message KeyBehavior {
- // Maps 0-based shift level to key action. (Note: because this is zero-
- // based, it will be one less than the corresponding ISO shift level.)
- map<uint32, KeyAction> actions = 1;
- }
- // Map USB code to key behavior.
- map<uint32, KeyBehavior> keys = 1;
- }
- // Next ID: 2
- message TransportInfo {
- // Transport layer protocol the message sender uses to connect to the relay
- // server or the peer (if connection not relayed).
- // Possible values are those defined in the protocol and relayProtocol fields
- // in the RTCIceCandidateStats dictionary.
- // If the host failed to get protocol using WebRTC API, this field will be set
- // to "api-error".
- optional string protocol = 1;
- }
- // Next ID: 5
- message PeerConnectionParameters {
- // Sets preferred minimum and maximum bitrates. Unset fields means no
- // preference on the bitrate. Clients might need to keep track of existing
- // parameters if they need to do incremental changes.
- optional int32 preferred_min_bitrate_bps = 1;
- optional int32 preferred_max_bitrate_bps = 2;
- // Requests an ICE restart. This causes the host to initiate a new SDP
- // offer/answer exchange, and restarts the ICE gathering/connection sequence.
- // This can be used to re-establish a connection, without needing to
- // re-authenticate the user.
- optional bool request_ice_restart = 3;
- // Requests the host to initiate a new SDP offer/answer exchange, without
- // restarting ICE. This can be used to change SDP configuration (for example,
- // switching to a different codec), without needing a full reconnection.
- optional bool request_sdp_restart = 4;
- }
|