Chromium Code Reviews

Issue 1993113003: Refactor how padding is calculated. (Closed)

Created:
4 years, 7 months ago by perkj_webrtc
Modified:
4 years, 6 months ago
Reviewers:
NELAS.SEXISLIMNWIX, pbos-webrtc, stefan-webrtc, mflodman
CC:
webrtc-reviews_webrtc.org, video-team_agora.io, yujie_mao (webrtc), zhengzhonghou_agora.io, stefan-webrtc, tterriberry_mozilla.com, the sun, pbos-webrtc
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

This cl: 1. It moves calculation of the needed padding to VideoSendStream instead of ViEEncoder and only does it once per send Stream instead of every time the network estimate changes. 2. The maximum amount of padding sent was prior to this cl calculated and updated based on network estimate changes. However, it can only change based on encoder configuration changes and if send streams are added or removed. This cl change the VideoSendStream/VieEncoder to notify the BitrateAllocator of changes to the needed padding bitrate and for BitrateAllocator to notify Call of these changes. 3. Fixed an issue in the SendPacer where it could send a padding packet before sending a real packet. This caused the test EndToEndTest.RestartingSendStreamPreservesRtpStatesWithRtx to fail with these refactorings since the pacer suddenly could send a padding packet before the encoder had produced its first frame. BUG=webrtc:5687 Committed: https://crrev.com/71ee44cc6d3049763da69e8e42a08d4b796b97db Cr-Commit-Position: refs/heads/master@{#13149}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : More work. Seems to work now. #

Patch Set 4 : Self review #

Total comments: 1

Patch Set 5 : Rebased #

Patch Set 6 : Rebased #

Patch Set 7 : Fixed unitialized memory. #

Total comments: 30

Patch Set 8 : Addressed review comments. #

Patch Set 9 : #

Total comments: 16

Patch Set 10 : Rebased #

Patch Set 11 : Addressed review comments. #

Unified diffs Side-by-side diffs Stats (+353 lines, -216 lines)
M webrtc/call/bitrate_allocator.h View 5 chunks +27 lines, -6 lines 0 comments
M webrtc/call/bitrate_allocator.cc View 4 chunks +38 lines, -14 lines 0 comments
M webrtc/call/bitrate_allocator_unittest.cc View 14 chunks +69 lines, -23 lines 0 comments
M webrtc/call/call.cc View 6 chunks +22 lines, -24 lines 0 comments
M webrtc/modules/congestion_controller/congestion_controller.cc View 1 chunk +4 lines, -3 lines 0 comments
M webrtc/modules/congestion_controller/include/congestion_controller.h View 1 chunk +12 lines, -2 lines 0 comments
M webrtc/modules/pacing/paced_sender.h View 2 chunks +10 lines, -7 lines 0 comments
M webrtc/modules/pacing/paced_sender.cc View 4 chunks +18 lines, -14 lines 0 comments
M webrtc/modules/pacing/paced_sender_unittest.cc View 7 chunks +32 lines, -6 lines 0 comments
M webrtc/video/end_to_end_tests.cc View 1 chunk +1 line, -0 lines 0 comments
M webrtc/video/video_send_stream.h View 3 chunks +6 lines, -4 lines 0 comments
M webrtc/video/video_send_stream.cc View 8 chunks +72 lines, -24 lines 0 comments
M webrtc/video/video_send_stream_tests.cc View 3 chunks +33 lines, -26 lines 0 comments
M webrtc/video/vie_encoder.h View 4 chunks +4 lines, -7 lines 0 comments
M webrtc/video/vie_encoder.cc View 6 chunks +5 lines, -56 lines 0 comments

Dependent Patchsets:

Messages

