Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(151)

Issue 850983002: Implement video frame acknowledgements in the chromoting protocol. (Closed)

Created:
5 years, 11 months ago by Sergey Ulanov
Modified:
5 years, 10 months ago
Reviewers:
Wez
CC:
chromium-reviews, chromoting-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

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 Committed: https://crrev.com/97568a816ed5fe0a69a2c0f6d0987381899f58d8 Cr-Commit-Position: refs/heads/master@{#317824}

Patch Set 1 #

Total comments: 74

Patch Set 2 : #

Patch Set 3 : #

Total comments: 12

Patch Set 4 : #

Total comments: 32

Patch Set 5 : #

Total comments: 12

Patch Set 6 : #

Total comments: 2

Patch Set 7 : #

Patch Set 8 : #

Patch Set 9 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+526 lines, -50 lines) Patch
M remoting/host/capture_scheduler.h View 1 2 3 4 5 6 7 5 chunks +36 lines, -12 lines 0 comments Download
M remoting/host/capture_scheduler.cc View 1 2 3 4 5 8 chunks +78 lines, -19 lines 0 comments Download
M remoting/host/capture_scheduler_unittest.cc View 1 2 3 4 chunks +64 lines, -5 lines 0 comments Download
M remoting/host/client_session.cc View 1 2 3 4 2 chunks +4 lines, -0 lines 0 comments Download
M remoting/host/video_frame_pump.h View 1 2 3 4 5 5 chunks +8 lines, -4 lines 0 comments Download
M remoting/host/video_frame_pump.cc View 1 2 3 4 5 1 chunk +1 line, -2 lines 0 comments Download
M remoting/proto/video.proto View 1 2 3 1 chunk +12 lines, -0 lines 0 comments Download
M remoting/protocol/client_video_dispatcher.h View 1 2 3 1 chunk +12 lines, -0 lines 0 comments Download
M remoting/protocol/client_video_dispatcher.cc View 1 2 3 4 1 chunk +50 lines, -2 lines 0 comments Download
A remoting/protocol/client_video_dispatcher_unittest.cc View 1 2 3 4 5 6 7 8 1 chunk +180 lines, -0 lines 0 comments Download
M remoting/protocol/connection_to_client.h View 1 2 3 4 2 chunks +5 lines, -0 lines 0 comments Download
M remoting/protocol/connection_to_client.cc View 1 2 3 1 chunk +6 lines, -0 lines 0 comments Download
M remoting/protocol/host_video_dispatcher.h View 1 2 3 1 chunk +14 lines, -3 lines 0 comments Download
M remoting/protocol/host_video_dispatcher.cc View 1 2 3 2 chunks +14 lines, -2 lines 0 comments Download
M remoting/protocol/protocol_mock_objects.h View 1 2 3 1 chunk +7 lines, -0 lines 0 comments Download
M remoting/protocol/protocol_mock_objects.cc View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
A remoting/protocol/video_feedback_stub.h View 1 2 3 4 1 chunk +32 lines, -0 lines 0 comments Download
M remoting/remoting_test.gypi View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 37 (13 generated)
Sergey Ulanov
5 years, 11 months ago (2015-01-14 19:07:57 UTC) #2
Wez
Is this ready for review, or are there updates based on your discussion w/ Hubbe?
5 years, 11 months ago (2015-01-17 02:59:14 UTC) #3
Sergey Ulanov
On 2015/01/17 02:59:14, Wez wrote: > Is this ready for review, or are there updates ...
5 years, 11 months ago (2015-01-20 19:52:28 UTC) #4
Wez
You're adding fields to the ACKs for the frame rendering delay, and for the "read ...
5 years, 11 months ago (2015-01-21 01:35:40 UTC) #5
Sergey Ulanov
I've uploaded another CL that cleans up VideoScheduler a bit: https://codereview.chromium.org/872433005/ . I'm going to ...
5 years, 11 months ago (2015-01-27 22:02:43 UTC) #6
Sergey Ulanov
1. Addressed all comments. 2. Rebased this CL on top of https://codereview.chromium.org/872433005/ 3. Updated VideoStub: ...
5 years, 10 months ago (2015-01-29 01:33:29 UTC) #7
Sergey Ulanov
On 2015/01/21 01:35:40, Wez wrote: > You're adding fields to the ACKs for the frame ...
5 years, 10 months ago (2015-01-29 01:54:10 UTC) #8
Wez
It's hard to review this without having gone over the overall design. That said, it ...
5 years, 10 months ago (2015-02-03 00:54:32 UTC) #11
Sergey Ulanov
PTAL. Now added VideoFeedbackStub instead of changing VideoStub. Also removed the time fields from VideoAcks ...
5 years, 10 months ago (2015-02-09 19:14:54 UTC) #14
Wez
On 2015/02/09 19:14:54, Sergey Ulanov wrote: > PTAL. Now added VideoFeedbackStub instead of changing VideoStub. ...
5 years, 10 months ago (2015-02-11 01:43:25 UTC) #15
Wez
https://codereview.chromium.org/850983002/diff/140001/remoting/host/capture_scheduler.cc File remoting/host/capture_scheduler.cc (right): https://codereview.chromium.org/850983002/diff/140001/remoting/host/capture_scheduler.cc#newcode100 remoting/host/capture_scheduler.cc:100: packet->set_frame_id(next_frame_id_); Do we want to do that if ACKs ...
5 years, 10 months ago (2015-02-11 02:22:56 UTC) #16
Sergey Ulanov
On 2015/02/11 01:43:25, Wez wrote: > Looks like VideoFeedbackStub is missing from the CL? Sorry ...
5 years, 10 months ago (2015-02-17 19:37:07 UTC) #17
Sergey Ulanov
ping
5 years, 10 months ago (2015-02-20 06:02:08 UTC) #18
Wez
https://codereview.chromium.org/850983002/diff/140001/remoting/host/capture_scheduler.cc File remoting/host/capture_scheduler.cc (right): https://codereview.chromium.org/850983002/diff/140001/remoting/host/capture_scheduler.cc#newcode125 remoting/host/capture_scheduler.cc:125: acks_supported_ = true; On 2015/02/17 19:37:06, Sergey Ulanov wrote: ...
5 years, 10 months ago (2015-02-21 03:12:02 UTC) #19
Sergey Ulanov
https://codereview.chromium.org/850983002/diff/140001/remoting/host/capture_scheduler.cc File remoting/host/capture_scheduler.cc (right): https://codereview.chromium.org/850983002/diff/140001/remoting/host/capture_scheduler.cc#newcode125 remoting/host/capture_scheduler.cc:125: acks_supported_ = true; On 2015/02/21 03:12:02, Wez wrote: > ...
5 years, 10 months ago (2015-02-23 17:35:39 UTC) #20
Wez
lgtm https://codereview.chromium.org/850983002/diff/180001/remoting/host/capture_scheduler.h File remoting/host/capture_scheduler.h (right): https://codereview.chromium.org/850983002/diff/180001/remoting/host/capture_scheduler.h#newcode28 remoting/host/capture_scheduler.h:28: // - Limit CPU usage. nit: Specificy that ...
5 years, 10 months ago (2015-02-23 21:52:17 UTC) #21
Sergey Ulanov
https://codereview.chromium.org/850983002/diff/180001/remoting/host/capture_scheduler.h File remoting/host/capture_scheduler.h (right): https://codereview.chromium.org/850983002/diff/180001/remoting/host/capture_scheduler.h#newcode28 remoting/host/capture_scheduler.h:28: // - Limit CPU usage. On 2015/02/23 21:52:17, Wez ...
5 years, 10 months ago (2015-02-23 22:22:33 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/850983002/200001
5 years, 10 months ago (2015-02-23 22:24:19 UTC) #25
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_compile_dbg_32_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_compile_dbg_32_ng/builds/26594)
5 years, 10 months ago (2015-02-23 23:21:10 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/850983002/220001
5 years, 10 months ago (2015-02-23 23:33:23 UTC) #30
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/35792)
5 years, 10 months ago (2015-02-24 01:45:30 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/850983002/240001
5 years, 10 months ago (2015-02-24 16:53:29 UTC) #35
commit-bot: I haz the power
Committed patchset #9 (id:240001)
5 years, 10 months ago (2015-02-24 18:01:15 UTC) #36
commit-bot: I haz the power
5 years, 10 months ago (2015-02-24 18:01:44 UTC) #37
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/97568a816ed5fe0a69a2c0f6d0987381899f58d8
Cr-Commit-Position: refs/heads/master@{#317824}

Powered by Google App Engine
This is Rietveld 408576698