| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * libjingle | 2  * libjingle | 
| 3  * Copyright 2004--2011 Google Inc. | 3  * Copyright 2004--2011 Google Inc. | 
| 4  * | 4  * | 
| 5  * Redistribution and use in source and binary forms, with or without | 5  * Redistribution and use in source and binary forms, with or without | 
| 6  * modification, are permitted provided that the following conditions are met: | 6  * modification, are permitted provided that the following conditions are met: | 
| 7  * | 7  * | 
| 8  *  1. Redistributions of source code must retain the above copyright notice, | 8  *  1. Redistributions of source code must retain the above copyright notice, | 
| 9  *     this list of conditions and the following disclaimer. | 9  *     this list of conditions and the following disclaimer. | 
| 10  *  2. Redistributions in binary form must reproduce the above copyright notice, | 10  *  2. Redistributions in binary form must reproduce the above copyright notice, | 
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 145   ASSERT(worker_thread != NULL); | 145   ASSERT(worker_thread != NULL); | 
| 146   ASSERT(signaling_thread != NULL); | 146   ASSERT(signaling_thread != NULL); | 
| 147   // TODO: Currently there is no way creating an external adm in | 147   // TODO: Currently there is no way creating an external adm in | 
| 148   // libjingle source tree. So we can 't currently assert if this is NULL. | 148   // libjingle source tree. So we can 't currently assert if this is NULL. | 
| 149   // ASSERT(default_adm != NULL); | 149   // ASSERT(default_adm != NULL); | 
| 150 } | 150 } | 
| 151 | 151 | 
| 152 PeerConnectionFactory::~PeerConnectionFactory() { | 152 PeerConnectionFactory::~PeerConnectionFactory() { | 
| 153   RTC_DCHECK(signaling_thread_->IsCurrent()); | 153   RTC_DCHECK(signaling_thread_->IsCurrent()); | 
| 154   channel_manager_.reset(nullptr); | 154   channel_manager_.reset(nullptr); | 
|  | 155   media_controller_.reset(nullptr); | 
| 155   default_allocator_factory_ = nullptr; | 156   default_allocator_factory_ = nullptr; | 
| 156 | 157 | 
| 157   // Make sure |worker_thread_| and |signaling_thread_| outlive | 158   // Make sure |worker_thread_| and |signaling_thread_| outlive | 
| 158   // |dtls_identity_store_|. | 159   // |dtls_identity_store_|. | 
| 159   dtls_identity_store_ = nullptr; | 160   dtls_identity_store_ = nullptr; | 
| 160 | 161 | 
| 161   if (owns_ptrs_) { | 162   if (owns_ptrs_) { | 
| 162     if (wraps_current_thread_) | 163     if (wraps_current_thread_) | 
| 163       rtc::ThreadManager::Instance()->UnwrapCurrentThread(); | 164       rtc::ThreadManager::Instance()->UnwrapCurrentThread(); | 
| 164     delete worker_thread_; | 165     delete worker_thread_; | 
| (...skipping 15 matching lines...) Expand all  Loading... | 
| 180       &PeerConnectionFactory::CreateMediaEngine_w, this)); | 181       &PeerConnectionFactory::CreateMediaEngine_w, this)); | 
| 181 | 182 | 
| 182   channel_manager_.reset( | 183   channel_manager_.reset( | 
| 183       new cricket::ChannelManager(media_engine, worker_thread_)); | 184       new cricket::ChannelManager(media_engine, worker_thread_)); | 
| 184 | 185 | 
| 185   channel_manager_->SetVideoRtxEnabled(true); | 186   channel_manager_->SetVideoRtxEnabled(true); | 
| 186   if (!channel_manager_->Init()) { | 187   if (!channel_manager_->Init()) { | 
| 187     return false; | 188     return false; | 
| 188   } | 189   } | 
| 189 | 190 | 
|  | 191   media_controller_.reset(MediaControllerInterface::Create( | 
|  | 192       worker_thread(), channel_manager_.get())); | 
|  | 193 | 
| 190   dtls_identity_store_ = new RefCountedDtlsIdentityStore( | 194   dtls_identity_store_ = new RefCountedDtlsIdentityStore( | 
| 191       signaling_thread_, worker_thread_); | 195       signaling_thread_, worker_thread_); | 
| 192 | 196 | 
| 193   return true; | 197   return true; | 
| 194 } | 198 } | 
| 195 | 199 | 
| 196 rtc::scoped_refptr<AudioSourceInterface> | 200 rtc::scoped_refptr<AudioSourceInterface> | 
| 197 PeerConnectionFactory::CreateAudioSource( | 201 PeerConnectionFactory::CreateAudioSource( | 
| 198     const MediaConstraintsInterface* constraints) { | 202     const MediaConstraintsInterface* constraints) { | 
| 199   RTC_DCHECK(signaling_thread_->IsCurrent()); | 203   RTC_DCHECK(signaling_thread_->IsCurrent()); | 
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 271 | 275 | 
| 272 rtc::scoped_refptr<AudioTrackInterface> | 276 rtc::scoped_refptr<AudioTrackInterface> | 
| 273 PeerConnectionFactory::CreateAudioTrack(const std::string& id, | 277 PeerConnectionFactory::CreateAudioTrack(const std::string& id, | 
| 274                                         AudioSourceInterface* source) { | 278                                         AudioSourceInterface* source) { | 
| 275   RTC_DCHECK(signaling_thread_->IsCurrent()); | 279   RTC_DCHECK(signaling_thread_->IsCurrent()); | 
| 276   rtc::scoped_refptr<AudioTrackInterface> track( | 280   rtc::scoped_refptr<AudioTrackInterface> track( | 
| 277       AudioTrack::Create(id, source)); | 281       AudioTrack::Create(id, source)); | 
| 278   return AudioTrackProxy::Create(signaling_thread_, track); | 282   return AudioTrackProxy::Create(signaling_thread_, track); | 
| 279 } | 283 } | 
| 280 | 284 | 
| 281 cricket::ChannelManager* PeerConnectionFactory::channel_manager() { | 285 webrtc::MediaControllerInterface* PeerConnectionFactory::media_controller() | 
| 282   RTC_DCHECK(signaling_thread_->IsCurrent()); | 286     const { | 
| 283   return channel_manager_.get(); | 287   return media_controller_.get(); | 
| 284 } | 288 } | 
| 285 | 289 | 
| 286 rtc::Thread* PeerConnectionFactory::signaling_thread() { | 290 rtc::Thread* PeerConnectionFactory::signaling_thread() { | 
| 287   // This method can be called on a different thread when the factory is | 291   // This method can be called on a different thread when the factory is | 
| 288   // created in CreatePeerConnectionFactory(). | 292   // created in CreatePeerConnectionFactory(). | 
| 289   return signaling_thread_; | 293   return signaling_thread_; | 
| 290 } | 294 } | 
| 291 | 295 | 
| 292 rtc::Thread* PeerConnectionFactory::worker_thread() { | 296 rtc::Thread* PeerConnectionFactory::worker_thread() { | 
| 293   RTC_DCHECK(signaling_thread_->IsCurrent()); | 297   RTC_DCHECK(signaling_thread_->IsCurrent()); | 
| 294   return worker_thread_; | 298   return worker_thread_; | 
| 295 } | 299 } | 
| 296 | 300 | 
| 297 cricket::MediaEngineInterface* PeerConnectionFactory::CreateMediaEngine_w() { | 301 cricket::MediaEngineInterface* PeerConnectionFactory::CreateMediaEngine_w() { | 
| 298   ASSERT(worker_thread_ == rtc::Thread::Current()); | 302   ASSERT(worker_thread_ == rtc::Thread::Current()); | 
| 299   return cricket::WebRtcMediaEngineFactory::Create( | 303   return cricket::WebRtcMediaEngineFactory::Create( | 
| 300       default_adm_.get(), video_encoder_factory_.get(), | 304       default_adm_.get(), video_encoder_factory_.get(), | 
| 301       video_decoder_factory_.get()); | 305       video_decoder_factory_.get()); | 
| 302 } | 306 } | 
| 303 | 307 | 
| 304 }  // namespace webrtc | 308 }  // namespace webrtc | 
| OLD | NEW | 
|---|