1// Copyright 2016 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// Internal message types that should not be seen outside the protocol
6// directory.
7
8syntax = "proto2";
9
10option optimize_for = LITE_RUNTIME;
11
12package remoting;
13
14// Next Id: 14
15message FrameStatsMessage {
16  // Frame ID.
17  optional uint32 frame_id = 1;
18
19  // Frame size.
20  optional int32 frame_size = 2;
21
22  // Id of the last event that was injected before this frame was captured.
23  optional int64 latest_event_timestamp = 3;
24
25  // Time from when the last event was injected until capturing has started.
26  optional int32 capture_pending_time_ms = 4;
27
28  // Time in milliseconds spent in capturing this video frame.
29  optional int32 capture_time_ms = 5;
30
31  // Total overhead time for IPC and threading when capturing frames.
32  optional int32 capture_overhead_time_ms = 6;
33
34  // Time between when the frame was captured and when encoding started.
35  optional int32 encode_pending_time_ms = 7;
36
37  // Time in milliseconds spent in encoding this video frame.
38  optional int32 encode_time_ms = 8;
39
40  // Time for which the frame is blocked until it's sent to the client.
41  optional int32 send_pending_time_ms = 9;
42
43  // Current network RTT estimate.
44  optional int32 rtt_estimate_ms = 10;
45
46  // Current bandwidth estimate in kb/s.
47  optional int32 bandwidth_estimate_kbps = 11;
48
49  // The capturer Id to indicate the implementation of ScreenCapturer that
50  // generates this frame.
51  optional uint32 capturer_id = 12;
52
53  // A simple indication of the quality of the frame, scored between 0 and 100,
54  // with 100 representing a lossless encoded frame.
55  optional uint32 frame_quality = 13;
56}
57