|
WIP: Move the creation of AudioCodecFactory into PeerConnectionFactory.
NOTE: This CL has been split up into the following constituent CLs, in order:
https://codereview.webrtc.org/1990803004/
https://codereview.webrtc.org/1992763002/
https://codereview.webrtc.org/1993783002/
https://codereview.webrtc.org/1991233004/
Original description follows:
The interface of CreatePeerConnectionFactory has not changed, since the
current state of the code requires our AudioCodecFactory to implement
exactly that which was previously implemented in the audio coding
module.
Since this change cuts straight through many layers of WebRTC it's put
up early, so that it can be given a long, hard look at.
The flow is roughly as follows:
The PeerConnectionFactory constructor now takes an AudioDecoderFactory as a parameter. The CreatePeerConnectionFactory call has not been changed yet, and provides our builtin AudioDecoderFactory for that parameter (i.e. CreateBuiltinAudioDecoderFactory()).
PeerConnectionFactory creates a WebRtcMediaEngine2, which takes the AudioDecoderFactory as a constructor parameter. WebRtcMediaEngine2 contains a WebRtcVoiceEngine, which is passed the AudioDecoderFactory as a constructor parameter.
WebRtcVoiceEngine holds on to the factory and uses it when constructing WebRtcVoiceMediaChannel, providing it as a parameter to VoEBase::Init, which creates an AudioCodingModule, which creates an AcmReceiver which in turn creates a NetEq instance that has a DecoderDatabase. This DecoderDatabase is constructed with the AudioDecoderFactory as a parameter.
Eventually, we want to get to a point where AudioReceiveStream has an AudioCodingModule it creates and owns itself. At that point, the path we pass the AudioDecoderFactory along will go straight through AudioReceiveStream, instead of VoEBase, ChannelManager etc.
That path has been laid out in this CL, but the actual setting of the AudioDecoderFactory must be done earlier. There is instead a check here, to make sure the factories being sent down both paths are one and the same.
BUG= webrtc:5805
Total comments: 8
Total comments: 20
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+298 lines, -103 lines) |
Patch |
 |
M |
webrtc/api/DEPS
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
M |
webrtc/api/peerconnectionfactory.h
|
View
|
|
2 chunks |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
webrtc/api/peerconnectionfactory.cc
|
View
|
|
5 chunks |
+16 lines, -8 lines |
2 comments
|
Download
|
 |
M |
webrtc/api/peerconnectioninterface.h
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
webrtc/audio/audio_receive_stream.cc
|
View
|
1
|
1 chunk |
+8 lines, -0 lines |
2 comments
|
Download
|
 |
M |
webrtc/audio_receive_stream.h
|
View
|
1
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
M |
webrtc/media/base/fakemediaengine.h
|
View
|
|
2 chunks |
+5 lines, -2 lines |
0 comments
|
Download
|
 |
M |
webrtc/media/base/mediaengine.h
|
View
|
|
2 chunks |
+5 lines, -1 line |
0 comments
|
Download
|
 |
M |
webrtc/media/engine/fakewebrtcvoiceengine.h
|
View
|
|
1 chunk |
+4 lines, -2 lines |
0 comments
|
Download
|
 |
M |
webrtc/media/engine/nullwebrtcvideoengine_unittest.cc
|
View
|
|
1 chunk |
+12 lines, -7 lines |
0 comments
|
Download
|
 |
M |
webrtc/media/engine/webrtcmediaengine.h
|
View
|
|
1 chunk |
+3 lines, -2 lines |
0 comments
|
Download
|
 |
M |
webrtc/media/engine/webrtcmediaengine.cc
|
View
|
|
3 chunks |
+25 lines, -12 lines |
0 comments
|
Download
|
 |
M |
webrtc/media/engine/webrtcvideoengine2_unittest.cc
|
View
|
|
2 chunks |
+0 lines, -5 lines |
0 comments
|
Download
|
 |
M |
webrtc/media/engine/webrtcvoiceengine.h
|
View
|
1
|
2 chunks |
+8 lines, -2 lines |
0 comments
|
Download
|
 |
