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

Issue 1715673002: Implement the NackModule as part of the new jitter buffer. (Closed)

Created:
4 years, 10 months ago by philipel
Modified:
4 years, 9 months ago
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com, zhengzhonghou_agora.io, video-team_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

Implement the NackModule as part of the new jitter buffer. Things done/implemented in this CL: - An interface that can send Nack (VCMNackSender). - An interface that can request KeyFrames (VCMKeyFrameRequestSender). - The nack module (NackModule). - A set of convenience functions for modular numbers (mod_ops.h). BUG=webrtc:5514 Committed: https://crrev.com/f472c5b6722dfb221f929fc4d3a2b4ca54647701 Cr-Commit-Position: refs/heads/master@{#11882}

Patch Set 1 #

Total comments: 96

Patch Set 2 : Feedback fixes. #

Total comments: 26

Patch Set 3 : Feedback fixes. #

Total comments: 3

Patch Set 4 : Implemented reordering statistics in separate class. #

Total comments: 62

Patch Set 5 : ModOps fixes. #

Patch Set 6 : Feedback fixes. #

Total comments: 6

Patch Set 7 : Removed commented code. #

Total comments: 21

Patch Set 8 : Fixing the last comments™. #

Total comments: 1

Patch Set 9 : ModOps Add optimization. #

Total comments: 13

Patch Set 10 : Comment fixes. #

Total comments: 8

Patch Set 11 : ModOps fixes and unittests. #

Patch Set 12 : std::max type fix. #

Patch Set 13 : SeqNumComparator operator marked const. #

Patch Set 14 : Include cstddef for size_t #

Patch Set 15 : Added missing comma in base.gyp. #

Patch Set 16 : Testing stuff for MSVC #

Patch Set 17 : Testing stuff for MSVC 2 #

Patch Set 18 : MSVC Fix. #

Patch Set 19 : Format #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+1157 lines, -0 lines) Patch
M webrtc/base/base.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/base/base_tests.gyp View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
A webrtc/base/mod_ops.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +123 lines, -0 lines 0 comments Download
A webrtc/base/mod_ops_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +172 lines, -0 lines 1 comment Download
M webrtc/modules/modules.gyp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
A webrtc/modules/video_coding/histogram.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +46 lines, -0 lines 0 comments Download
A webrtc/modules/video_coding/histogram.cc View 1 2 3 4 5 6 7 8 9 1 chunk +62 lines, -0 lines 0 comments Download
A webrtc/modules/video_coding/histogram_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +76 lines, -0 lines 0 comments Download
M webrtc/modules/video_coding/include/video_coding_defines.h View 1 2 3 4 5 6 7 3 chunks +20 lines, -0 lines 0 comments Download
A webrtc/modules/video_coding/nack_module.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +101 lines, -0 lines 0 comments Download
A webrtc/modules/video_coding/nack_module.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +257 lines, -0 lines 0 comments Download
A webrtc/modules/video_coding/nack_module_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +292 lines, -0 lines 0 comments Download
M webrtc/modules/video_coding/video_coding.gypi View 1 2 3 4 5 3 chunks +4 lines, -0 lines 0 comments Download

Messages

