diff options
author | sergeyu <sergeyu@chromium.org> | 2015-02-24 10:00:55 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-02-24 18:01:33 +0000 |
commit | 97568a816ed5fe0a69a2c0f6d0987381899f58d8 (patch) | |
tree | 781e82c2a8b62cfc90001352602f27dcc61cd691 /remoting/proto | |
parent | 9e61fcead9dd339fd1b39453dcd6f0b08642de3a (diff) | |
download | chromium_src-97568a816ed5fe0a69a2c0f6d0987381899f58d8.zip chromium_src-97568a816ed5fe0a69a2c0f6d0987381899f58d8.tar.gz chromium_src-97568a816ed5fe0a69a2c0f6d0987381899f58d8.tar.bz2 |
Implement video frame acknowledgements in the chromoting protocol.
Added frame_id field in the VideoPacket message. Client now acknowledges
every frame that has frame_id set by sending VideoAck messages after
the corresponding frame is decoded and rendered.
On the host the VideoAck messages are processed by the new
VideoFeedbackStub, which is implemented in CaptureScheduler.
CaptureScheduler limits number of unacknowledged frames to 4. This
number was chosen experimentally to minimize latency (using
remoting_perftests).
BUG=448838
Review URL: https://codereview.chromium.org/850983002
Cr-Commit-Position: refs/heads/master@{#317824}
Diffstat (limited to 'remoting/proto')
-rw-r--r-- | remoting/proto/video.proto | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/remoting/proto/video.proto b/remoting/proto/video.proto index 0ee29c9..211b023 100644 --- a/remoting/proto/video.proto +++ b/remoting/proto/video.proto @@ -66,4 +66,16 @@ message VideoPacket { // Optional frame timestamp. Used in tests to estimate frame latency. optional int64 timestamp = 12; + + // Frame identifier used to match VideoFrame and VideoAck. + optional int32 frame_id = 13; +} + +// VideoAck acknowledges that the frame in the VideoPacket with the same +// frame_id has been rendered. VideoAck messages must be sent only for frames +// that have frame_id field set. They must be sent the same order in which +// the corresponding VideoPackets were received. +message VideoAck { + // Frame ID. + optional int32 frame_id = 1; } |