|
|
DescriptionSet min BWE bitrate form 10kbps to 5kbps and centralize minimum bitrate.
BUG=webrtc:6522
Committed: https://crrev.com/f082c2aa8dcb8868b2b6feb0a66c9c64c3e32205
Cr-Commit-Position: refs/heads/master@{#14947}
Patch Set 1 #Patch Set 2 : Fixed unittest #
Total comments: 12
Patch Set 3 : Respond to comments #
Total comments: 2
Patch Set 4 : Response to comments #
Total comments: 2
Patch Set 5 : Making min bwe bitrate dependent on field trial. #Patch Set 6 : Implemented GetMinBitrateBps as static function. #
Total comments: 4
Patch Set 7 : Response to comments. #Patch Set 8 : fix android unittest linking errors. #Patch Set 9 : Back to the roots. #Patch Set 10 : rebased. #Messages
Total messages: 85 (59 generated)
The CQ bit was checked by michaelt@webrtc.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/...
Description was changed from ========== Centralize minimum bitrate. BUG= ========== to ========== Centralize minimum bitrate. BUG=webrtc:6522 ==========
michaelt@webrtc.org changed reviewers: + minyue@webrtc.org, solenberg@webrtc.org, stefan@webrtc.org
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_rel on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/mac_rel/builds/19101)
The CQ bit was checked by michaelt@webrtc.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
I don't have much to say about this part of the code, so removing myself from reviewers. https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/congestion... File webrtc/modules/congestion_controller/congestion_controller_unittest.cc (right): https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/congestion... webrtc/modules/congestion_controller/congestion_controller_unittest.cc:139: EXPECT_CALL( strange formatting - did git cl format do this?
solenberg@webrtc.org changed reviewers: - solenberg@webrtc.org
https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/congestion... File webrtc/modules/congestion_controller/congestion_controller_unittest.cc (right): https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/congestion... webrtc/modules/congestion_controller/congestion_controller_unittest.cc:139: EXPECT_CALL( On 2016/10/12 15:29:36, the sun wrote: > strange formatting - did git cl format do this? Yes, this is done by "cl format"
https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/bitrate_co... File webrtc/modules/bitrate_controller/send_side_bandwidth_estimation.cc (right): https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/bitrate_co... webrtc/modules/bitrate_controller/send_side_bandwidth_estimation.cc:30: const int kDefaultMaxBitrateBps = 1000000000; how about max? https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/congestion... File webrtc/modules/congestion_controller/congestion_controller_unittest.cc (right): https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/congestion... webrtc/modules/congestion_controller/congestion_controller_unittest.cc:138: // the minimum default bitrate kMinBitrateBps. does the test depend on the actual value? https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/remote_bit... File webrtc/modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h (left): https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/remote_bit... webrtc/modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h:47: static const int kDefaultMinBitrateBps = 30000; why not merging all to this.
https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/bitrate_co... File webrtc/modules/bitrate_controller/send_side_bandwidth_estimation.cc (right): https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/bitrate_co... webrtc/modules/bitrate_controller/send_side_bandwidth_estimation.cc:30: const int kDefaultMaxBitrateBps = 1000000000; Yes we could centralize max as well. But it's not as imported as min since max will be override by set SetMinMaxBitrate https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/congestion... File webrtc/modules/congestion_controller/congestion_controller_unittest.cc (right): https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/congestion... webrtc/modules/congestion_controller/congestion_controller_unittest.cc:138: // the minimum default bitrate kMinBitrateBps. On 2016/10/13 08:12:31, minyue-webrtc wrote: > does the test depend on the actual value? Yes the test insert ileal values and expect then that the default values are passed. https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/remote_bit... File webrtc/modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h (left): https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/remote_bit... webrtc/modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h:47: static const int kDefaultMinBitrateBps = 30000; I did it in the bwe_defines.h so that i not have to include the remote_bitrate_estimator.h in the other files. But i don't have a relay strong opinion on that. If you think we should use RemoteBitrateEstimator::kDefaultMinBitrateBps it would be fine to me as well.
https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/remote_bit... File webrtc/modules/remote_bitrate_estimator/include/bwe_defines.h (right): https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/remote_bit... webrtc/modules/remote_bitrate_estimator/include/bwe_defines.h:23: constexpr int kMinBitrateBps = 5000; The description doesn't say that this CL changes the min bitrate from 10k / 30k to 5k. That should be made clear, as I'd say that is the most important part of the CL. https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/remote_bit... File webrtc/modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h (left): https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/remote_bit... webrtc/modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h:47: static const int kDefaultMinBitrateBps = 30000; On 2016/10/13 09:38:41, michaelt wrote: > I did it in the bwe_defines.h so that i not have to include the > remote_bitrate_estimator.h in the other files. > But i don't have a relay strong opinion on that. If you think we should use > RemoteBitrateEstimator::kDefaultMinBitrateBps it would be fine to me as well. > I would prefer if we move the min/max bitrates to modules/congestion_controller/. Maybe a defines.h under congestion_controller/include/? The namespace could be "congestion_controller" or something like that.
The CQ bit was checked by michaelt@webrtc.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/remote_bit... File webrtc/modules/remote_bitrate_estimator/include/bwe_defines.h (right): https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/remote_bit... webrtc/modules/remote_bitrate_estimator/include/bwe_defines.h:23: constexpr int kMinBitrateBps = 5000; On 2016/10/17 18:05:04, stefan-webrtc (holmer) wrote: > The description doesn't say that this CL changes the min bitrate from 10k / 30k > to 5k. That should be made clear, as I'd say that is the most important part of > the CL. Done. https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/remote_bit... File webrtc/modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h (left): https://codereview.webrtc.org/2415543002/diff/20001/webrtc/modules/remote_bit... webrtc/modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h:47: static const int kDefaultMinBitrateBps = 30000; On 2016/10/17 18:05:04, stefan-webrtc (holmer) wrote: > On 2016/10/13 09:38:41, michaelt wrote: > > I did it in the bwe_defines.h so that i not have to include the > > remote_bitrate_estimator.h in the other files. > > But i don't have a relay strong opinion on that. If you think we should use > > RemoteBitrateEstimator::kDefaultMinBitrateBps it would be fine to me as well. > > > > I would prefer if we move the min/max bitrates to > modules/congestion_controller/. Maybe a defines.h under > congestion_controller/include/? > > The namespace could be "congestion_controller" or something like that. Done.
Please add to the description that the min bitrate is being changed from 10000 kbps to 5000 kbps. I wonder if we should put the 5000 kbps change behind an audio bwe experiment to have better control of it? https://codereview.webrtc.org/2415543002/diff/40001/webrtc/modules/bitrate_co... File webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc (right): https://codereview.webrtc.org/2415543002/diff/40001/webrtc/modules/bitrate_co... webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc:18: #include "webrtc/modules/remote_bitrate_estimator/include/bwe_defines.h" Can we remove this?
Description was changed from ========== Centralize minimum bitrate. BUG=webrtc:6522 ========== to ========== Set min BWE bitrate form 10kbps to 5kbps and centralize minimum bitrate. BUG=webrtc:6522 ==========
https://codereview.webrtc.org/2415543002/diff/40001/webrtc/modules/bitrate_co... File webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc (right): https://codereview.webrtc.org/2415543002/diff/40001/webrtc/modules/bitrate_co... webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc:18: #include "webrtc/modules/remote_bitrate_estimator/include/bwe_defines.h" Yes. Done
https://codereview.webrtc.org/2415543002/diff/60001/webrtc/modules/congestion... File webrtc/modules/congestion_controller/include/defines.h (right): https://codereview.webrtc.org/2415543002/diff/60001/webrtc/modules/congestion... webrtc/modules/congestion_controller/include/defines.h:16: constexpr int kMinBitrateBps = 5000; I think we should put this behind a field trial too. Maybe: int GetMinBitrateBps() { if (webrtc::field_trial::FindFullName("WebRTC-Audio-SendSideBwe") == "Enabled") { return kAudioMinBitrateBps; // 5 kbps. } return kMinBitrateBps; // 10 kbps. } That way this impact the BWE behavior until we are sure things work well after experimenting. WDYT? Minyue?
https://codereview.webrtc.org/2415543002/diff/60001/webrtc/modules/congestion... File webrtc/modules/congestion_controller/include/defines.h (right): https://codereview.webrtc.org/2415543002/diff/60001/webrtc/modules/congestion... webrtc/modules/congestion_controller/include/defines.h:16: constexpr int kMinBitrateBps = 5000; Sounds fine to me. I had to move the impl. of the function to congestion_controller.cc other wise we would have linker errors. Done
Implemented GetMinBitrateBps as static function. As discussed offline.
https://codereview.webrtc.org/2415543002/diff/100001/webrtc/modules/congestio... File webrtc/modules/congestion_controller/congestion_controller.cc (right): https://codereview.webrtc.org/2415543002/diff/100001/webrtc/modules/congestio... webrtc/modules/congestion_controller/congestion_controller.cc:161: "Enabled") {} since it's a multi-line if https://codereview.webrtc.org/2415543002/diff/100001/webrtc/modules/congestio... File webrtc/modules/congestion_controller/include/congestion_controller.h (right): https://codereview.webrtc.org/2415543002/diff/100001/webrtc/modules/congestio... webrtc/modules/congestion_controller/include/congestion_controller.h:58: static int GetMinBitrateBps(); I find it slightly weird that we expose this in the congestion controller interface, as it's basically only used within the congestion controller implementation. As I see it, CongestionController is implemented using the classes in modules/bitrate_controller, modules/remote_bitrate_estimator, modules/pacing, etc. I think we may end up moving all of those into modules/congestion_controller down the line. There may not be a better place for it right now though... Any suggestions? Otherwise we'll go ahead with this.
https://codereview.webrtc.org/2415543002/diff/100001/webrtc/modules/congestio... File webrtc/modules/congestion_controller/congestion_controller.cc (right): https://codereview.webrtc.org/2415543002/diff/100001/webrtc/modules/congestio... webrtc/modules/congestion_controller/congestion_controller.cc:161: "Enabled") On 2016/11/01 09:09:15, stefan-webrtc (holmer) wrote: > {} since it's a multi-line if Done. https://codereview.webrtc.org/2415543002/diff/100001/webrtc/modules/congestio... File webrtc/modules/congestion_controller/include/congestion_controller.h (right): https://codereview.webrtc.org/2415543002/diff/100001/webrtc/modules/congestio... webrtc/modules/congestion_controller/include/congestion_controller.h:58: static int GetMinBitrateBps(); Moving the CongestionController related classes in to modules/congestion_controller sounds like a good idea. At the moment I see no better place to define GetMinBitrateBps. We may pass in future the value down, or remove it in some places. So that we don't have to define it globally.
lgtm
lgtm
The CQ bit was checked by michaelt@webrtc.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: android_compile_mips_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/android_compile_mips_db...) android_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/android_dbg/builds/18155)
The CQ bit was checked by michaelt@webrtc.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios_arm64_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios_arm64_dbg/builds/14415) ios_arm64_rel on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios_arm64_rel/builds/14301) ios_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios_dbg/builds/19646)
Patchset #8 (id:140001) has been deleted
The CQ bit was checked by michaelt@webrtc.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_compile_x86_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/android_compile_x86_dbg...) android_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/android_dbg/builds/18161) ios64_sim_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios64_sim_dbg/builds/12084)
Patchset #8 (id:160001) has been deleted
The CQ bit was checked by michaelt@webrtc.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_clang_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/android_clang_dbg/build...) android_compile_x64_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/android_compile_x64_dbg...) android_compile_x86_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/android_compile_x86_dbg...)
Patchset #8 (id:180001) has been deleted
The CQ bit was checked by michaelt@webrtc.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/android_dbg/builds/18165)
Patchset #8 (id:200001) has been deleted
The CQ bit was checked by michaelt@webrtc.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_compile_x64_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/android_compile_x64_dbg...) android_compile_x86_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/android_compile_x86_dbg...)
Patchset #8 (id:220001) has been deleted
The CQ bit was checked by michaelt@webrtc.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_rel on master.tryserver.webrtc (JOB_TIMED_OUT, no build URL)
On 2016/11/01 10:32:51, commit-bot: I haz the power wrote: > Try jobs failed on following builders: > android_compile_mips_dbg on master.tryserver.webrtc (JOB_FAILED, > http://build.chromium.org/p/tryserver.webrtc/builders/android_compile_mips_db...) > android_dbg on master.tryserver.webrtc (JOB_FAILED, > http://build.chromium.org/p/tryserver.webrtc/builders/android_dbg/builds/18155) I think you need only need to add modules/congestion_controller:congestion_controller as deps to https://cs.chromium.org/chromium/src/third_party/webrtc/modules/remote_bitrat...
On 2016/11/02 09:03:05, minyue-webrtc wrote: > On 2016/11/01 10:32:51, commit-bot: I haz the power wrote: > > Try jobs failed on following builders: > > android_compile_mips_dbg on master.tryserver.webrtc (JOB_FAILED, > > > http://build.chromium.org/p/tryserver.webrtc/builders/android_compile_mips_db...) > > android_dbg on master.tryserver.webrtc (JOB_FAILED, > > > http://build.chromium.org/p/tryserver.webrtc/builders/android_dbg/builds/18155) > > I think you need only need to add > modules/congestion_controller:congestion_controller > as deps to > https://cs.chromium.org/chromium/src/third_party/webrtc/modules/remote_bitrat... Hi Stefan, Putting static int GetMinBitrateBps() in class CongestionController makes remote bitrate estimator and congestion controller (as build targets) mutually dependent. Any suggestion?
Hi after I had some dependency problems, I changed the impl. as discussed offline.
lgtm
The CQ bit was checked by michaelt@webrtc.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_more_configs on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/android_more_configs/bu...) ios64_gyp_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios64_gyp_dbg/builds/2108) ios64_sim_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios64_sim_dbg/builds/12237) ios_arm64_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios_arm64_dbg/builds/14575) ios_arm64_rel on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios_arm64_rel/builds/14455) ios_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios_dbg/builds/19807) ios_rel on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios_rel/builds/18493) linux_libfuzzer_rel on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/linux_libfuzzer_rel/bui...)
The CQ bit was checked by michaelt@webrtc.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/...
lgtm
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_x64_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/win_x64_dbg/builds/2861)
The CQ bit was checked by michaelt@webrtc.org
The patchset sent to the CQ was uploaded after l-g-t-m from stefan@webrtc.org Link to the patchset: https://codereview.webrtc.org/2415543002/#ps280001 (title: "rebased.")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/...
Message was sent while issue was closed.
Description was changed from ========== Set min BWE bitrate form 10kbps to 5kbps and centralize minimum bitrate. BUG=webrtc:6522 ========== to ========== Set min BWE bitrate form 10kbps to 5kbps and centralize minimum bitrate. BUG=webrtc:6522 ==========
Message was sent while issue was closed.
Committed patchset #10 (id:280001)
Message was sent while issue was closed.
Description was changed from ========== Set min BWE bitrate form 10kbps to 5kbps and centralize minimum bitrate. BUG=webrtc:6522 ========== to ========== Set min BWE bitrate form 10kbps to 5kbps and centralize minimum bitrate. BUG=webrtc:6522 Committed: https://crrev.com/f082c2aa8dcb8868b2b6feb0a66c9c64c3e32205 Cr-Commit-Position: refs/heads/master@{#14947} ==========
Message was sent while issue was closed.
Patchset 10 (id:??) landed as https://crrev.com/f082c2aa8dcb8868b2b6feb0a66c9c64c3e32205 Cr-Commit-Position: refs/heads/master@{#14947} |