Total messages: 31 (14 generated)
perkj_webrtc
Please?
4 years, 7 months ago (2016-05-23 16:37:42 UTC) #6
perkj_webrtc
friendly ping Magnus and Stefan.
4 years, 6 months ago (2016-06-02 09:45:40 UTC) #7
NELAS.SEXISLIMNWIX
lgtm
4 years, 6 months ago (2016-06-04 23:00:46 UTC) #9
perkj_webrtc
Pretty please when there are no other emergencies? Two weeks has passed without a review?
4 years, 6 months ago (2016-06-08 08:59:30 UTC) #11
mflodman
On 2016/06/08 08:59:30, perkj_webrtc wrote: > Pretty please when there are no other emergencies? Two ...
4 years, 6 months ago (2016-06-08 09:00:53 UTC) #12
stefan-webrtc
https://codereview.webrtc.org/1993113003/diff/60001/webrtc/call/bitrate_allocator.h File webrtc/call/bitrate_allocator.h (right): https://codereview.webrtc.org/1993113003/diff/60001/webrtc/call/bitrate_allocator.h#newcode35 webrtc/call/bitrate_allocator.h:35: protected: Why is this needed? https://codereview.webrtc.org/1993113003/diff/120001/webrtc/call/bitrate_allocator.cc File webrtc/call/bitrate_allocator.cc (right): ...
4 years, 6 months ago (2016-06-08 09:25:14 UTC) #13
mflodman
An initial review more about the high level than the details. I haven't been part ...
4 years, 6 months ago (2016-06-08 10:18:31 UTC) #15
perkj_webrtc
PTAL https://codereview.webrtc.org/1993113003/diff/120001/webrtc/call/bitrate_allocator.cc File webrtc/call/bitrate_allocator.cc (right): https://codereview.webrtc.org/1993113003/diff/120001/webrtc/call/bitrate_allocator.cc#newcode104 webrtc/call/bitrate_allocator.cc:104: void BitrateAllocator::NotifyObserverInactive( On 2016/06/08 10:18:31, mflodman wrote: > ...
4 years, 6 months ago (2016-06-08 15:35:27 UTC) #16
perkj_webrtc
On 2016/06/08 15:35:27, perkj_webrtc wrote: > PTAL > > https://codereview.webrtc.org/1993113003/diff/120001/webrtc/call/bitrate_allocator.cc > File webrtc/call/bitrate_allocator.cc (right): > ...
4 years, 6 months ago (2016-06-10 09:02:37 UTC) #17
stefan-webrtc
https://codereview.webrtc.org/1993113003/diff/120001/webrtc/modules/pacing/paced_sender.cc File webrtc/modules/pacing/paced_sender.cc (right): https://codereview.webrtc.org/1993113003/diff/120001/webrtc/modules/pacing/paced_sender.cc#newcode424 webrtc/modules/pacing/paced_sender.cc:424: // do, time stamps gets messed up. On 2016/06/08 ...
4 years, 6 months ago (2016-06-10 13:54:14 UTC) #18
mflodman
Thanks for the changes, I think this looks good! A couple of more small comments. ...
4 years, 6 months ago (2016-06-13 05:02:43 UTC) #19
perkj_webrtc
PTAL https://codereview.webrtc.org/1993113003/diff/120001/webrtc/modules/pacing/paced_sender.cc File webrtc/modules/pacing/paced_sender.cc (right): https://codereview.webrtc.org/1993113003/diff/120001/webrtc/modules/pacing/paced_sender.cc#newcode424 webrtc/modules/pacing/paced_sender.cc:424: // do, time stamps gets messed up. On ...
4 years, 6 months ago (2016-06-14 10:58:02 UTC) #22
mflodman
LGTM
4 years, 6 months ago (2016-06-14 12:06:52 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1993113003/240001
4 years, 6 months ago (2016-06-15 07:27:01 UTC) #26
commit-bot: I haz the power
Committed patchset #11 (id:240001)
4 years, 6 months ago (2016-06-15 07:47:57 UTC) #28
commit-bot: I haz the power
CQ bit was unchecked
4 years, 6 months ago (2016-06-15 07:48:00 UTC) #29
commit-bot: I haz the power
4 years, 6 months ago (2016-06-15 07:48:04 UTC) #31
Message was sent while issue was closed.
Patchset 11 (id:??) landed as
https://crrev.com/71ee44cc6d3049763da69e8e42a08d4b796b97db
Cr-Commit-Position: refs/heads/master@{#13149}

Powered by Google App Engine