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

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

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

Description

Add PeerConnectionInterface::UpdateCallBitrate. This gives clients more control of the bandwidth estimator. Subsumed by https://codereview.chromium.org/2838233002/ BUG=webrtc:7395

Patch Set 1 #

Patch Set 2 : Fix proxy typo, invoke call_w on worker thread, and add a simple unit test. The test currently fail… #

Patch Set 3 : masking approach #

Patch Set 4 : remove unused member #

Patch Set 5 : add an error message and clarify test #

Total comments: 9

Patch Set 6 : sticky config mask #

Patch Set 7 : add a todo about de-duplicating bitrate mask structs #

Total comments: 25

Patch Set 8 : minor fixes - still 2 todos in call #

Total comments: 6

Patch Set 9 : Move BitrateParameters validation to pc and use RTCError, clamp SetBitrate's max, other verbage/rea… #

Patch Set 10 : move start DCHECK in SetBitrateConfig with other DCHECKs #

Total comments: 18

Patch Set 11 : Force update if current bitrate is set. Remove big lambda. Improve parameter validation. #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+278 lines, -20 lines) Patch
M webrtc/api/peerconnectioninterface.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +16 lines, -0 lines 0 comments Download
M webrtc/api/peerconnectionproxy.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/call/call.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +19 lines, -4 lines 0 comments Download
M webrtc/call/call.cc View 1 2 3 4 5 6 7 8 9 10 5 chunks +128 lines, -16 lines 2 comments Download
M webrtc/media/engine/fakewebrtccall.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -0 lines 0 comments Download
M webrtc/media/engine/fakewebrtccall.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +6 lines, -0 lines 0 comments Download
M webrtc/pc/peerconnection.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M webrtc/pc/peerconnection.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +49 lines, -0 lines 0 comments Download
M webrtc/pc/peerconnectioninterface_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +55 lines, -0 lines 0 comments Download

Messages

