blob: 72c843df48a2e44d1190056ceb8f8def59d65be6 [file] [log] [blame]
// 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;
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;
}
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 {
// Name of the video track.
optional string track_name = 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;
}