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

Issue 1474533006: Fix bug in calculation of averge queue time in paced sender. (Closed)

Created:
5 years ago by sprang_webrtc
Modified:
5 years ago
Reviewers:
stefan-webrtc, mflodman
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com, zhuangzesen_agora.io, stefan-webrtc, mflodman
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Fix bug in calculation of averge queue time in paced sender. Also work around a flaw in fake encoder which caused bogus perf regression in rampup tests. BUG=560434 R=mflodman@webrtc.org, stefan@webrtc.org Committed: https://crrev.com/ad113e50d251c95adcf501ed29f8312ad1193a35 Cr-Commit-Position: refs/heads/master@{#10811}

Patch Set 1 #

Total comments: 6

Patch Set 2 : Addressed comments #

Patch Set 3 : Added unit test #

Patch Set 4 : Cleanup #

Total comments: 6

Patch Set 5 : Updated fake encoder fix #

Patch Set 6 : Removed magic const #

Total comments: 4

Patch Set 7 : Added a todo comment #

Total comments: 5

Patch Set 8 : Addressed comments #

Patch Set 9 : Just one more dcheck... #

Patch Set 10 : Fixed race condition #

Total comments: 2

Patch Set 11 : Added comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+90 lines, -13 lines) Patch
M webrtc/modules/pacing/paced_sender.h View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M webrtc/modules/pacing/paced_sender.cc View 1 2 3 4 5 6 7 8 9 10 7 chunks +36 lines, -13 lines 0 comments Download
M webrtc/modules/pacing/paced_sender_unittest.cc View 1 2 1 chunk +45 lines, -0 lines 0 comments Download
M webrtc/test/fake_encoder.cc View 1 2 3 4 5 6 7 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 42 (12 generated)
sprang_webrtc
5 years ago (2015-11-25 15:21:36 UTC) #2
stefan-webrtc
https://codereview.webrtc.org/1474533006/diff/1/webrtc/modules/pacing/paced_sender.cc File webrtc/modules/pacing/paced_sender.cc (right): https://codereview.webrtc.org/1474533006/diff/1/webrtc/modules/pacing/paced_sender.cc#newcode107 webrtc/modules/pacing/paced_sender.cc:107: UpdateQueueTime(); To me it makes more sense to call ...
5 years ago (2015-11-25 15:28:52 UTC) #3
sprang_webrtc
Addressed comments. I'll upload a test case in a few moments. https://codereview.webrtc.org/1474533006/diff/1/webrtc/modules/pacing/paced_sender.cc File webrtc/modules/pacing/paced_sender.cc (right): ...
5 years ago (2015-11-25 15:36:00 UTC) #4
stefan-webrtc
https://codereview.webrtc.org/1474533006/diff/60001/webrtc/modules/pacing/paced_sender.cc File webrtc/modules/pacing/paced_sender.cc (right): https://codereview.webrtc.org/1474533006/diff/60001/webrtc/modules/pacing/paced_sender.cc#newcode328 webrtc/modules/pacing/paced_sender.cc:328: int64_t PacedSender::AverageQueueTimeMs() const { Can this really be const ...
5 years ago (2015-11-25 18:14:22 UTC) #5
sprang_webrtc
https://codereview.webrtc.org/1474533006/diff/60001/webrtc/modules/pacing/paced_sender.cc File webrtc/modules/pacing/paced_sender.cc (right): https://codereview.webrtc.org/1474533006/diff/60001/webrtc/modules/pacing/paced_sender.cc#newcode328 webrtc/modules/pacing/paced_sender.cc:328: int64_t PacedSender::AverageQueueTimeMs() const { On 2015/11/25 18:14:22, stefan-webrtc (holmer) ...
5 years ago (2015-11-25 19:40:42 UTC) #6
stefan-webrtc
https://codereview.webrtc.org/1474533006/diff/60001/webrtc/modules/pacing/paced_sender.cc File webrtc/modules/pacing/paced_sender.cc (right): https://codereview.webrtc.org/1474533006/diff/60001/webrtc/modules/pacing/paced_sender.cc#newcode328 webrtc/modules/pacing/paced_sender.cc:328: int64_t PacedSender::AverageQueueTimeMs() const { On 2015/11/25 19:40:42, språng wrote: ...
5 years ago (2015-11-26 08:02:46 UTC) #7
sprang_webrtc
https://codereview.webrtc.org/1474533006/diff/60001/webrtc/modules/pacing/paced_sender.cc File webrtc/modules/pacing/paced_sender.cc (right): https://codereview.webrtc.org/1474533006/diff/60001/webrtc/modules/pacing/paced_sender.cc#newcode328 webrtc/modules/pacing/paced_sender.cc:328: int64_t PacedSender::AverageQueueTimeMs() const { On 2015/11/26 08:02:46, stefan-webrtc (holmer) ...
5 years ago (2015-11-26 08:11:21 UTC) #8
stefan-webrtc
lgtm
5 years ago (2015-11-26 08:24:48 UTC) #9
stefan-webrtc
https://codereview.webrtc.org/1474533006/diff/100001/webrtc/modules/pacing/paced_sender.h File webrtc/modules/pacing/paced_sender.h (right): https://codereview.webrtc.org/1474533006/diff/100001/webrtc/modules/pacing/paced_sender.h#newcode118 webrtc/modules/pacing/paced_sender.h:118: virtual int64_t AverageQueueTimeMs(); Hm, btw, this is just for ...
5 years ago (2015-11-26 08:26:50 UTC) #10
sprang_webrtc
https://codereview.webrtc.org/1474533006/diff/100001/webrtc/modules/pacing/paced_sender.h File webrtc/modules/pacing/paced_sender.h (right): https://codereview.webrtc.org/1474533006/diff/100001/webrtc/modules/pacing/paced_sender.h#newcode118 webrtc/modules/pacing/paced_sender.h:118: virtual int64_t AverageQueueTimeMs(); On 2015/11/26 08:26:50, stefan-webrtc (holmer) wrote: ...
5 years ago (2015-11-26 08:55:09 UTC) #11
sprang_webrtc
5 years ago (2015-11-26 08:55:10 UTC) #12
sprang_webrtc
5 years ago (2015-11-26 08:55:12 UTC) #13
stefan-webrtc
lgtm, again. https://codereview.webrtc.org/1474533006/diff/100001/webrtc/modules/pacing/paced_sender.h File webrtc/modules/pacing/paced_sender.h (right): https://codereview.webrtc.org/1474533006/diff/100001/webrtc/modules/pacing/paced_sender.h#newcode118 webrtc/modules/pacing/paced_sender.h:118: virtual int64_t AverageQueueTimeMs(); On 2015/11/26 08:55:09, språng ...
5 years ago (2015-11-26 09:15:22 UTC) #14
sprang_webrtc
https://codereview.webrtc.org/1474533006/diff/100001/webrtc/modules/pacing/paced_sender.h File webrtc/modules/pacing/paced_sender.h (right): https://codereview.webrtc.org/1474533006/diff/100001/webrtc/modules/pacing/paced_sender.h#newcode118 webrtc/modules/pacing/paced_sender.h:118: virtual int64_t AverageQueueTimeMs(); On 2015/11/26 09:15:22, stefan-webrtc (holmer) wrote: ...
5 years ago (2015-11-26 09:24:52 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1474533006/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1474533006/120001
5 years ago (2015-11-26 09:25:06 UTC) #18
commit-bot: I haz the power
Try jobs failed on following builders: presubmit on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/presubmit/builds/1995)
5 years ago (2015-11-26 09:27:32 UTC) #20
mflodman
https://codereview.webrtc.org/1474533006/diff/120001/webrtc/test/fake_encoder.cc File webrtc/test/fake_encoder.cc (right): https://codereview.webrtc.org/1474533006/diff/120001/webrtc/test/fake_encoder.cc#newcode63 webrtc/test/fake_encoder.cc:63: time_since_last_encode_ms = 3 * 1000 / config_.maxFramerate; This can ...
5 years ago (2015-11-26 10:23:38 UTC) #21
stefan-webrtc
https://codereview.webrtc.org/1474533006/diff/120001/webrtc/test/fake_encoder.cc File webrtc/test/fake_encoder.cc (right): https://codereview.webrtc.org/1474533006/diff/120001/webrtc/test/fake_encoder.cc#newcode63 webrtc/test/fake_encoder.cc:63: time_since_last_encode_ms = 3 * 1000 / config_.maxFramerate; On 2015/11/26 ...
5 years ago (2015-11-26 11:23:38 UTC) #22
mflodman
LGTM with comments addressed. https://codereview.webrtc.org/1474533006/diff/120001/webrtc/modules/pacing/paced_sender.cc File webrtc/modules/pacing/paced_sender.cc (right): https://codereview.webrtc.org/1474533006/diff/120001/webrtc/modules/pacing/paced_sender.cc#newcode127 webrtc/modules/pacing/paced_sender.cc:127: } Can we add a ...
5 years ago (2015-11-26 12:06:23 UTC) #23
sprang_webrtc
https://codereview.webrtc.org/1474533006/diff/120001/webrtc/test/fake_encoder.cc File webrtc/test/fake_encoder.cc (right): https://codereview.webrtc.org/1474533006/diff/120001/webrtc/test/fake_encoder.cc#newcode63 webrtc/test/fake_encoder.cc:63: time_since_last_encode_ms = 3 * 1000 / config_.maxFramerate; On 2015/11/26 ...
5 years ago (2015-11-26 13:04:22 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1474533006/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1474533006/160001
5 years ago (2015-11-26 13:04:48 UTC) #27
commit-bot: I haz the power
Try jobs failed on following builders: linux_asan on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/linux_asan/builds/10892)
5 years ago (2015-11-26 13:17:16 UTC) #29
sprang_webrtc
PTAL again :( There was a race condition hidden in this: We used prio_queue_.size() when ...
5 years ago (2015-11-26 14:07:29 UTC) #30
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1474533006/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1474533006/180001
5 years ago (2015-11-26 14:07:56 UTC) #32
stefan-webrtc
Assuming we only build on compilers comply to this part of c++11, this lgtm, and ...
5 years ago (2015-11-26 14:18:20 UTC) #33
stefan-webrtc
Assuming we only build on compilers comply to this part of c++11, this lgtm, and ...
5 years ago (2015-11-26 14:18:20 UTC) #34
sprang_webrtc
https://codereview.webrtc.org/1474533006/diff/180001/webrtc/modules/pacing/paced_sender.cc File webrtc/modules/pacing/paced_sender.cc (right): https://codereview.webrtc.org/1474533006/diff/180001/webrtc/modules/pacing/paced_sender.cc#newcode148 webrtc/modules/pacing/paced_sender.cc:148: queue_time_sum_ += delta * packet_list_.size(); On 2015/11/26 14:18:20, stefan-webrtc ...
5 years ago (2015-11-26 14:22:25 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1474533006/190001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1474533006/190001
5 years ago (2015-11-26 14:22:40 UTC) #38
sprang_webrtc
Committed patchset #11 (id:190001) manually as ad113e50d251c95adcf501ed29f8312ad1193a35 (presubmit successful).
5 years ago (2015-11-26 15:26:30 UTC) #40
commit-bot: I haz the power
5 years ago (2015-11-26 15:26:33 UTC) #42
Message was sent while issue was closed.
Patchset 11 (id:??) landed as
https://crrev.com/ad113e50d251c95adcf501ed29f8312ad1193a35
Cr-Commit-Position: refs/heads/master@{#10811}

Powered by Google App Engine
This is Rietveld 408576698