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

Unified Diff: webrtc/pc/peerconnectionfactory.cc

Issue 2854123003: Build WebRTC with data channel only. (Closed)
Patch Set: More modular apporach. Proof of concept. Need more work. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/pc/peerconnectionfactory.cc
diff --git a/webrtc/pc/peerconnectionfactory.cc b/webrtc/pc/peerconnectionfactory.cc
index 777bac1eb59aadd49bcc9af1d44ac66e9d02276f..a7bd4290d4e4e42160d46cb75232e5e0a2b7a2b4 100644
--- a/webrtc/pc/peerconnectionfactory.cc
+++ b/webrtc/pc/peerconnectionfactory.cc
@@ -37,6 +37,20 @@
namespace webrtc {
+rtc::scoped_refptr<AudioEncoderFactory> CreateBuiltinAudioEncoderFactoryImpl();
+
+rtc::scoped_refptr<AudioDecoderFactory> CreateBuiltinAudioDecoderFactoryImpl();
+
+std::unique_ptr<cricket::MediaEngineInterface> CreateMediaEngineImpl(
+ webrtc::AudioDeviceModule* adm,
+ const rtc::scoped_refptr<webrtc::AudioEncoderFactory>&
+ audio_encoder_factory,
+ const rtc::scoped_refptr<webrtc::AudioDecoderFactory>&
+ audio_decoder_factory,
+ cricket::WebRtcVideoEncoderFactory* video_encoder_factory,
+ cricket::WebRtcVideoDecoderFactory* video_decoder_factory,
+ rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer);
Taylor Brandstetter 2017/05/18 17:57:05 Are the extra "Impl" methods needed here? It seems
Zhi Huang 2017/05/23 03:40:35 I think we still need CreateBuiltinAudioEncoderFac
+
rtc::scoped_refptr<PeerConnectionFactoryInterface> CreatePeerConnectionFactory(
rtc::scoped_refptr<AudioEncoderFactory> audio_encoder_factory,
rtc::scoped_refptr<AudioDecoderFactory> audio_decoder_factory) {
@@ -56,8 +70,8 @@ rtc::scoped_refptr<PeerConnectionFactoryInterface> CreatePeerConnectionFactory(
rtc::scoped_refptr<PeerConnectionFactoryInterface>
CreatePeerConnectionFactory() {
- return CreatePeerConnectionFactory(CreateBuiltinAudioEncoderFactory(),
- CreateBuiltinAudioDecoderFactory());
+ return CreatePeerConnectionFactory(CreateBuiltinAudioEncoderFactoryImpl(),
+ CreateBuiltinAudioDecoderFactoryImpl());
}
rtc::scoped_refptr<PeerConnectionFactoryInterface> CreatePeerConnectionFactory(
@@ -127,8 +141,9 @@ CreatePeerConnectionFactoryWithAudioMixer(
rtc::scoped_refptr<AudioMixer> audio_mixer) {
return CreatePeerConnectionFactoryWithAudioMixer(
network_thread, worker_thread, signaling_thread, default_adm,
- CreateBuiltinAudioEncoderFactory(), CreateBuiltinAudioDecoderFactory(),
- encoder_factory, decoder_factory, audio_mixer);
+ CreateBuiltinAudioEncoderFactoryImpl(),
+ CreateBuiltinAudioDecoderFactoryImpl(), encoder_factory, decoder_factory,
+ audio_mixer);
}
PeerConnectionFactory::PeerConnectionFactory(
@@ -385,12 +400,10 @@ rtc::Thread* PeerConnectionFactory::network_thread() {
std::unique_ptr<cricket::MediaEngineInterface>
PeerConnectionFactory::CreateMediaEngine_w() {
RTC_DCHECK(worker_thread_ == rtc::Thread::Current());
- return std::unique_ptr<cricket::MediaEngineInterface>(
- cricket::WebRtcMediaEngineFactory::Create(
- default_adm_.get(), audio_encoder_factory_,
- audio_decoder_factory_,
- video_encoder_factory_.get(), video_decoder_factory_.get(),
- external_audio_mixer_));
+ return CreateMediaEngineImpl(
+ default_adm_.get(), audio_encoder_factory_, audio_decoder_factory_,
+ video_encoder_factory_.get(), video_decoder_factory_.get(),
+ external_audio_mixer_);
}
} // namespace webrtc

Powered by Google App Engine
This is Rietveld 408576698