Total messages: 73 (27 generated)
stefan-webrtc
https://codereview.webrtc.org/1715673002/diff/1/webrtc/modules/video_coding/nack_module.cc File webrtc/modules/video_coding/nack_module.cc (right): https://codereview.webrtc.org/1715673002/diff/1/webrtc/modules/video_coding/nack_module.cc#newcode16 webrtc/modules/video_coding/nack_module.cc:16: #include "webrtc/modules/video_coding/nack_module.h" I tend to prefer short names. Should ...
4 years, 10 months ago (2016-02-23 12:29:02 UTC) #4
philipel
https://codereview.webrtc.org/1715673002/diff/1/webrtc/modules/video_coding/nack_module.cc File webrtc/modules/video_coding/nack_module.cc (right): https://codereview.webrtc.org/1715673002/diff/1/webrtc/modules/video_coding/nack_module.cc#newcode16 webrtc/modules/video_coding/nack_module.cc:16: #include "webrtc/modules/video_coding/nack_module.h" On 2016/02/23 12:29:00, stefan-webrtc (holmer) wrote: > ...
4 years, 10 months ago (2016-02-25 15:09:32 UTC) #5
stefan-webrtc
https://codereview.webrtc.org/1715673002/diff/1/webrtc/modules/video_coding/nack_module.cc File webrtc/modules/video_coding/nack_module.cc (right): https://codereview.webrtc.org/1715673002/diff/1/webrtc/modules/video_coding/nack_module.cc#newcode131 webrtc/modules/video_coding/nack_module.cc:131: kProcessIntervalMs * kProcessIntervalMs; On 2016/02/25 15:09:32, philipel wrote: > ...
4 years, 10 months ago (2016-02-26 09:26:55 UTC) #6
philipel
Fixed most of the feedback, will separate the reordering statistics into a separate class in ...
4 years, 10 months ago (2016-02-26 15:12:07 UTC) #7
philipel
4 years, 9 months ago (2016-02-29 09:43:48 UTC) #9
terelius
https://codereview.webrtc.org/1715673002/diff/40001/webrtc/base/mod_ops.h File webrtc/base/mod_ops.h (right): https://codereview.webrtc.org/1715673002/diff/40001/webrtc/base/mod_ops.h#newcode21 webrtc/base/mod_ops.h:21: !std::numeric_limits<T>::is_signed, \ Would static_assert(std::is_unsigned<T>::value, ...) be better? https://codereview.webrtc.org/1715673002/diff/40001/webrtc/base/mod_ops.h#newcode26 webrtc/base/mod_ops.h:26: ...
4 years, 9 months ago (2016-02-29 10:11:25 UTC) #10
philipel
I choose not to implement the ThreadChecker in this patch as I have no way ...
4 years, 9 months ago (2016-02-29 13:07:29 UTC) #11
torbjorng (webrtc)
You need to decide whether to require the arguments to be principal residues (mod M) ...
4 years, 9 months ago (2016-02-29 17:23:46 UTC) #13
stefan-webrtc
https://codereview.webrtc.org/1715673002/diff/1/webrtc/modules/video_coding/nack_module.h File webrtc/modules/video_coding/nack_module.h (right): https://codereview.webrtc.org/1715673002/diff/1/webrtc/modules/video_coding/nack_module.h#newcode26 webrtc/modules/video_coding/nack_module.h:26: class NackModule : public Module { On 2016/02/26 15:12:06, ...
4 years, 9 months ago (2016-03-01 08:52:11 UTC) #14
philipel
https://codereview.webrtc.org/1715673002/diff/60001/webrtc/base/mod_ops.h File webrtc/base/mod_ops.h (right): https://codereview.webrtc.org/1715673002/diff/60001/webrtc/base/mod_ops.h#newcode26 webrtc/base/mod_ops.h:26: template <size_t M> inline size_t Add(size_t a , size_t ...
4 years, 9 months ago (2016-03-01 09:29:34 UTC) #15
philipel
https://codereview.webrtc.org/1715673002/diff/60001/webrtc/modules/video_coding/distribution.cc File webrtc/modules/video_coding/distribution.cc (right): https://codereview.webrtc.org/1715673002/diff/60001/webrtc/modules/video_coding/distribution.cc#newcode13 webrtc/modules/video_coding/distribution.cc:13: #include "webrtc/modules/video_coding/distribution.h" On 2016/03/01 08:52:10, stefan-webrtc (holmer) wrote: > ...
4 years, 9 months ago (2016-03-01 10:27:07 UTC) #16
stefan-webrtc
This starts looking good I think. A few more comments from me. https://codereview.webrtc.org/1715673002/diff/60001/webrtc/modules/video_coding/nack_module.cc File webrtc/modules/video_coding/nack_module.cc ...
4 years, 9 months ago (2016-03-01 12:16:35 UTC) #17
terelius
https://codereview.webrtc.org/1715673002/diff/120001/webrtc/base/mod_ops.h File webrtc/base/mod_ops.h (right): https://codereview.webrtc.org/1715673002/diff/120001/webrtc/base/mod_ops.h#newcode28 webrtc/base/mod_ops.h:28: RTC_DCHECK_LT(a, M); Do you really want to enforce a<=M? ...
4 years, 9 months ago (2016-03-01 12:27:01 UTC) #18
philipel
https://codereview.webrtc.org/1715673002/diff/100001/webrtc/modules/video_coding/nack_module.cc File webrtc/modules/video_coding/nack_module.cc (right): https://codereview.webrtc.org/1715673002/diff/100001/webrtc/modules/video_coding/nack_module.cc#newcode168 webrtc/modules/video_coding/nack_module.cc:168: continue; On 2016/03/01 12:16:34, stefan-webrtc (holmer) wrote: > You ...
4 years, 9 months ago (2016-03-01 13:31:09 UTC) #19
torbjorng (webrtc)
https://codereview.webrtc.org/1715673002/diff/60001/webrtc/base/mod_ops.h File webrtc/base/mod_ops.h (right): https://codereview.webrtc.org/1715673002/diff/60001/webrtc/base/mod_ops.h#newcode26 webrtc/base/mod_ops.h:26: template <size_t M> inline size_t Add(size_t a , size_t ...
4 years, 9 months ago (2016-03-01 14:13:35 UTC) #20
philipel
https://codereview.webrtc.org/1715673002/diff/60001/webrtc/base/mod_ops.h File webrtc/base/mod_ops.h (right): https://codereview.webrtc.org/1715673002/diff/60001/webrtc/base/mod_ops.h#newcode29 webrtc/base/mod_ops.h:29: return M - a + add; On 2016/03/01 14:13:35, ...
4 years, 9 months ago (2016-03-01 15:28:39 UTC) #21
stefan-webrtc
Looks good. I don't have any other comments than these. I'd like for torbjorng or ...
4 years, 9 months ago (2016-03-02 14:32:06 UTC) #22
philipel
https://codereview.webrtc.org/1715673002/diff/160001/webrtc/modules/video_coding/histogram.cc File webrtc/modules/video_coding/histogram.cc (right): https://codereview.webrtc.org/1715673002/diff/160001/webrtc/modules/video_coding/histogram.cc#newcode19 webrtc/modules/video_coding/histogram.cc:19: Histogram::Histogram(int num_buckets, int max_num_values) { On 2016/03/02 14:32:05, stefan-webrtc ...
4 years, 9 months ago (2016-03-02 15:35:11 UTC) #23
torbjorng (webrtc)
https://codereview.webrtc.org/1715673002/diff/180001/webrtc/base/mod_ops.h File webrtc/base/mod_ops.h (right): https://codereview.webrtc.org/1715673002/diff/180001/webrtc/base/mod_ops.h#newcode38 webrtc/base/mod_ops.h:38: RTC_DCHECK_LT(a, M); // NOLINT Nit: this NOLINT seems unneeded. ...
4 years, 9 months ago (2016-03-02 16:20:50 UTC) #24
torbjorng (webrtc)
Oh, that was not intended tone. I wrote the pejorative word with the author behind ...
4 years, 9 months ago (2016-03-02 16:29:29 UTC) #25
philipel
https://codereview.webrtc.org/1715673002/diff/180001/webrtc/base/mod_ops.h File webrtc/base/mod_ops.h (right): https://codereview.webrtc.org/1715673002/diff/180001/webrtc/base/mod_ops.h#newcode38 webrtc/base/mod_ops.h:38: RTC_DCHECK_LT(a, M); // NOLINT On 2016/03/02 16:20:50, torbjorng (webrtc) ...
4 years, 9 months ago (2016-03-03 12:21:36 UTC) #26
torbjorng (webrtc)
lgtm wrt webrtc/base/mod_ops.h I truly appreciate the unstupification. :-)
4 years, 9 months ago (2016-03-03 13:36:44 UTC) #27
stefan-webrtc
lgtm
4 years, 9 months ago (2016-03-03 13:51:56 UTC) #28
terelius
Feel free to proceed without me. Unless there is anything in particular you want me ...
4 years, 9 months ago (2016-03-03 14:01:00 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1715673002/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1715673002/200001
4 years, 9 months ago (2016-03-03 14:31:23 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: ios64_sim_dbg on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios64_sim_dbg/builds/5649)
4 years, 9 months ago (2016-03-03 14:35:56 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1715673002/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1715673002/220001
4 years, 9 months ago (2016-03-03 14:46:10 UTC) #36
commit-bot: I haz the power
Try jobs failed on following builders: ios64_sim_dbg on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios64_sim_dbg/builds/5651) ios_arm64_dbg on tryserver.webrtc (JOB_FAILED, ...
4 years, 9 months ago (2016-03-03 14:47:56 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1715673002/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1715673002/240001
4 years, 9 months ago (2016-03-03 15:17:27 UTC) #41
commit-bot: I haz the power
Try jobs failed on following builders: win_drmemory_light on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/win_drmemory_light/builds/10171)
4 years, 9 months ago (2016-03-03 15:25:14 UTC) #43
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1715673002/260001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1715673002/260001
4 years, 9 months ago (2016-03-03 15:58:14 UTC) #46
commit-bot: I haz the power
Try jobs failed on following builders: win_x64_clang_dbg on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/win_x64_clang_dbg/builds/1536) win_x64_clang_rel on tryserver.webrtc (JOB_FAILED, ...
4 years, 9 months ago (2016-03-03 16:00:27 UTC) #48
philipel
Added missing comma in base.gyp.
4 years, 9 months ago (2016-03-03 16:09:29 UTC) #49
philipel
Testing stuff for MSVC 2
4 years, 9 months ago (2016-03-04 08:56:06 UTC) #50
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1715673002/340001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1715673002/340001
4 years, 9 months ago (2016-03-04 10:09:37 UTC) #53
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/3889)
4 years, 9 months ago (2016-03-04 11:15:52 UTC) #55
philipel
mflodman@ ptal, I need owners approval for mod_ops.h and mod_ops_unittest.cc.
4 years, 9 months ago (2016-03-04 12:12:40 UTC) #56
torbjorng (webrtc)
lgtm wrt mod_ops_unittest.cc. https://codereview.webrtc.org/1715673002/diff/360001/webrtc/base/mod_ops_unittest.cc File webrtc/base/mod_ops_unittest.cc (right): https://codereview.webrtc.org/1715673002/diff/360001/webrtc/base/mod_ops_unittest.cc#newcode40 webrtc/base/mod_ops_unittest.cc:40: const unsigned long D = ulmax ...
4 years, 9 months ago (2016-03-04 13:43:29 UTC) #57
torbjorng (webrtc)
4 years, 9 months ago (2016-03-04 13:45:57 UTC) #59
tommi
rs lgtm
4 years, 9 months ago (2016-03-04 13:51:40 UTC) #61
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1715673002/360001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1715673002/360001
4 years, 9 months ago (2016-03-04 13:59:32 UTC) #64
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_rel on tryserver.webrtc (JOB_TIMED_OUT, no build URL) android_dbg on ...
4 years, 9 months ago (2016-03-04 16:00:39 UTC) #66
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1715673002/360001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1715673002/360001
4 years, 9 months ago (2016-03-05 11:54:35 UTC) #68
commit-bot: I haz the power
Committed patchset #19 (id:360001)
4 years, 9 months ago (2016-03-05 11:56:44 UTC) #70
commit-bot: I haz the power
Patchset 19 (id:??) landed as https://crrev.com/f472c5b6722dfb221f929fc4d3a2b4ca54647701 Cr-Commit-Position: refs/heads/master@{#11882}
4 years, 9 months ago (2016-03-05 11:56:55 UTC) #72
kjellander_webrtc
4 years, 9 months ago (2016-03-07 17:31:28 UTC) #73
Message was sent while issue was closed.
A revert of this CL (patchset #19 id:360001) has been created in
https://codereview.webrtc.org/1771883002/ by kjellander@webrtc.org.

The reason for reverting is: Unfortunately this breaks in the main waterfall:
https://build.chromium.org/p/client.webrtc/builders/Android32%20Builder/build...

I think it's related to dcheck_always_on=1 which is set in GYP_DEFINES only on
the trybots, but not on the bots in the main waterfall..

Powered by Google App Engine
This is Rietveld 408576698