OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Protocol for video messages. | 5 // Protocol for video messages. |
6 | 6 |
7 syntax = "proto2"; | 7 syntax = "proto2"; |
8 | 8 |
9 option optimize_for = LITE_RUNTIME; | 9 option optimize_for = LITE_RUNTIME; |
10 | 10 |
(...skipping 25 matching lines...) Expand all Loading... | |
36 } | 36 } |
37 | 37 |
38 message Rect { | 38 message Rect { |
39 optional int32 x = 1; | 39 optional int32 x = 1; |
40 optional int32 y = 2; | 40 optional int32 y = 2; |
41 optional int32 width = 3; | 41 optional int32 width = 3; |
42 optional int32 height = 4; | 42 optional int32 height = 4; |
43 } | 43 } |
44 | 44 |
45 message VideoPacket { | 45 message VideoPacket { |
46 // Reserved fields IDs used for removed fields: 1 to 3, 10, 11. | 46 // Reserved fields IDs used for removed fields: 1 to 3, 10, 11, 12. |
47 | 47 |
48 optional VideoPacketFormat format = 4; | 48 optional VideoPacketFormat format = 4; |
49 | 49 |
50 optional bytes data = 5; | 50 optional bytes data = 5; |
51 | 51 |
52 // List of rectangles updated by this frame. | 52 // List of rectangles updated by this frame. |
53 repeated Rect dirty_rects = 6; | 53 repeated Rect dirty_rects = 6; |
54 | 54 |
55 // Time in milliseconds spent in capturing this video frame. | 55 // Time in milliseconds spent in capturing this video frame. |
56 optional int64 capture_time_ms = 7; | 56 optional int64 capture_time_ms = 7; |
57 | 57 |
58 // Time in milliseconds spent in encoding this video frame. | 58 // Time in milliseconds spent in encoding this video frame. |
59 optional int64 encode_time_ms = 8; | 59 optional int64 encode_time_ms = 8; |
60 | 60 |
61 // The client's timestamp of the latest event received by the host before | 61 // The client's timestamp of the latest event received by the host before |
62 // starting to capture this video frame. | 62 // starting to capture this video frame. |
63 optional int64 latest_event_timestamp = 9; | 63 optional int64 latest_event_timestamp = 9; |
64 | 64 |
65 // Optional frame timestamp. Used in tests to estimate frame latency. | |
66 optional int64 timestamp = 12; | |
Jamie
2016/09/13 18:58:41
Don't best practises suggest that you should mark
| |
67 | |
68 // Frame identifier used to match VideoFrame and VideoAck. | 65 // Frame identifier used to match VideoFrame and VideoAck. |
69 optional int32 frame_id = 13; | 66 optional int32 frame_id = 13; |
70 | 67 |
71 // Time from when the last event was received until capturing has started. | 68 // Time from when the last event was received until capturing has started. |
72 optional int64 capture_pending_time_ms = 14; | 69 optional int64 capture_pending_time_ms = 14; |
73 | 70 |
74 // Total overhead time for IPC and threading when capturing frames. | 71 // Total overhead time for IPC and threading when capturing frames. |
75 optional int64 capture_overhead_time_ms = 15; | 72 optional int64 capture_overhead_time_ms = 15; |
76 | 73 |
77 // Time between when the frame was captured and when encoder started encoding | 74 // Time between when the frame was captured and when encoder started encoding |
78 // it. | 75 // it. |
79 optional int64 encode_pending_time_ms = 16; | 76 optional int64 encode_pending_time_ms = 16; |
80 | 77 |
81 // Time for which the frame is blocked until it's sent to the client. | 78 // Time for which the frame is blocked until it's sent to the client. |
82 optional int64 send_pending_time_ms = 17; | 79 optional int64 send_pending_time_ms = 17; |
83 | 80 |
84 // Indicates whether the encoded frame is a key frame. | 81 // Indicates whether the encoded frame is a key frame. |
85 optional bool key_frame = 18; | 82 optional bool key_frame = 18; |
86 } | 83 } |
87 | 84 |
88 // VideoAck acknowledges that the frame in the VideoPacket with the same | 85 // VideoAck acknowledges that the frame in the VideoPacket with the same |
89 // frame_id has been rendered. VideoAck messages must be sent only for frames | 86 // frame_id has been rendered. VideoAck messages must be sent only for frames |
90 // that have frame_id field set. They must be sent the same order in which | 87 // that have frame_id field set. They must be sent the same order in which |
91 // the corresponding VideoPackets were received. | 88 // the corresponding VideoPackets were received. |
92 message VideoAck { | 89 message VideoAck { |
93 // Frame ID. | 90 // Frame ID. |
94 optional int32 frame_id = 1; | 91 optional int32 frame_id = 1; |
95 } | 92 } |
OLD | NEW |