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

Issue 1226093007: Allow more than 2 input channels in AudioProcessing. (Closed)

Created:
5 years, 5 months ago by mgraczyk
Modified:
5 years, 5 months ago
CC:
webrtc-reviews_webrtc.org, interface-changes_webrtc.org, rwolff_gocast.it, yujie_mao (webrtc), Andrew MacDonald, hlundin-webrtc, tterriberry_mozilla.com, qiang.lu, niklas.enbom, kwiberg-webrtc, aluebs-webrtc, bjornv1, ekm
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Allow more than 2 input channels in AudioProcessing. The number of output channels is constrained to be equal to either 1 or the number of input channels. R=aluebs@webrtc.org, andrew@webrtc.org, pbos@webrtc.org Committed: https://chromium.googlesource.com/external/webrtc/+/c204754b7a0cc801c70e8ce6c689f57f6ce00b3b

Patch Set 1 #

Patch Set 2 : Fix build issues on mac #

Patch Set 3 : Fix CopyTo and CopyFrom in AudioBuffer #

Patch Set 4 : Fix build problem on MSCV #

Patch Set 5 : Fix comments and rearrange code #

Total comments: 6

Patch Set 6 : Fix mac build #

Total comments: 99

Patch Set 7 : Address Comments #

Total comments: 5

Patch Set 8 : Address more comments #

Patch Set 9 : Reupload #

Total comments: 3

Patch Set 10 : Remove special deinterleave cases and fix sample rate check #

Patch Set 11 : Change ProcessStream interface #

Total comments: 20

Patch Set 12 : Address some comments #

Patch Set 13 : Fix docs #

Unified diffs Side-by-side diffs Delta from patch set Stats (+708 lines, -371 lines) Patch
M talk/media/webrtc/fakewebrtcvoiceengine.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +10 lines, -0 lines 0 comments Download
M webrtc/common_audio/audio_util.cc View 1 2 3 4 5 6 1 chunk +9 lines, -0 lines 0 comments Download
M webrtc/common_audio/audio_util_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 6 chunks +131 lines, -17 lines 0 comments Download
M webrtc/common_audio/include/audio_util.h View 1 2 3 4 5 6 7 8 9 10 11 12 6 chunks +67 lines, -12 lines 0 comments Download
M webrtc/common_audio/wav_file.cc View 1 chunk +0 lines, -5 lines 0 comments Download
M webrtc/modules/audio_processing/audio_buffer.h View 1 2 3 4 5 6 1 chunk +2 lines, -6 lines 0 comments Download
M webrtc/modules/audio_processing/audio_buffer.cc View 1 2 3 4 5 6 7 8 9 10 11 7 chunks +28 lines, -60 lines 0 comments Download
M webrtc/modules/audio_processing/audio_processing_impl.h View 1 2 3 4 5 6 7 8 9 10 6 chunks +18 lines, -55 lines 0 comments Download
M webrtc/modules/audio_processing/audio_processing_impl.cc View 1 2 3 4 5 6 7 8 9 10 30 chunks +214 lines, -179 lines 0 comments Download
M webrtc/modules/audio_processing/include/audio_processing.h View 1 2 3 4 5 6 7 8 9 10 11 12 8 chunks +134 lines, -6 lines 0 comments Download
M webrtc/modules/audio_processing/include/mock_audio_processing.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +9 lines, -0 lines 0 comments Download
M webrtc/modules/audio_processing/test/audio_processing_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +77 lines, -23 lines 0 comments Download
M webrtc/modules/audio_processing/test/audioproc_float.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +9 lines, -8 lines 0 comments Download

Messages

