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

Issue 2752233002: Split CongestionController into send- and receive-side classes. (Closed)

Created:
3 years, 9 months ago by nisse-webrtc
Modified:
3 years, 9 months ago
Reviewers:
philipel, danilchap, stefan-webrtc, elad.alon
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com, the sun, stefan-webrtc, mflodman, tlegrand-webrtc
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

Split CongestionController into send- and receive-side classes. New class ReceiveSideCongestionController, extracted from CongestionController, and responsible for the OnReceivedPacket processing. Rest of the CongestionController moved to a new class SendSideCongestionController. To avoid breaking applications, CongestionController is redefined as a union of these two classes, with no intended change in behavior. With one exception: CongestionController::SetBweBitrates used to call remote_bitrate_estimator_.SetMinBitrate, but after remote_bitrate_estimator_ was moved to ReceiveSideCongestionController, it no longer does this. BUG=webrtc:6847 Review-Url: https://codereview.webrtc.org/2752233002 Cr-Commit-Position: refs/heads/master@{#17321} Committed: https://chromium.googlesource.com/external/webrtc/+/559af38a15f6590926759440002512b70d01ba58

Patch Set 1 #

Patch Set 2 : New class SendSideCongestionController, define CongestionController as a union. #

Patch Set 3 : Reformatted, and fixed a few presubmit warnings. #

Total comments: 4

Patch Set 4 : Improve comments. Move declaration of destructor. #

Total comments: 4

Patch Set 5 : Deleted ReceiveSideCongestionController::OnNetworkRouteChanged. #

Total comments: 4

Patch Set 6 : Rebased. #

Patch Set 7 : Added method ReceiveSideCongestionController::OnBitrateChanged. #

Total comments: 2

Patch Set 8 : Use variable names receive_side_cc and send_side_cc. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+508 lines, -789 lines) Patch
M webrtc/audio/audio_send_stream.h View 1 2 3 4 5 6 7 3 chunks +3 lines, -3 lines 0 comments Download
M webrtc/audio/audio_send_stream.cc View 1 2 3 4 5 6 7 5 chunks +9 lines, -9 lines 0 comments Download
M webrtc/audio/audio_send_stream_unittest.cc View 1 2 3 4 5 6 7 12 chunks +35 lines, -40 lines 0 comments Download
M webrtc/call/call.cc View 1 2 3 4 5 6 7 19 chunks +40 lines, -42 lines 0 comments Download
M webrtc/modules/congestion_controller/BUILD.gn View 1 2 chunks +4 lines, -0 lines 0 comments Download
M webrtc/modules/congestion_controller/congestion_controller.cc View 1 2 3 4 5 6 7 2 chunks +24 lines, -323 lines 0 comments Download
M webrtc/modules/congestion_controller/include/congestion_controller.h View 1 2 3 4 5 6 7 5 chunks +16 lines, -87 lines 0 comments Download
A webrtc/modules/congestion_controller/include/receive_side_congestion_controller.h View 1 2 3 4 5 6 1 chunk +106 lines, -0 lines 0 comments Download
A + webrtc/modules/congestion_controller/include/send_side_congestion_controller.h View 1 2 3 4 5 9 chunks +22 lines, -78 lines 0 comments Download
A webrtc/modules/congestion_controller/receive_side_congestion_controller.cc View 1 2 3 4 5 6 1 chunk +174 lines, -0 lines 0 comments Download
A + webrtc/modules/congestion_controller/send_side_congestion_controller.cc View 1 2 3 4 5 12 chunks +39 lines, -170 lines 0 comments Download
M webrtc/video/video_send_stream.h View 1 2 chunks +2 lines, -2 lines 0 comments Download
M webrtc/video/video_send_stream.cc View 1 2 3 4 5 6 7 14 chunks +34 lines, -35 lines 0 comments Download

Messages

