Chromium Code Reviews| Index: webrtc/pc/peerconnection.cc | 
| diff --git a/webrtc/pc/peerconnection.cc b/webrtc/pc/peerconnection.cc | 
| index 852dd39de5bc21eed1461340f796d4ef0132e55f..f9cff26fd2de5984d7e31020d14d3e190d91e5b9 100644 | 
| --- a/webrtc/pc/peerconnection.cc | 
| +++ b/webrtc/pc/peerconnection.cc | 
| @@ -220,6 +220,9 @@ bool SafeSetError(webrtc::RTCErrorType type, webrtc::RTCError* error) { | 
| namespace webrtc { | 
| +std::unique_ptr<RtcEventLog> CreateRtcEventLog(); | 
| +Call* CreateCallImpl(const Call::Config& config); | 
| + | 
| bool PeerConnectionInterface::RTCConfiguration::operator==( | 
| const PeerConnectionInterface::RTCConfiguration& o) const { | 
| // This static_assert prevents us from accidentally breaking operator==. | 
| @@ -395,7 +398,7 @@ PeerConnection::PeerConnection(PeerConnectionFactory* factory) | 
| : factory_(factory), | 
| observer_(NULL), | 
| uma_observer_(NULL), | 
| - event_log_(RtcEventLog::Create()), | 
| + event_log_(CreateRtcEventLog()), | 
| signaling_state_(kStable), | 
| ice_connection_state_(kIceConnectionNew), | 
| ice_gathering_state_(kIceGatheringNew), | 
| @@ -2335,13 +2338,18 @@ void PeerConnection::CreateCall_w() { | 
| const int kMaxBandwidthBps = 2000000; | 
| webrtc::Call::Config call_config(event_log_.get()); | 
| - call_config.audio_state = | 
| - factory_->channel_manager() ->media_engine()->GetAudioState(); | 
| + if (factory_->channel_manager()->media_engine()) { | 
| + call_config.audio_state = | 
| + factory_->channel_manager()->media_engine()->GetAudioState(); | 
| + } else { | 
| + LOG(LS_WARNING) << "The Call::Config.audio_state is unset because the " | 
| + "media engine is unset."; | 
| 
 
Taylor Brandstetter
2017/05/18 17:57:05
When will this warning be hit? If it's only hit wh
 
Zhi Huang
2017/05/23 03:40:35
Done.
 
 | 
| + } | 
| + | 
| call_config.bitrate_config.min_bitrate_bps = kMinBandwidthBps; | 
| call_config.bitrate_config.start_bitrate_bps = kStartBandwidthBps; | 
| call_config.bitrate_config.max_bitrate_bps = kMaxBandwidthBps; | 
| - | 
| - call_.reset(webrtc::Call::Create(call_config)); | 
| + call_.reset(CreateCallImpl(call_config)); | 
| } | 
| } // namespace webrtc |