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

Issue 2961723004: Allow an external audio processing module to be used in WebRTC (Closed)

Created:
3 years, 5 months ago by peah-webrtc
Modified:
3 years, 5 months ago
CC:
webrtc-reviews_webrtc.org, interface-changes_webrtc.org, video-team_agora.io, AleBzk, peah-webrtc, zhuangzesen_agora.io, Andrew MacDonald, aleloi, henrika_webrtc, stefan-webrtc, tlegrand-webrtc, tterriberry_mozilla.com, audio-team_agora.io, hlundin-webrtc, aluebs-webrtc, kwiberg-webrtc, minyue-webrtc, the sun, yujie_mao (webrtc), zhengzhonghou_agora.io, mflodman, bjornv1
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

Allow an external audio processing module to be used in WebRTC [This CL is a rebase of an original CL by solenberg@: https://codereview.webrtc.org/2948763002/ which in turn was a rebase of an original CL by peah@: https://chromium-review.googlesource.com/c/527032/] Allow an external audio processing module to be used in WebRTC This CL adds support for optionally using an externally created audio processing module in a peerconnection. The ownership is shared between the peerconnection and the external creator of the module. As part of this the internal ownership of the audio processing module is moved from VoiceEngine to WebRtcVoiceEngine. BUG=webrtc:7775 Review-Url: https://codereview.webrtc.org/2961723004 Cr-Commit-Position: refs/heads/master@{#18837} Committed: https://chromium.googlesource.com/external/webrtc/+/a9cc40b7d263cfce28bd3f126481e99283623d75

Patch Set 1 #

Patch Set 2 : Added optional locally owned APM in VOE to resolve upstream dependencies #

Patch Set 3 : Removed DCHECK interfering with the new patch #

Patch Set 4 : Readded the audio_processing getter method #

Total comments: 12

Patch Set 5 : Added temporary support in AudioState to handle downstream dependencies #

Patch Set 6 : Added further temporary support in AudioState to handle downstream dependencies #

Patch Set 7 : Rebase #

Patch Set 8 : Allow an external audio processing module to be used in WebRTC #

Total comments: 12

Patch Set 9 : Changes in response to reviewer comments #

Total comments: 1

Patch Set 10 : Moved creation of APMs from CreateVoiceEngines #

Unified diffs Side-by-side diffs Delta from patch set Stats (+320 lines, -208 lines) Patch
M webrtc/api/peerconnectioninterface.h View 1 chunk +2 lines, -0 lines 0 comments Download
M webrtc/audio/audio_receive_stream_unittest.cc View 2 chunks +2 lines, -1 line 0 comments Download
M webrtc/audio/audio_send_stream.cc View 1 chunk +3 lines, -2 lines 0 comments Download
M webrtc/audio/audio_send_stream_unittest.cc View 5 chunks +4 lines, -5 lines 0 comments Download
M webrtc/audio/audio_state.h View 1 2 3 4 5 6 7 8 1 chunk +7 lines, -1 line 0 comments Download
M webrtc/audio/audio_state.cc View 1 2 3 4 1 chunk +5 lines, -1 line 0 comments Download
M webrtc/audio/audio_state_unittest.cc View 3 chunks +3 lines, -2 lines 0 comments Download
M webrtc/audio/audio_transport_proxy.h View 2 chunks +2 lines, -2 lines 0 comments Download
M webrtc/audio/audio_transport_proxy.cc View 1 2 chunks +6 lines, -4 lines 0 comments Download
M webrtc/call/audio_state.h View 2 chunks +6 lines, -0 lines 0 comments Download
M webrtc/call/call_perf_tests.cc View 2 chunks +6 lines, -1 line 0 comments Download
M webrtc/call/call_unittest.cc View 2 chunks +4 lines, -2 lines 0 comments Download
M webrtc/media/base/fakemediaengine.h View 7 3 chunks +4 lines, -1 line 0 comments Download
M webrtc/media/base/mediaengine.h View 2 chunks +14 lines, -8 lines 0 comments Download
M webrtc/media/engine/apm_helpers_unittest.cc View 2 chunks +6 lines, -9 lines 0 comments Download
M webrtc/media/engine/fakewebrtcvoiceengine.h View 1 2 3 4 5 6 7 8 4 chunks +5 lines, -9 lines 0 comments Download
M webrtc/media/engine/nullwebrtcvideoengine_unittest.cc View 2 chunks +3 lines, -1 line 0 comments Download
M webrtc/media/engine/webrtcmediaengine.h View 3 chunks +5 lines, -2 lines 0 comments Download
M webrtc/media/engine/webrtcmediaengine.cc View 1 7 chunks +32 lines, -23 lines 0 comments Download
M webrtc/media/engine/webrtcvoiceengine.h View 2 chunks +4 lines, -2 lines 0 comments Download
M webrtc/media/engine/webrtcvoiceengine.cc View 10 chunks +16 lines, -13 lines 0 comments Download
M webrtc/media/engine/webrtcvoiceengine_unittest.cc View 16 chunks +56 lines, -36 lines 0 comments Download
M webrtc/modules/audio_processing/audio_processing_impl.cc View 1 2 3 4 5 6 1 chunk +2 lines, -1 line 0 comments Download
M webrtc/modules/audio_processing/audio_processing_impl_unittest.cc View 1 2 3 4 5 6 7 8 2 chunks +6 lines, -0 lines 0 comments Download
M webrtc/modules/audio_processing/audio_processing_unittest.cc View 1 2 3 4 5 6 7 8 5 chunks +4 lines, -5 lines 0 comments Download
M webrtc/modules/audio_processing/include/audio_processing.h View 3 chunks +3 lines, -2 lines 0 comments Download
M webrtc/ortc/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/ortc/DEPS View 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/ortc/ortcfactory.cc View 2 chunks +4 lines, -3 lines 0 comments Download
M webrtc/pc/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/pc/DEPS View 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/pc/createpeerconnectionfactory.cc View 2 chunks +3 lines, -1 line 0 comments Download
M webrtc/pc/peerconnectioninterface_unittest.cc View 2 chunks +2 lines, -1 line 0 comments Download
M webrtc/sdk/android/BUILD.gn View 1 2 3 4 5 6 7 8 3 chunks +3 lines, -2 lines 0 comments Download
M webrtc/sdk/android/src/jni/DEPS View 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/sdk/android/src/jni/media_jni.cc View 2 chunks +2 lines, -1 line 0 comments Download
M webrtc/test/call_test.h View 1 chunk +2 lines, -0 lines 0 comments Download
M webrtc/test/call_test.cc View 1 2 3 4 5 6 7 8 9 4 chunks +8 lines, -4 lines 0 comments Download
M webrtc/test/mock_voice_engine.h View 4 chunks +1 line, -6 lines 0 comments Download
M webrtc/video/video_quality_test.cc View 1 2 3 4 5 6 2 chunks +10 lines, -5 lines 0 comments Download
M webrtc/voice_engine/include/voe_base.h View 1 2 3 4 5 6 7 8 1 chunk +7 lines, -6 lines 0 comments Download
M webrtc/voice_engine/shared_data.h View 2 chunks +0 lines, -2 lines 0 comments Download
M webrtc/voice_engine/shared_data.cc View 1 chunk +0 lines, -1 line 0 comments Download
M webrtc/voice_engine/test/auto_test/fakes/conference_transport.h View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -1 line 0 comments Download
M webrtc/voice_engine/test/auto_test/fakes/conference_transport.cc View 1 2 3 4 5 6 7 8 3 chunks +6 lines, -3 lines 0 comments Download
M webrtc/voice_engine/test/auto_test/standard/codec_test.cc View 2 chunks +3 lines, -0 lines 0 comments Download
M webrtc/voice_engine/voe_base_impl.h View 1 2 3 4 5 6 7 8 2 chunks +12 lines, -5 lines 0 comments Download
M webrtc/voice_engine/voe_base_impl.cc View 1 2 3 4 5 6 7 8 3 chunks +22 lines, -12 lines 0 comments Download
M webrtc/voice_engine/voe_base_unittest.cc View 2 chunks +3 lines, -13 lines 0 comments Download
M webrtc/voice_engine/voe_codec_unittest.cc View 2 chunks +3 lines, -1 line 0 comments Download
M webrtc/voice_engine/voe_network_unittest.cc View 4 chunks +8 lines, -8 lines 0 comments Download
M webrtc/voice_engine/voice_engine_fixture.h View 2 chunks +2 lines, -0 lines 0 comments Download
M webrtc/voice_engine/voice_engine_fixture.cc View 1 2 chunks +2 lines, -0 lines 0 comments Download

Messages

Total messages: 64 (50 generated)
peah-webrtc
3 years, 5 months ago (2017-06-27 14:51:37 UTC) #4
Taylor Brandstetter
lgtm with nits https://codereview.webrtc.org/2961723004/diff/60001/webrtc/media/engine/fakewebrtcvoiceengine.h File webrtc/media/engine/fakewebrtcvoiceengine.h (right): https://codereview.webrtc.org/2961723004/diff/60001/webrtc/media/engine/fakewebrtcvoiceengine.h#newcode75 webrtc/media/engine/fakewebrtcvoiceengine.h:75: // TODO(peah): Remove this when upstream ...
3 years, 5 months ago (2017-06-28 07:19:38 UTC) #17
the sun
https://codereview.webrtc.org/2961723004/diff/140001/webrtc/audio/audio_state.h File webrtc/audio/audio_state.h (right): https://codereview.webrtc.org/2961723004/diff/140001/webrtc/audio/audio_state.h#newcode32 webrtc/audio/audio_state.h:32: // constructor call when upstream dependencies have properly been ...
3 years, 5 months ago (2017-06-29 10:41:52 UTC) #40
peah-webrtc
Thanks for the comments! I have addressed them, and uploaded a new patch. PTAL https://codereview.webrtc.org/2961723004/diff/60001/webrtc/media/engine/fakewebrtcvoiceengine.h ...
3 years, 5 months ago (2017-06-29 11:46:32 UTC) #45
peah-webrtc
+magjed@ as an OWNER of webrtc/sdk
3 years, 5 months ago (2017-06-29 13:32:47 UTC) #49
sprang_webrtc
rs lgtm for webrtc/video
3 years, 5 months ago (2017-06-29 13:35:39 UTC) #50
the sun
lgtm
3 years, 5 months ago (2017-06-29 13:40:22 UTC) #51
stefan-webrtc
https://codereview.webrtc.org/2961723004/diff/160001/webrtc/test/call_test.cc File webrtc/test/call_test.cc (right): https://codereview.webrtc.org/2961723004/diff/160001/webrtc/test/call_test.cc#newcode381 webrtc/test/call_test.cc:381: apm_send_ = AudioProcessing::Create(); This method is supposed to include ...
3 years, 5 months ago (2017-06-29 14:27:52 UTC) #53
magjed_webrtc
webrtc/sdk/android lgtm
3 years, 5 months ago (2017-06-29 14:32:30 UTC) #54
peah-webrtc
Thanks for the comments! I have uploaded a new path which moved creation of APMs ...
3 years, 5 months ago (2017-06-29 14:43:47 UTC) #55
stefan-webrtc
lgtm
3 years, 5 months ago (2017-06-29 15:01:00 UTC) #56
peah-webrtc
Thanks everyone for the reviews!!!!
3 years, 5 months ago (2017-06-29 15:05:19 UTC) #58
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/2961723004/180001
3 years, 5 months ago (2017-06-29 15:05:38 UTC) #61
commit-bot: I haz the power
3 years, 5 months ago (2017-06-29 15:32:19 UTC) #64
Message was sent while issue was closed.
Committed patchset #10 (id:180001) as
https://chromium.googlesource.com/external/webrtc/+/a9cc40b7d263cfce28bd3f126...

Powered by Google App Engine
This is Rietveld 408576698