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

Issue 2776113002: Send data from mixer to APM limiter more often. (Closed)

Created:
3 years, 9 months ago by aleloi
Modified:
3 years, 8 months ago
Reviewers:
ivoc, hlundin-webrtc
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com, aleloi
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

Send data from mixer to APM limiter more often. Before this change, the APM limiter used in FrameCombiner (a sub-component of AudioMixer) only gets to process the data when the number of non-muted streams is >1. If this number varies between <=1 and >1, the limiter's view of the data will have gaps during the periods with <= 1 active stream. This leads to discontinuities in the applied gain. These discontinuities cause clicks in the output audio. This change activates APM limiter processing based on the number of audio streams, independently of their mutedness status. BUG=chromium:695993 Review-Url: https://codereview.webrtc.org/2776113002 Cr-Commit-Position: refs/heads/master@{#17442} Committed: https://chromium.googlesource.com/external/webrtc/+/2c9306ed50190a60be4dfa037d7c8781b0004a60

Patch Set 1 #

Patch Set 2 : wip #

Total comments: 6

Patch Set 3 : Add tests and address comments. #

Patch Set 4 : Test 1 not needed. #

Total comments: 12

Patch Set 5 : Addressed comments, divided into files. #

Patch Set 6 : Fxed GN dependency issue; passes GN checks. #

Patch Set 7 : Conversions due to Win warnings. #

Total comments: 20

Patch Set 8 : Minor changes in response to hlundin@'s comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+355 lines, -85 lines) Patch
M webrtc/modules/audio_mixer/BUILD.gn View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M webrtc/modules/audio_mixer/audio_mixer_impl.cc View 1 2 3 4 5 6 1 chunk +3 lines, -1 line 0 comments Download
M webrtc/modules/audio_mixer/frame_combiner.h View 1 2 1 chunk +5 lines, -14 lines 0 comments Download
M webrtc/modules/audio_mixer/frame_combiner.cc View 1 2 3 4 5 chunks +101 lines, -63 lines 0 comments Download
M webrtc/modules/audio_mixer/frame_combiner_unittest.cc View 1 2 3 4 5 6 7 7 chunks +77 lines, -7 lines 0 comments Download
A webrtc/modules/audio_mixer/gain_change_calculator.h View 1 2 3 4 1 chunk +38 lines, -0 lines 0 comments Download
A webrtc/modules/audio_mixer/gain_change_calculator.cc View 1 2 3 4 5 6 7 1 chunk +55 lines, -0 lines 0 comments Download
A webrtc/modules/audio_mixer/sine_wave_generator.h View 1 2 3 4 1 chunk +38 lines, -0 lines 0 comments Download
A webrtc/modules/audio_mixer/sine_wave_generator.cc View 1 2 3 4 5 6 7 1 chunk +33 lines, -0 lines 0 comments Download

Messages