Total messages: 21 (4 generated)
Zach Stein
What do you think of this approach? We could also keep the mask around as ...
3 years, 8 months ago (2017-04-06 20:42:51 UTC) #3
Zach Stein
Could you take a look at the changes to call Stefan? Right now, calls from ...
3 years, 8 months ago (2017-04-06 20:59:29 UTC) #5
Taylor Brandstetter
This still needs to address the conflicts between the current invocations of "SetBitrateConfig", right? Or ...
3 years, 8 months ago (2017-04-07 03:29:12 UTC) #6
Zach Stein
On 2017/04/07 03:29:12, Taylor Brandstetter wrote: > This still needs to address the conflicts between ...
3 years, 8 months ago (2017-04-09 21:08:44 UTC) #7
Zach Stein
https://codereview.webrtc.org/2793913008/diff/80001/webrtc/call/call.h File webrtc/call/call.h (right): https://codereview.webrtc.org/2793913008/diff/80001/webrtc/call/call.h#newcode82 webrtc/call/call.h:82: }; On 2017/04/07 03:29:12, Taylor Brandstetter wrote: > Couldn't ...
3 years, 8 months ago (2017-04-09 21:09:01 UTC) #8
Taylor Brandstetter
> I think that whether or not UpdateCallBitrate overrides SetRemoteDescription > depends on the expected ...
3 years, 8 months ago (2017-04-10 04:59:51 UTC) #9
stefan-webrtc
https://codereview.webrtc.org/2793913008/diff/80001/webrtc/call/call.h File webrtc/call/call.h (right): https://codereview.webrtc.org/2793913008/diff/80001/webrtc/call/call.h#newcode82 webrtc/call/call.h:82: }; On 2017/04/10 04:59:51, Taylor Brandstetter wrote: > On ...
3 years, 8 months ago (2017-04-10 13:26:58 UTC) #10
Zach Stein
Here is my first attempt at making PeerConnectionInterface::SetCallBitrate sticky. I haven't de-duplicated the bitrate mask ...
3 years, 8 months ago (2017-04-10 22:27:53 UTC) #11
Taylor Brandstetter
https://codereview.webrtc.org/2793913008/diff/120001/webrtc/api/peerconnectioninterface.h File webrtc/api/peerconnectioninterface.h (right): https://codereview.webrtc.org/2793913008/diff/120001/webrtc/api/peerconnectioninterface.h#newcode731 webrtc/api/peerconnectioninterface.h:731: // Parameters that are not set will defer to ...
3 years, 8 months ago (2017-04-12 01:33:42 UTC) #12
Zach Stein
Thanks for the detailed feedback so far. I am working on the 2 TODOs in ...
3 years, 8 months ago (2017-04-13 00:26:36 UTC) #13
Taylor Brandstetter
https://codereview.webrtc.org/2793913008/diff/120001/webrtc/api/peerconnectioninterface.h File webrtc/api/peerconnectioninterface.h (right): https://codereview.webrtc.org/2793913008/diff/120001/webrtc/api/peerconnectioninterface.h#newcode731 webrtc/api/peerconnectioninterface.h:731: // Parameters that are not set will defer to ...
3 years, 8 months ago (2017-04-13 22:16:13 UTC) #14
Zach Stein
Please take another look. https://codereview.webrtc.org/2793913008/diff/120001/webrtc/call/call.cc File webrtc/call/call.cc (right): https://codereview.webrtc.org/2793913008/diff/120001/webrtc/call/call.cc#newcode953 webrtc/call/call.cc:953: RTC_DCHECK_GE(*mask.min_bitrate_bps, 0); On 2017/04/12 01:33:41, ...
3 years, 8 months ago (2017-04-18 22:54:51 UTC) #15
Taylor Brandstetter
Looks good. My only real remaining concern is that, if we're planning to change the ...
3 years, 8 months ago (2017-04-19 01:06:54 UTC) #16
Zach Stein
https://codereview.webrtc.org/2793913008/diff/140001/webrtc/api/peerconnectioninterface.h File webrtc/api/peerconnectioninterface.h (right): https://codereview.webrtc.org/2793913008/diff/140001/webrtc/api/peerconnectioninterface.h#newcode736 webrtc/api/peerconnectioninterface.h:736: rtc::Optional<int> start_bitrate_bps; On 2017/04/19 01:06:53, Taylor Brandstetter wrote: > ...
3 years, 8 months ago (2017-04-20 20:48:01 UTC) #17
Taylor Brandstetter
https://codereview.webrtc.org/2793913008/diff/180001/webrtc/call/call.cc File webrtc/call/call.cc (right): https://codereview.webrtc.org/2793913008/diff/180001/webrtc/call/call.cc#newcode974 webrtc/call/call.cc:974: } On 2017/04/20 20:48:00, Zach Stein wrote: > On ...
3 years, 8 months ago (2017-04-21 10:14:08 UTC) #18
Zach Stein
On 2017/04/21 10:14:08, Taylor Brandstetter wrote: > https://codereview.webrtc.org/2793913008/diff/180001/webrtc/call/call.cc > File webrtc/call/call.cc (right): > > https://codereview.webrtc.org/2793913008/diff/180001/webrtc/call/call.cc#newcode974 ...
3 years, 8 months ago (2017-04-21 23:49:20 UTC) #19
Taylor Brandstetter
3 years, 8 months ago (2017-04-22 10:28:16 UTC) #20
On 2017/04/21 23:49:20, Zach Stein wrote:
> SetBweBitrates is only called once in that case because SetBitrateConfig would
> return before calling UpdateCurrentBitrateConfig.

Oh, right. Not sure what I was thinking.

Anyway; I agree we shouldn't change the behavior of SetBitrateConfig. But we can
still consolidate the "config unchanged" check without changing the behavior.
Or, did you mean you wanted to avoid changing the code too much since it's
missing test coverage? In that case, I look forward to seeing the tests you're
working on

Powered by Google App Engine
This is Rietveld 408576698