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

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

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

Description

[This CL is 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

Patch Set 1 #

Patch Set 2 : builds #

Patch Set 3 : android build issue #

Patch Set 4 : Fixes #

Patch Set 5 : rebase #

Patch Set 6 : tracking linux32_rel problem #

Patch Set 7 : tracking linux32_rel issue #

Patch Set 8 : tracking linux32_rel issue #

Patch Set 9 : tracking linux32_rel issue #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+301 lines, -223 lines) Patch
M webrtc/api/peerconnectioninterface.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M webrtc/audio/audio_receive_stream_unittest.cc View 1 2 3 4 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 1 chunk +4 lines, -1 line 0 comments Download
M webrtc/audio/audio_state.cc View 1 chunk +1 line, -1 line 0 comments Download
M webrtc/audio/audio_state_unittest.cc View 1 2 3 3 chunks +3 lines, -2 lines 0 comments Download
M webrtc/audio/audio_transport_proxy.h View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M webrtc/audio/audio_transport_proxy.cc View 1 2 3 2 chunks +5 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 1 2 3 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 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 1 2 3 2 chunks +6 lines, -9 lines 0 comments Download
M webrtc/media/engine/fakewebrtcvoiceengine.h View 1 2 3 4 chunks +3 lines, -9 lines 0 comments Download
M webrtc/media/engine/nullwebrtcvideoengine_unittest.cc View 1 2 3 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 2 3 7 chunks +25 lines, -16 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 1 10 chunks +16 lines, -13 lines 2 comments Download
M webrtc/media/engine/webrtcvoiceengine_unittest.cc View 16 chunks +56 lines, -36 lines 0 comments Download
M webrtc/modules/BUILD.gn View 1 2 3 4 5 6 7 8 1 chunk +14 lines, -14 lines 0 comments Download
M webrtc/modules/audio_processing/audio_processing_impl.cc View 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 4 chunks +10 lines, -0 lines 0 comments Download
M webrtc/modules/audio_processing/audio_processing_unittest.cc View 1 2 3 4 5 6 7 6 chunks +8 lines, -4 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/modules/remote_bitrate_estimator/send_time_history_unittest.cc View 1 2 3 4 5 6 1 chunk +1 line, -1 line 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 2 3 4 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 1 2 chunks +3 lines, -1 line 0 comments Download
M webrtc/pc/peerconnectioninterface_unittest.cc View 1 2 chunks +2 lines, -1 line 0 comments Download
M webrtc/sdk/android/BUILD.gn View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/sdk/android/src/jni/DEPS View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/sdk/android/src/jni/media_jni.cc View 1 2 3 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 3 chunks +8 lines, -4 lines 0 comments Download
M webrtc/test/mock_voice_engine.h View 1 2 3 4 chunks +1 line, -6 lines 0 comments Download
M webrtc/video/video_quality_test.cc View 1 2 3 4 2 chunks +10 lines, -5 lines 0 comments Download
M webrtc/voice_engine/include/voe_base.h View 1 chunk +4 lines, -8 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 2 chunks +2 lines, -1 line 0 comments Download
M webrtc/voice_engine/test/auto_test/fakes/conference_transport.cc View 1 2 3 3 chunks +6 lines, -3 lines 0 comments Download
M webrtc/voice_engine/test/auto_test/standard/codec_test.cc View 1 2 3 2 chunks +3 lines, -0 lines 0 comments Download
M webrtc/voice_engine/voe_base_impl.h View 1 2 3 1 chunk +3 lines, -7 lines 0 comments Download
M webrtc/voice_engine/voe_base_impl.cc View 1 2 3 3 chunks +10 lines, -17 lines 0 comments Download
M webrtc/voice_engine/voe_base_unittest.cc View 1 2 3 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 1 2 3 2 chunks +2 lines, -0 lines 0 comments Download
M webrtc/voice_engine/voice_engine_fixture.cc View 1 2 3 3 chunks +3 lines, -1 line 0 comments Download

Messages

Total messages: 13 (7 generated)
the sun
Rebase of Per's CL.
3 years, 6 months ago (2017-06-22 08:01:06 UTC) #7
Taylor Brandstetter
lgtm for api, pc, ortc and media directories https://codereview.webrtc.org/2948763002/diff/160001/webrtc/media/engine/webrtcvoiceengine.cc File webrtc/media/engine/webrtcvoiceengine.cc (right): https://codereview.webrtc.org/2948763002/diff/160001/webrtc/media/engine/webrtcvoiceengine.cc#newcode344 webrtc/media/engine/webrtcvoiceengine.cc:344: MakeAudioStateConfig(voe(), ...
3 years, 5 months ago (2017-06-25 19:13:13 UTC) #8
peah-webrtc
https://codereview.webrtc.org/2948763002/diff/160001/webrtc/media/engine/webrtcvoiceengine.cc File webrtc/media/engine/webrtcvoiceengine.cc (right): https://codereview.webrtc.org/2948763002/diff/160001/webrtc/media/engine/webrtcvoiceengine.cc#newcode344 webrtc/media/engine/webrtcvoiceengine.cc:344: MakeAudioStateConfig(voe(), audio_mixer_, apm_)); On 2017/06/25 19:13:12, Taylor Brandstetter wrote: ...
3 years, 5 months ago (2017-06-27 14:57:40 UTC) #10
Taylor Brandstetter
On 2017/06/27 14:57:40, peah-webrtc wrote: > https://codereview.webrtc.org/2948763002/diff/160001/webrtc/media/engine/webrtcvoiceengine.cc > File webrtc/media/engine/webrtcvoiceengine.cc (right): > > https://codereview.webrtc.org/2948763002/diff/160001/webrtc/media/engine/webrtcvoiceengine.cc#newcode344 > ...
3 years, 5 months ago (2017-06-28 07:11:51 UTC) #11
kwiberg-webrtc
On 2017/06/28 07:11:51, Taylor Brandstetter wrote: > On 2017/06/27 14:57:40, peah-webrtc wrote: > > > ...
3 years, 5 months ago (2017-06-28 09:24:00 UTC) #12
hlundin-webrtc
3 years, 5 months ago (2017-07-03 13:28:05 UTC) #13
On 2017/06/28 09:24:00, kwiberg-webrtc wrote:
> On 2017/06/28 07:11:51, Taylor Brandstetter wrote:
> > On 2017/06/27 14:57:40, peah-webrtc wrote:
> > >
> >
>
https://codereview.webrtc.org/2948763002/diff/160001/webrtc/media/engine/webr...
> > > File webrtc/media/engine/webrtcvoiceengine.cc (right):
> > > 
> > >
> >
>
https://codereview.webrtc.org/2948763002/diff/160001/webrtc/media/engine/webr...
> > > webrtc/media/engine/webrtcvoiceengine.cc:344: MakeAudioStateConfig(voe(),
> > > audio_mixer_, apm_));
> > > On 2017/06/25 19:13:12, Taylor Brandstetter wrote:
> > > > nit: Should use either "apm_" or "apm()" consistently
> > > 
> > > That does not work here, as apm() returns a AudioProcessing* pointer, and
> > > MakeAudioStateConfig requires the scoped_refptr<AudioProcessing> which is
> > stored
> > > in apm_.
> > 
> > Aren't conversions to/from scoped_refptr implicit? Anyway, just a nit so
> doesn't
> > really matter.
> 
> They are, but it makes kittens cry, so Per is right to refuse to do it! :-)
> 
> IIRC the scoped_refptr in Chromium has one of the implicit conversions
removed;
> on my to-do list is one item for stealing their scoped_refptr, and one item
for
> making it even more strict by removing the implicitness of the other direction
> as well.

I suppose this CL is dead now that https://codereview.webrtc.org/2961723004 has
landed.
Please, don't delete this CL; simply close it, since the landed one refers to
this.

Powered by Google App Engine
This is Rietveld 408576698