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

Issue 2888303005: Add PeerConnectionInterface::UpdateCallBitrate. (Closed)

Created:
3 years, 7 months ago by Zach Stein
Modified:
3 years, 4 months ago
CC:
webrtc-reviews_webrtc.org, the sun, tterriberry_mozilla.com, mflodman, kwiberg-webrtc
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

Relanding: Adds PeerConnectionInterface::UpdateCallBitrate to give clients more control of the bandwidth estimator. PeerConnection implements this method by passing a BitrateConfigMask to its associated Call, which is combined with the existing BitrateConfig and passed on to the SendSideCongestionController as necessary. The existing BitrateConfig generally comes from the x-google-{min,start,max}-bitrate params in the SDP. BUG=webrtc:7395 Review-Url: https://codereview.webrtc.org/2888303005 Cr-Original-Commit-Position: refs/heads/master@{#18417} Committed: https://chromium.googlesource.com/external/webrtc/+/9641c133277da0d04b78782b32391996607afa80 Review-Url: https://codereview.webrtc.org/2888303005 Cr-Commit-Position: refs/heads/master@{#18421} Committed: https://chromium.googlesource.com/external/webrtc/+/4b9798024f3a940c0c6cd6327c086bf987485a5f

Patch Set 1 #

Patch Set 2 : Add a missing test from Taylor's last CR. #

Total comments: 8

Patch Set 3 : update comments as suggested in review #

Total comments: 12

Patch Set 4 : Clarify some comments as suggested by Stefan. #

Patch Set 5 : Duplicate MinPositive in call to avoid dependency on cricket namespace. #

Patch Set 6 : Add closing namespace comment and format. #

Patch Set 7 : Don't update the start_bitrate cached in config_.bitrate_config if the start_bitrate isn't changed.… #

Patch Set 8 : Implement SetBitrate in PeerConnectionInterface to avoid breaking chromium mock. #

Total comments: 7
Unified diffs Side-by-side diffs Delta from patch set Stats (+498 lines, -38 lines) Patch
M webrtc/api/peerconnectioninterface.h View 1 2 3 4 5 6 7 1 chunk +17 lines, -0 lines 0 comments Download
M webrtc/api/peerconnectionproxy.h View 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/call/call.h View 1 2 3 3 chunks +26 lines, -6 lines 0 comments Download
M webrtc/call/call.cc View 1 2 3 4 5 6 7 5 chunks +103 lines, -21 lines 2 comments Download
M webrtc/call/call_unittest.cc View 1 2 4 chunks +231 lines, -11 lines 0 comments Download
M webrtc/media/engine/fakewebrtccall.h View 1 chunk +2 lines, -0 lines 0 comments Download
M webrtc/media/engine/fakewebrtccall.cc View 1 chunk +5 lines, -0 lines 1 comment Download
M webrtc/pc/peerconnection.h View 1 chunk +2 lines, -0 lines 0 comments Download
M webrtc/pc/peerconnection.cc View 1 chunk +48 lines, -0 lines 4 comments Download
M webrtc/pc/peerconnectioninterface_unittest.cc View 1 chunk +63 lines, -0 lines 0 comments Download

Messages