Total messages: 37 (9 generated)
mgraczyk
This patch enables multichannel (>2) input audio streams. We can now beamform arbitrarily large microphone ...
5 years, 5 months ago (2015-07-10 00:33:36 UTC) #1
mgraczyk
Added aluebs as a reviewer.
5 years, 5 months ago (2015-07-11 00:11:19 UTC) #3
aluebs-webrtc
Thank you for doing this! It is awesome! :) https://codereview.chromium.org/1226093007/diff/100001/webrtc/common_audio/wav_file.cc File webrtc/common_audio/wav_file.cc (left): https://codereview.chromium.org/1226093007/diff/100001/webrtc/common_audio/wav_file.cc#oldcode126 webrtc/common_audio/wav_file.cc:126: ...
5 years, 5 months ago (2015-07-14 23:12:44 UTC) #4
mgraczyk
PTAL https://codereview.chromium.org/1226093007/diff/100001/webrtc/common_audio/wav_file.cc File webrtc/common_audio/wav_file.cc (left): https://codereview.chromium.org/1226093007/diff/100001/webrtc/common_audio/wav_file.cc#oldcode126 webrtc/common_audio/wav_file.cc:126: CHECK(CheckWavParameters(num_channels_, On 2015/07/14 23:12:42, aluebs-webrtc wrote: > Why ...
5 years, 5 months ago (2015-07-15 01:12:47 UTC) #5
ajm
Just glanced at it so far; looks good in general. Will try to have a ...
5 years, 5 months ago (2015-07-15 05:21:20 UTC) #7
aluebs-webrtc
https://codereview.chromium.org/1226093007/diff/120001/webrtc/modules/audio_processing/include/audio_processing.h File webrtc/modules/audio_processing/include/audio_processing.h (right): https://codereview.chromium.org/1226093007/diff/120001/webrtc/modules/audio_processing/include/audio_processing.h#newcode467 webrtc/modules/audio_processing/include/audio_processing.h:467: samples_per_channel_(calculate_samples_per_channel(sample_rate_hz)) {} On 2015/07/15 05:21:20, ajm wrote: > Alex, ...
5 years, 5 months ago (2015-07-15 16:42:17 UTC) #8
aluebs-webrtc
https://codereview.chromium.org/1226093007/diff/100001/webrtc/common_audio/wav_file.cc File webrtc/common_audio/wav_file.cc (left): https://codereview.chromium.org/1226093007/diff/100001/webrtc/common_audio/wav_file.cc#oldcode126 webrtc/common_audio/wav_file.cc:126: CHECK(CheckWavParameters(num_channels_, On 2015/07/15 01:12:45, mgraczyk wrote: > On 2015/07/14 ...
5 years, 5 months ago (2015-07-15 18:04:06 UTC) #9
mgraczyk
https://codereview.webrtc.org/1226093007/diff/100001/webrtc/common_audio/wav_file.cc File webrtc/common_audio/wav_file.cc (left): https://codereview.webrtc.org/1226093007/diff/100001/webrtc/common_audio/wav_file.cc#oldcode126 webrtc/common_audio/wav_file.cc:126: CHECK(CheckWavParameters(num_channels_, On 2015/07/15 18:04:05, aluebs-webrtc wrote: > On 2015/07/15 ...
5 years, 5 months ago (2015-07-15 20:03:20 UTC) #10
aluebs-webrtc
https://codereview.webrtc.org/1226093007/diff/100001/webrtc/common_audio/wav_file.cc File webrtc/common_audio/wav_file.cc (left): https://codereview.webrtc.org/1226093007/diff/100001/webrtc/common_audio/wav_file.cc#oldcode126 webrtc/common_audio/wav_file.cc:126: CHECK(CheckWavParameters(num_channels_, On 2015/07/15 20:03:19, mgraczyk wrote: > On 2015/07/15 ...
5 years, 5 months ago (2015-07-15 21:29:17 UTC) #11
mgraczyk
https://codereview.webrtc.org/1226093007/diff/100001/webrtc/modules/audio_processing/audio_buffer.h File webrtc/modules/audio_processing/audio_buffer.h (right): https://codereview.webrtc.org/1226093007/diff/100001/webrtc/modules/audio_processing/audio_buffer.h#newcode78 webrtc/modules/audio_processing/audio_buffer.h:78: } else if (num_channels == 2) { On 2015/07/15 ...
5 years, 5 months ago (2015-07-15 21:53:56 UTC) #12
aluebs-webrtc
lgtm % a comment https://codereview.webrtc.org/1226093007/diff/100001/webrtc/modules/audio_processing/include/audio_processing.h File webrtc/modules/audio_processing/include/audio_processing.h (right): https://codereview.webrtc.org/1226093007/diff/100001/webrtc/modules/audio_processing/include/audio_processing.h#newcode321 webrtc/modules/audio_processing/include/audio_processing.h:321: const ProcessingConfig& processing_config, On 2015/07/15 ...
5 years, 5 months ago (2015-07-16 00:20:53 UTC) #13
mgraczyk
https://codereview.webrtc.org/1226093007/diff/100001/webrtc/modules/audio_processing/include/audio_processing.h File webrtc/modules/audio_processing/include/audio_processing.h (right): https://codereview.webrtc.org/1226093007/diff/100001/webrtc/modules/audio_processing/include/audio_processing.h#newcode321 webrtc/modules/audio_processing/include/audio_processing.h:321: const ProcessingConfig& processing_config, On 2015/07/16 00:20:52, aluebs-webrtc wrote: > ...
5 years, 5 months ago (2015-07-16 00:50:17 UTC) #14
mgraczyk
Changed ProcessStream API
5 years, 5 months ago (2015-07-16 01:44:20 UTC) #15
aluebs-webrtc
lgtm
5 years, 5 months ago (2015-07-16 01:48:33 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1226093007/200001
5 years, 5 months ago (2015-07-16 02:41:01 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/191)
5 years, 5 months ago (2015-07-16 02:42:45 UTC) #20
mgraczyk
pbos, I need owners approval for talk/media/webrtc/fakewebrtcvoiceengine.h PTAL when you have a chance.
5 years, 5 months ago (2015-07-21 17:38:43 UTC) #22
pbos-webrtc
talk/ rs-lgtm
5 years, 5 months ago (2015-07-21 18:00:46 UTC) #24
Andrew MacDonald
+ekmeyerson FYI.
5 years, 5 months ago (2015-07-21 19:19:06 UTC) #25
Andrew MacDonald
Mostly minor things. Main question is around the accounting of the keyboard channel. https://codereview.webrtc.org/1226093007/diff/80001/webrtc/common_audio/wav_file.cc File ...
5 years, 5 months ago (2015-07-22 22:47:21 UTC) #26
mgraczyk
https://codereview.webrtc.org/1226093007/diff/200001/webrtc/common_audio/audio_util_unittest.cc File webrtc/common_audio/audio_util_unittest.cc (right): https://codereview.webrtc.org/1226093007/diff/200001/webrtc/common_audio/audio_util_unittest.cc#newcode123 webrtc/common_audio/audio_util_unittest.cc:123: const int kNumMultichannelFrames = 4; On 2015/07/22 22:47:21, andrew ...
5 years, 5 months ago (2015-07-23 00:16:54 UTC) #27
Andrew MacDonald
lgtm with the requested documentation added. https://codereview.webrtc.org/1226093007/diff/200001/webrtc/modules/audio_processing/audio_buffer.cc File webrtc/modules/audio_processing/audio_buffer.cc (right): https://codereview.webrtc.org/1226093007/diff/200001/webrtc/modules/audio_processing/audio_buffer.cc#newcode32 webrtc/modules/audio_processing/audio_buffer.cc:32: switch (stream_config.num_channels()) { ...
5 years, 5 months ago (2015-07-23 00:49:07 UTC) #28
mgraczyk
https://codereview.webrtc.org/1226093007/diff/200001/webrtc/modules/audio_processing/include/audio_processing.h File webrtc/modules/audio_processing/include/audio_processing.h (right): https://codereview.webrtc.org/1226093007/diff/200001/webrtc/modules/audio_processing/include/audio_processing.h#newcode470 webrtc/modules/audio_processing/include/audio_processing.h:470: int num_channels = 0, On 2015/07/23 00:49:07, andrew wrote: ...
5 years, 5 months ago (2015-07-23 01:05:49 UTC) #29
Andrew MacDonald
lgtm https://codereview.webrtc.org/1226093007/diff/200001/webrtc/modules/audio_processing/include/audio_processing.h File webrtc/modules/audio_processing/include/audio_processing.h (right): https://codereview.webrtc.org/1226093007/diff/200001/webrtc/modules/audio_processing/include/audio_processing.h#newcode470 webrtc/modules/audio_processing/include/audio_processing.h:470: int num_channels = 0, On 2015/07/23 01:05:49, mgraczyk ...
5 years, 5 months ago (2015-07-23 01:09:37 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1226093007/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1226093007/240001
5 years, 5 months ago (2015-07-23 01:44:57 UTC) #33
commit-bot: I haz the power
Try jobs failed on following builders: android on tryserver.webrtc (JOB_TIMED_OUT, no build URL) android_rel on ...
5 years, 5 months ago (2015-07-23 03:45:07 UTC) #35
mgraczyk
Committed patchset #13 (id:240001) manually as c204754b7a0cc801c70e8ce6c689f57f6ce00b3b (presubmit successful).
5 years, 5 months ago (2015-07-23 04:06:22 UTC) #36
magjed_webrtc
5 years, 5 months ago (2015-07-23 11:29:47 UTC) #37
Message was sent while issue was closed.
A revert of this CL (patchset #13 id:240001) has been created in
https://codereview.webrtc.org/1253573005/ by magjed@webrtc.org.

The reason for reverting is: Breaks Chromium FYI content_browsertest on all
platforms. The testcase that fails is WebRtcAecDumpBrowserTest.CallWithAecDump.

https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux/builds/19388

Sample output:
[ RUN      ] WebRtcAecDumpBrowserTest.CallWithAecDump
Xlib:  extension "RANDR" missing on display ":9".
[4:14:0722/211548:1282124453:WARNING:webrtcvoiceengine.cc(472)] Unexpected
codec: ISAC/48000/1 (105)
[4:14:0722/211548:1282124593:WARNING:webrtcvoiceengine.cc(472)] Unexpected
codec: PCMU/8000/2 (110)
[4:14:0722/211548:1282124700:WARNING:webrtcvoiceengine.cc(472)] Unexpected
codec: PCMA/8000/2 (118)
[4:14:0722/211548:1282124815:WARNING:webrtcvoiceengine.cc(472)] Unexpected
codec: G722/8000/2 (119)
[19745:19745:0722/211548:1282133667:INFO:CONSOLE(64)] "Looking at video in
element remote-view-1", source:
http://127.0.0.1:48819/media/webrtc_test_utilities.js (64)
[19745:19745:0722/211548:1282136892:INFO:CONSOLE(64)] "Looking at video in
element remote-view-2", source:
http://127.0.0.1:48819/media/webrtc_test_utilities.js (64)
../../content/test/webrtc_content_browsertest_base.cc:62: Failure
Value of: ExecuteScriptAndExtractString( shell()->web_contents(), javascript,
&result)
  Actual: false
Expected: true
Failed to execute javascript call({video: true, audio: true});.
From javascript: (nothing)
When executing 'call({video: true, audio: true});'
../../content/test/webrtc_content_browsertest_base.cc:75: Failure
Failed
../../content/browser/media/webrtc_aecdump_browsertest.cc:26: Failure
Expected: (base::kNullProcessId) != (*id), actual: 0 vs 0
../../content/browser/media/webrtc_aecdump_browsertest.cc:95: Failure
Value of: GetRenderProcessHostId(&render_process_id)
  Actual: false
Expected: true
../../content/browser/media/webrtc_aecdump_browsertest.cc:99: Failure
Value of: base::PathExists(dump_file)
  Actual: false
Expected: true
../../content/browser/media/webrtc_aecdump_browsertest.cc:101: Failure
Value of: base::GetFileSize(dump_file, &file_size)
  Actual: false
Expected: true
../../content/browser/media/webrtc_aecdump_browsertest.cc:102: Failure
Expected: (file_size) > (0), actual: 0 vs 0
[  FAILED  ] WebRtcAecDumpBrowserTest.CallWithAecDump, where TypeParam =  and
GetParam() =  (361 ms)
.

Powered by Google App Engine
This is Rietveld 408576698