| Index: webrtc/pc/channelmanager.cc
 | 
| diff --git a/webrtc/pc/channelmanager.cc b/webrtc/pc/channelmanager.cc
 | 
| index af6e3c7e99e16f9780c4872ee8384a2d006e71df..1817f6923334a896649dd5848ee628a05b3e9c3f 100644
 | 
| --- a/webrtc/pc/channelmanager.cc
 | 
| +++ b/webrtc/pc/channelmanager.cc
 | 
| @@ -89,21 +89,33 @@ bool ChannelManager::SetVideoRtxEnabled(bool enable) {
 | 
|  
 | 
|  void ChannelManager::GetSupportedAudioSendCodecs(
 | 
|      std::vector<AudioCodec>* codecs) const {
 | 
| +  if (!media_engine_) {
 | 
| +    return;
 | 
| +  }
 | 
|    *codecs = media_engine_->audio_send_codecs();
 | 
|  }
 | 
|  
 | 
|  void ChannelManager::GetSupportedAudioReceiveCodecs(
 | 
|      std::vector<AudioCodec>* codecs) const {
 | 
| +  if (!media_engine_) {
 | 
| +    return;
 | 
| +  }
 | 
|    *codecs = media_engine_->audio_recv_codecs();
 | 
|  }
 | 
|  
 | 
|  void ChannelManager::GetSupportedAudioRtpHeaderExtensions(
 | 
|      RtpHeaderExtensions* ext) const {
 | 
| +  if (!media_engine_) {
 | 
| +    return;
 | 
| +  }
 | 
|    *ext = media_engine_->GetAudioCapabilities().header_extensions;
 | 
|  }
 | 
|  
 | 
|  void ChannelManager::GetSupportedVideoCodecs(
 | 
|      std::vector<VideoCodec>* codecs) const {
 | 
| +  if (!media_engine_) {
 | 
| +    return;
 | 
| +  }
 | 
|    codecs->clear();
 | 
|  
 | 
|    std::vector<VideoCodec> video_codecs = media_engine_->video_codecs();
 | 
| @@ -118,11 +130,17 @@ void ChannelManager::GetSupportedVideoCodecs(
 | 
|  
 | 
|  void ChannelManager::GetSupportedVideoRtpHeaderExtensions(
 | 
|      RtpHeaderExtensions* ext) const {
 | 
| +  if (!media_engine_) {
 | 
| +    return;
 | 
| +  }
 | 
|    *ext = media_engine_->GetVideoCapabilities().header_extensions;
 | 
|  }
 | 
|  
 | 
|  void ChannelManager::GetSupportedDataCodecs(
 | 
|      std::vector<DataCodec>* codecs) const {
 | 
| +  if (!data_media_engine_) {
 | 
| +    return;
 | 
| +  }
 | 
|    *codecs = data_media_engine_->data_codecs();
 | 
|  }
 | 
|  
 | 
| @@ -148,7 +166,10 @@ bool ChannelManager::Init() {
 | 
|  
 | 
|  bool ChannelManager::InitMediaEngine_w() {
 | 
|    RTC_DCHECK(worker_thread_ == rtc::Thread::Current());
 | 
| -  return media_engine_->Init();
 | 
| +  if (media_engine_) {
 | 
| +    return media_engine_->Init();
 | 
| +  }
 | 
| +  return true;
 | 
|  }
 | 
|  
 | 
|  void ChannelManager::Terminate() {
 | 
| @@ -223,6 +244,9 @@ VoiceChannel* ChannelManager::CreateVoiceChannel_w(
 | 
|    RTC_DCHECK(initialized_);
 | 
|    RTC_DCHECK(worker_thread_ == rtc::Thread::Current());
 | 
|    RTC_DCHECK(nullptr != call);
 | 
| +  if (!media_engine_) {
 | 
| +    return nullptr;
 | 
| +  }
 | 
|  
 | 
|    VoiceMediaChannel* media_channel = media_engine_->CreateChannel(
 | 
|        call, media_config, options);
 | 
| 
 |