Total messages: 45 (19 generated)
Zach Stein
Subsumes https://codereview.chromium.org/2838233002/
3 years, 7 months ago (2017-05-23 20:59:02 UTC) #2
Zach Stein
PTAL
3 years, 7 months ago (2017-05-24 02:18:46 UTC) #4
kwiberg-webrtc
Some questions about the API. https://codereview.webrtc.org/2888303005/diff/20001/webrtc/api/peerconnectioninterface.h File webrtc/api/peerconnectioninterface.h (right): https://codereview.webrtc.org/2888303005/diff/20001/webrtc/api/peerconnectioninterface.h#newcode732 webrtc/api/peerconnectioninterface.h:732: // 0 <= min ...
3 years, 7 months ago (2017-05-24 08:27:55 UTC) #6
Zach Stein
https://codereview.webrtc.org/2888303005/diff/20001/webrtc/api/peerconnectioninterface.h File webrtc/api/peerconnectioninterface.h (right): https://codereview.webrtc.org/2888303005/diff/20001/webrtc/api/peerconnectioninterface.h#newcode732 webrtc/api/peerconnectioninterface.h:732: // 0 <= min <= current <= max should ...
3 years, 7 months ago (2017-05-24 21:10:02 UTC) #7
Taylor Brandstetter
lgtm. CL subject/description should be updated before landing though. https://codereview.webrtc.org/2888303005/diff/20001/webrtc/api/peerconnectioninterface.h File webrtc/api/peerconnectioninterface.h (right): https://codereview.webrtc.org/2888303005/diff/20001/webrtc/api/peerconnectioninterface.h#newcode743 webrtc/api/peerconnectioninterface.h:743: ...
3 years, 7 months ago (2017-05-25 15:33:52 UTC) #8
Zach Stein
Patch 3 is also a rebase. Needs review by an owner of call please. https://codereview.webrtc.org/2888303005/diff/20001/webrtc/api/peerconnectioninterface.h ...
3 years, 7 months ago (2017-05-25 20:26:31 UTC) #10
holmer
Thanks for doing this! The CL description needs to be updated. https://codereview.webrtc.org/2888303005/diff/40001/webrtc/call/call.cc File webrtc/call/call.cc (right): ...
3 years, 6 months ago (2017-05-31 07:46:34 UTC) #12
Zach Stein
Thanks for the feedback. https://codereview.webrtc.org/2888303005/diff/40001/webrtc/call/call.cc File webrtc/call/call.cc (right): https://codereview.webrtc.org/2888303005/diff/40001/webrtc/call/call.cc#newcode969 webrtc/call/call.cc:969: // If these's nothing to ...
3 years, 6 months ago (2017-06-01 03:37:49 UTC) #14
kwiberg-webrtc
https://codereview.webrtc.org/2888303005/diff/40001/webrtc/call/call.cc File webrtc/call/call.cc (right): https://codereview.webrtc.org/2888303005/diff/40001/webrtc/call/call.cc#newcode981 webrtc/call/call.cc:981: updated.start_bitrate_bps = cricket::MinPositive( On 2017/06/01 03:37:49, Zach Stein wrote: ...
3 years, 6 months ago (2017-06-01 07:50:25 UTC) #15
Taylor Brandstetter
https://codereview.webrtc.org/2888303005/diff/40001/webrtc/call/call.cc File webrtc/call/call.cc (right): https://codereview.webrtc.org/2888303005/diff/40001/webrtc/call/call.cc#newcode981 webrtc/call/call.cc:981: updated.start_bitrate_bps = cricket::MinPositive( On 2017/06/01 07:50:25, kwiberg-webrtc wrote: > ...
3 years, 6 months ago (2017-06-01 16:24:44 UTC) #16
stefan-webrtc
https://codereview.webrtc.org/2888303005/diff/40001/webrtc/call/call.cc File webrtc/call/call.cc (right): https://codereview.webrtc.org/2888303005/diff/40001/webrtc/call/call.cc#newcode981 webrtc/call/call.cc:981: updated.start_bitrate_bps = cricket::MinPositive( On 2017/06/01 03:37:49, Zach Stein wrote: ...
3 years, 6 months ago (2017-06-01 16:32:47 UTC) #17
Zach Stein
https://codereview.webrtc.org/2888303005/diff/40001/webrtc/call/call.cc File webrtc/call/call.cc (right): https://codereview.webrtc.org/2888303005/diff/40001/webrtc/call/call.cc#newcode981 webrtc/call/call.cc:981: updated.start_bitrate_bps = cricket::MinPositive( On 2017/06/01 16:32:47, stefan-webrtc wrote: > ...
3 years, 6 months ago (2017-06-01 20:12:44 UTC) #18
stefan-webrtc
On 2017/06/01 20:12:44, Zach Stein wrote: > https://codereview.webrtc.org/2888303005/diff/40001/webrtc/call/call.cc > File webrtc/call/call.cc (right): > > https://codereview.webrtc.org/2888303005/diff/40001/webrtc/call/call.cc#newcode981 ...
3 years, 6 months ago (2017-06-01 20:17:39 UTC) #19
stefan-webrtc
LGTM provided that we follow up and move MinPositive to the webrtc or rtc namespace.
3 years, 6 months ago (2017-06-01 20:26:26 UTC) #20
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/2888303005/100001
3 years, 6 months ago (2017-06-01 20:29:18 UTC) #23
commit-bot: I haz the power
Try jobs failed on following builders: win_rel on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/win_rel/builds/26611)
3 years, 6 months ago (2017-06-01 20:38:08 UTC) #25
Zach Stein
Could you take a quick look at the latest patch Taylor? It fixes VideoSendStreamTest.ChangingNetworkRoute, which ...
3 years, 6 months ago (2017-06-01 22:33:37 UTC) #26
kwiberg-webrtc
https://codereview.webrtc.org/2888303005/diff/40001/webrtc/call/call.cc File webrtc/call/call.cc (right): https://codereview.webrtc.org/2888303005/diff/40001/webrtc/call/call.cc#newcode981 webrtc/call/call.cc:981: updated.start_bitrate_bps = cricket::MinPositive( On 2017/06/01 16:24:43, Taylor Brandstetter wrote: ...
3 years, 6 months ago (2017-06-01 22:55:44 UTC) #27
Taylor Brandstetter
lgtm
3 years, 6 months ago (2017-06-02 17:21:39 UTC) #28
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/2888303005/120001
3 years, 6 months ago (2017-06-02 17:57:21 UTC) #31
commit-bot: I haz the power
Committed patchset #7 (id:120001) as https://chromium.googlesource.com/external/webrtc/+/9641c133277da0d04b78782b32391996607afa80
3 years, 6 months ago (2017-06-02 18:18:13 UTC) #34
charujain
A revert of this CL (patchset #7 id:120001) has been created in https://codereview.webrtc.org/2914413002/ by charujain@webrtc.org. ...
3 years, 6 months ago (2017-06-02 19:31:15 UTC) #35
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/2888303005/140001
3 years, 6 months ago (2017-06-02 21:08:02 UTC) #39
commit-bot: I haz the power
Committed patchset #8 (id:140001) as https://chromium.googlesource.com/external/webrtc/+/4b9798024f3a940c0c6cd6327c086bf987485a5f
3 years, 6 months ago (2017-06-02 21:37:46 UTC) #42
tommi
drive-by when looking at crbug/755971 https://codereview.webrtc.org/2888303005/diff/140001/webrtc/call/call.cc File webrtc/call/call.cc (right): https://codereview.webrtc.org/2888303005/diff/140001/webrtc/call/call.cc#newcode956 webrtc/call/call.cc:956: return b; Here, |b| ...
3 years, 4 months ago (2017-08-17 07:32:52 UTC) #44
kwiberg-webrtc
3 years, 4 months ago (2017-08-17 09:49:26 UTC) #45
Message was sent while issue was closed.
https://codereview.webrtc.org/2888303005/diff/140001/webrtc/call/call.cc
File webrtc/call/call.cc (right):

https://codereview.webrtc.org/2888303005/diff/140001/webrtc/call/call.cc#newc...
webrtc/call/call.cc:956: return b;
On 2017/08/17 07:32:52, tommi wrote:
> Here, |b| is not guaranteed to be positive.
> 
> would this be correct?
> 
> return a < 0 ? (b < 0 ? 0 : b) : (b < 0 ? 0 : std::min(a, b));

Hmm. Your suggestion is the same as

  std::max(0, std::min(a, b))

right? Whereas the current code is equivalent to

  a <= 0 ? b : std::min(a, b)

I guess either way, this function should be equipped with a comment that
explains what it does.

Powered by Google App Engine
This is Rietveld 408576698