M |
webrtc/media/engine/webrtcvoiceengine.cc
|
View
|
1
|
5 chunks |
+24 lines, -14 lines |
0 comments
|
Download
|
 |
M |
webrtc/media/engine/webrtcvoiceengine_unittest.cc
|
View
|
|
9 chunks |
+27 lines, -8 lines |
5 comments
|
Download
|
 |
M |
webrtc/modules/audio_coding/acm2/acm_receiver.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
webrtc/modules/audio_coding/acm2/acm_receiver_unittest_oldapi.cc
|
View
|
|
2 chunks |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
webrtc/modules/audio_coding/acm2/audio_coding_module.cc
|
View
|
|
3 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
M |
webrtc/modules/audio_coding/include/audio_coding_module.h
|
View
|
|
2 chunks |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
webrtc/modules/audio_coding/neteq/decoder_database.h
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
webrtc/modules/audio_coding/neteq/decoder_database.cc
|
View
|
1
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
webrtc/modules/audio_coding/neteq/include/neteq.h
|
View
|
|
2 chunks |
+4 lines, -1 line |
2 comments
|
Download
|
 |
M |
webrtc/modules/audio_coding/neteq/mock/mock_decoder_database.h
|
View
|
|
1 chunk |
+3 lines, -1 line |
1 comment
|
Download
|
 |
M |
webrtc/modules/audio_coding/neteq/neteq.cc
|
View
|
|
1 chunk |
+6 lines, -2 lines |
2 comments
|
Download
|
 |
M |
webrtc/modules/audio_coding/neteq/neteq_external_decoder_unittest.cc
|
View
|
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
 |
M |
webrtc/modules/audio_coding/neteq/neteq_impl.h
|
View
|
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
 |
M |
webrtc/modules/audio_coding/neteq/neteq_impl.cc
|
View
|
1
|
2 chunks |
+4 lines, -3 lines |
0 comments
|
Download
|
 |
M |
webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc
|
View
|
|
3 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
 |
M |
webrtc/modules/audio_coding/neteq/neteq_stereo_unittest.cc
|
View
|
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
 |
M |
webrtc/modules/audio_coding/neteq/neteq_unittest.cc
|
View
|
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
 |
M |
webrtc/modules/audio_coding/neteq/tools/neteq_external_decoder_test.cc
|
View
|
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
 |
M |
webrtc/modules/audio_coding/neteq/tools/neteq_performance_test.cc
|
View
|
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
 |
M |
webrtc/modules/audio_coding/neteq/tools/neteq_quality_test.cc
|
View
|
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
 |
M |
webrtc/modules/audio_coding/neteq/tools/neteq_rtpplay.cc
|
View
|
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
 |
M |
webrtc/test/mock_voice_engine.h
|
View
|
|
1 chunk |
+3 lines, -2 lines |
0 comments
|
Download
|
 |
M |
webrtc/voice_engine/channel.h
|
View
|
1
|
3 chunks |
+18 lines, -1 line |
0 comments
|
Download
|
 |
M |
webrtc/voice_engine/channel.cc
|
View
|
1
|
6 chunks |
+23 lines, -3 lines |
0 comments
|
Download
|
 |
M |
webrtc/voice_engine/channel_manager.h
|
View
|
1
|
3 chunks |
+9 lines, -1 line |
0 comments
|
Download
|
 |
M |
webrtc/voice_engine/channel_manager.cc
|
View
|
1
|
2 chunks |
+18 lines, -4 lines |
0 comments
|
Download
|
 |
M |
webrtc/voice_engine/channel_proxy.h
|
View
|
1
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
webrtc/voice_engine/channel_proxy.cc
|
View
|
1
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
 |
M |
webrtc/voice_engine/include/voe_base.h
|
View
|
|
2 chunks |
+7 lines, -1 line |
3 comments
|
Download
|
 |
M |
webrtc/voice_engine/voe_base_impl.h
|
View
|
|
2 chunks |
+4 lines, -1 line |
0 comments
|
Download
|
 |
M |
webrtc/voice_engine/voe_base_impl.cc
|
View
|
|
5 chunks |
+11 lines, -3 lines |
3 comments
|
Download
|
Total messages: 18 (7 generated)
|