Total messages: 31 (12 generated)
nisse-webrtc
PTAL. First attempt at splitting out the receive-side processing from CongestionController. Will likely need some ...
3 years, 9 months ago (2017-03-16 13:03:18 UTC) #3
danilchap
To avoid breaking dependent projects, is it reasonable to ask to also rename CongestionController to ...
3 years, 9 months ago (2017-03-16 13:41:52 UTC) #4
nisse-webrtc
On 2017/03/16 13:41:52, danilchap wrote: > To avoid breaking dependent projects, is it reasonable to ...
3 years, 9 months ago (2017-03-16 13:44:25 UTC) #5
nisse-webrtc
On 2017/03/16 13:41:52, danilchap wrote: > To avoid breaking dependent projects, is it reasonable to ...
3 years, 9 months ago (2017-03-16 14:47:43 UTC) #7
nisse-webrtc
This now appears to work without any obvious breakage. So I hope to land this ...
3 years, 9 months ago (2017-03-16 15:24:45 UTC) #8
danilchap
looks good to me https://codereview.webrtc.org/2752233002/diff/40001/webrtc/modules/congestion_controller/include/receive_side_congestion_controller.h File webrtc/modules/congestion_controller/include/receive_side_congestion_controller.h (right): https://codereview.webrtc.org/2752233002/diff/40001/webrtc/modules/congestion_controller/include/receive_side_congestion_controller.h#newcode38 webrtc/modules/congestion_controller/include/receive_side_congestion_controller.h:38: // TODO(nisse): Define an interface ...
3 years, 9 months ago (2017-03-16 18:21:42 UTC) #9
nisse-webrtc
https://codereview.webrtc.org/2752233002/diff/40001/webrtc/modules/congestion_controller/include/receive_side_congestion_controller.h File webrtc/modules/congestion_controller/include/receive_side_congestion_controller.h (right): https://codereview.webrtc.org/2752233002/diff/40001/webrtc/modules/congestion_controller/include/receive_side_congestion_controller.h#newcode38 webrtc/modules/congestion_controller/include/receive_side_congestion_controller.h:38: // TODO(nisse): Define an interface for this? On 2017/03/16 ...
3 years, 9 months ago (2017-03-17 07:43:39 UTC) #10
stefan-webrtc
https://codereview.webrtc.org/2752233002/diff/60001/webrtc/call/call.cc File webrtc/call/call.cc (right): https://codereview.webrtc.org/2752233002/diff/60001/webrtc/call/call.cc#newcode987 webrtc/call/call.cc:987: receive_side_congestion_controller_.OnNetworkRouteChanged( We only have to call this if we're ...
3 years, 9 months ago (2017-03-17 08:03:32 UTC) #11
nisse-webrtc
https://codereview.webrtc.org/2752233002/diff/60001/webrtc/call/call.cc File webrtc/call/call.cc (right): https://codereview.webrtc.org/2752233002/diff/60001/webrtc/call/call.cc#newcode987 webrtc/call/call.cc:987: receive_side_congestion_controller_.OnNetworkRouteChanged( On 2017/03/17 08:03:32, stefan-webrtc wrote: > We only ...
3 years, 9 months ago (2017-03-17 10:49:23 UTC) #12
nisse-webrtc
+elad, I had to solve rebase conflict on top of cl https://codereview.webrtc.org/2752353003 PTAL.
3 years, 9 months ago (2017-03-20 10:53:07 UTC) #14
nisse-webrtc
Ping? I'd like to make progress on this one.
3 years, 9 months ago (2017-03-20 13:35:04 UTC) #19
stefan-webrtc
https://codereview.webrtc.org/2752233002/diff/80001/webrtc/modules/congestion_controller/congestion_controller.cc File webrtc/modules/congestion_controller/congestion_controller.cc (right): https://codereview.webrtc.org/2752233002/diff/80001/webrtc/modules/congestion_controller/congestion_controller.cc#newcode40 webrtc/modules/congestion_controller/congestion_controller.cc:40: // remote_bitrate_estimator_.SetMinBitrate. Is that needed? Since we have removed ...
3 years, 9 months ago (2017-03-20 13:36:47 UTC) #20
nisse-webrtc
https://codereview.webrtc.org/2752233002/diff/80001/webrtc/modules/congestion_controller/congestion_controller.cc File webrtc/modules/congestion_controller/congestion_controller.cc (right): https://codereview.webrtc.org/2752233002/diff/80001/webrtc/modules/congestion_controller/congestion_controller.cc#newcode40 webrtc/modules/congestion_controller/congestion_controller.cc:40: // remote_bitrate_estimator_.SetMinBitrate. Is that needed? On 2017/03/20 13:36:46, stefan-webrtc ...
3 years, 9 months ago (2017-03-20 14:07:06 UTC) #21
elad.alon_webrtc.org
On 2017/03/20 10:53:07, nisse-webrtc wrote: > +elad, I had to solve rebase conflict on top ...
3 years, 9 months ago (2017-03-20 16:23:46 UTC) #22
philipel
lgtm, just some minor comments about style. https://codereview.webrtc.org/2752233002/diff/120001/webrtc/audio/audio_send_stream.h File webrtc/audio/audio_send_stream.h (right): https://codereview.webrtc.org/2752233002/diff/120001/webrtc/audio/audio_send_stream.h#newcode80 webrtc/audio/audio_send_stream.h:80: SendSideCongestionController* const ...
3 years, 9 months ago (2017-03-20 16:48:19 UTC) #23
nisse-webrtc
On 2017/03/20 16:48:19, philipel wrote: > lgtm, just some minor comments about style. > > ...
3 years, 9 months ago (2017-03-21 08:50:14 UTC) #24
stefan-webrtc
lgtm
3 years, 9 months ago (2017-03-21 12:32:18 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2752233002/140001
3 years, 9 months ago (2017-03-21 13:09:14 UTC) #28
commit-bot: I haz the power
3 years, 9 months ago (2017-03-21 13:41:20 UTC) #31
Message was sent while issue was closed.
Committed patchset #8 (id:140001) as
https://chromium.googlesource.com/external/webrtc/+/559af38a15f65909267594400...

Powered by Google App Engine
This is Rietveld 408576698