Total messages: 48 (35 generated)
aleloi
PTAL!
3 years, 9 months ago (2017-03-27 14:33:29 UTC) #2
ivoc
LGTM, see nits below. https://codereview.webrtc.org/2776113002/diff/20001/webrtc/modules/audio_mixer/frame_combiner.cc File webrtc/modules/audio_mixer/frame_combiner.cc (right): https://codereview.webrtc.org/2776113002/diff/20001/webrtc/modules/audio_mixer/frame_combiner.cc#newcode39 webrtc/modules/audio_mixer/frame_combiner.cc:39: // Here it's no need ...
3 years, 9 months ago (2017-03-27 15:44:55 UTC) #3
hlundin-webrtc
On 2017/03/27 15:44:55, ivoc wrote: > LGTM, see nits below. > > https://codereview.webrtc.org/2776113002/diff/20001/webrtc/modules/audio_mixer/frame_combiner.cc > File ...
3 years, 8 months ago (2017-03-28 12:05:47 UTC) #4
hlundin-webrtc
On 2017/03/28 12:05:47, hlundin-webrtc wrote: > On 2017/03/27 15:44:55, ivoc wrote: > > LGTM, see ...
3 years, 8 months ago (2017-03-28 12:06:36 UTC) #5
hlundin-webrtc
Drive-by LGTM with same nits as ivoc@. And fix the bug number. https://codereview.webrtc.org/2776113002/diff/20001/webrtc/modules/audio_mixer/frame_combiner.h File webrtc/modules/audio_mixer/frame_combiner.h ...
3 years, 8 months ago (2017-03-28 12:14:57 UTC) #7
aleloi
Hi! I addressed the comments and added a test. Sorry for 200 LOC more after ...
3 years, 8 months ago (2017-03-28 14:49:05 UTC) #14
ivoc
Some more comments. https://codereview.webrtc.org/2776113002/diff/20001/webrtc/modules/audio_mixer/frame_combiner.cc File webrtc/modules/audio_mixer/frame_combiner.cc (right): https://codereview.webrtc.org/2776113002/diff/20001/webrtc/modules/audio_mixer/frame_combiner.cc#newcode39 webrtc/modules/audio_mixer/frame_combiner.cc:39: // Here it's no need to ...
3 years, 8 months ago (2017-03-28 16:11:06 UTC) #15
aleloi
Thanks, uploaded new version with comments addressed. https://codereview.webrtc.org/2776113002/diff/80001/webrtc/modules/audio_mixer/frame_combiner_test_tools.cc File webrtc/modules/audio_mixer/frame_combiner_test_tools.cc (right): https://codereview.webrtc.org/2776113002/diff/80001/webrtc/modules/audio_mixer/frame_combiner_test_tools.cc#newcode30 webrtc/modules/audio_mixer/frame_combiner_test_tools.cc:30: rtc::saturated_cast<int16_t>(amplitude_ * ...
3 years, 8 months ago (2017-03-28 17:10:13 UTC) #20
hlundin-webrtc
Thanks for making a test! A few minor comments. https://codereview.webrtc.org/2776113002/diff/200001/webrtc/modules/audio_mixer/frame_combiner_unittest.cc File webrtc/modules/audio_mixer/frame_combiner_unittest.cc (right): https://codereview.webrtc.org/2776113002/diff/200001/webrtc/modules/audio_mixer/frame_combiner_unittest.cc#newcode45 webrtc/modules/audio_mixer/frame_combiner_unittest.cc:45: ...
3 years, 8 months ago (2017-03-29 07:22:56 UTC) #36
aleloi
https://codereview.webrtc.org/2776113002/diff/200001/webrtc/modules/audio_mixer/frame_combiner_unittest.cc File webrtc/modules/audio_mixer/frame_combiner_unittest.cc (right): https://codereview.webrtc.org/2776113002/diff/200001/webrtc/modules/audio_mixer/frame_combiner_unittest.cc#newcode45 webrtc/modules/audio_mixer/frame_combiner_unittest.cc:45: ss << "limiter active: " << limiter_active << " ...
3 years, 8 months ago (2017-03-29 10:56:11 UTC) #41
ivoc
On 2017/03/29 10:56:11, aleloi wrote: > https://codereview.webrtc.org/2776113002/diff/200001/webrtc/modules/audio_mixer/frame_combiner_unittest.cc > File webrtc/modules/audio_mixer/frame_combiner_unittest.cc (right): > > https://codereview.webrtc.org/2776113002/diff/200001/webrtc/modules/audio_mixer/frame_combiner_unittest.cc#newcode45 > ...
3 years, 8 months ago (2017-03-29 11:07:52 UTC) #42
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2776113002/220001
3 years, 8 months ago (2017-03-29 11:23:03 UTC) #45
commit-bot: I haz the power
3 years, 8 months ago (2017-03-29 11:25:20 UTC) #48
Message was sent while issue was closed.
Committed patchset #8 (id:220001) as
https://chromium.googlesource.com/external/webrtc/+/2c9306ed50190a60be4dfa037...

Powered by Google App Engine
This is Rietveld 408576698