Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * libjingle | 2 * libjingle |
| 3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 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 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 344 if (stream_handler_container_) | 344 if (stream_handler_container_) |
| 345 stream_handler_container_->TearDown(); | 345 stream_handler_container_->TearDown(); |
| 346 } | 346 } |
| 347 | 347 |
| 348 bool PeerConnection::Initialize( | 348 bool PeerConnection::Initialize( |
| 349 const PeerConnectionInterface::RTCConfiguration& configuration, | 349 const PeerConnectionInterface::RTCConfiguration& configuration, |
| 350 const MediaConstraintsInterface* constraints, | 350 const MediaConstraintsInterface* constraints, |
| 351 PortAllocatorFactoryInterface* allocator_factory, | 351 PortAllocatorFactoryInterface* allocator_factory, |
| 352 rtc::scoped_ptr<DtlsIdentityStoreInterface> dtls_identity_store, | 352 rtc::scoped_ptr<DtlsIdentityStoreInterface> dtls_identity_store, |
| 353 PeerConnectionObserver* observer) { | 353 PeerConnectionObserver* observer) { |
| 354 if (!InitializeCommon(configuration, constraints, allocator_factory, | |
| 355 observer)) { | |
| 356 return false; | |
| 357 } | |
| 358 | |
| 359 // Initialize the WebRtcSession with our optional |dtls_identity_store|. | |
| 360 // It creates transport channels etc. | |
| 361 if (!session_->Initialize(factory_->options(), constraints, | |
| 362 dtls_identity_store.Pass(), configuration)) { | |
| 363 return false; | |
| 364 } | |
| 365 InitializeSessionAfterInit(); | |
| 366 return true; | |
| 367 } | |
| 368 | |
| 369 bool PeerConnection::Initialize( | |
| 370 const PeerConnectionInterface::RTCConfiguration& configuration, | |
| 371 const MediaConstraintsInterface* constraints, | |
| 372 PortAllocatorFactoryInterface* allocator_factory, | |
| 373 const rtc::scoped_refptr<DtlsCertificate>& certificate, | |
| 374 PeerConnectionObserver* observer) { | |
| 375 DCHECK(certificate.get()); | |
| 376 if (!InitializeCommon(configuration, constraints, allocator_factory, | |
| 377 observer)) { | |
| 378 return false; | |
| 379 } | |
| 380 | |
| 381 // Initialize the WebRtcSession with our |certificate|. | |
| 382 // It creates transport channels etc. | |
| 383 if (!session_->Initialize(factory_->options(), constraints, | |
| 384 certificate, configuration)) { | |
| 385 return false; | |
| 386 } | |
| 387 InitializeSessionAfterInit(); | |
| 388 return true; | |
| 389 } | |
| 390 | |
| 391 bool PeerConnection::InitializeCommon( | |
|
Henrik Grunell WebRTC
2015/08/12 14:46:29
InitializeInternal() is slightly better imo.
hbos
2015/08/14 14:09:38
Done.
| |
| 392 const PeerConnectionInterface::RTCConfiguration& configuration, | |
| 393 const MediaConstraintsInterface* constraints, | |
| 394 PortAllocatorFactoryInterface* allocator_factory, | |
| 395 PeerConnectionObserver* observer) { | |
| 354 ASSERT(observer != NULL); | 396 ASSERT(observer != NULL); |
| 355 if (!observer) | 397 if (!observer) |
| 356 return false; | 398 return false; |
| 357 observer_ = observer; | 399 observer_ = observer; |
| 358 | 400 |
| 359 std::vector<PortAllocatorFactoryInterface::StunConfiguration> stun_config; | 401 std::vector<PortAllocatorFactoryInterface::StunConfiguration> stun_config; |
| 360 std::vector<PortAllocatorFactoryInterface::TurnConfiguration> turn_config; | 402 std::vector<PortAllocatorFactoryInterface::TurnConfiguration> turn_config; |
| 361 if (!ParseIceServers(configuration.servers, &stun_config, &turn_config)) { | 403 if (!ParseIceServers(configuration.servers, &stun_config, &turn_config)) { |
| 362 return false; | 404 return false; |
| 363 } | 405 } |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 395 factory_->signaling_thread(), this, factory_->channel_manager())); | 437 factory_->signaling_thread(), this, factory_->channel_manager())); |
| 396 | 438 |
| 397 session_.reset(new WebRtcSession(factory_->channel_manager(), | 439 session_.reset(new WebRtcSession(factory_->channel_manager(), |
| 398 factory_->signaling_thread(), | 440 factory_->signaling_thread(), |
| 399 factory_->worker_thread(), | 441 factory_->worker_thread(), |
| 400 port_allocator_.get(), | 442 port_allocator_.get(), |
| 401 mediastream_signaling_.get())); | 443 mediastream_signaling_.get())); |
| 402 stream_handler_container_.reset(new MediaStreamHandlerContainer( | 444 stream_handler_container_.reset(new MediaStreamHandlerContainer( |
| 403 session_.get(), session_.get())); | 445 session_.get(), session_.get())); |
| 404 stats_.reset(new StatsCollector(session_.get())); | 446 stats_.reset(new StatsCollector(session_.get())); |
| 447 return true; | |
| 448 } | |
| 405 | 449 |
| 406 // Initialize the WebRtcSession. It creates transport channels etc. | 450 void PeerConnection::InitializeSessionAfterInit() { |
|
Henrik Grunell WebRTC
2015/08/12 14:46:29
Maybe RegisterAsIceObserver()?
hbos
2015/08/14 14:09:38
Function not needed anymore.
| |
| 407 if (!session_->Initialize(factory_->options(), constraints, | |
| 408 dtls_identity_store.Pass(), configuration)) | |
| 409 return false; | |
| 410 | |
| 411 // Register PeerConnection as receiver of local ice candidates. | 451 // Register PeerConnection as receiver of local ice candidates. |
| 412 // All the callbacks will be posted to the application from PeerConnection. | 452 // All the callbacks will be posted to the application from PeerConnection. |
| 413 session_->RegisterIceObserver(this); | 453 session_->RegisterIceObserver(this); |
| 414 session_->SignalState.connect(this, &PeerConnection::OnSessionStateChange); | 454 session_->SignalState.connect(this, &PeerConnection::OnSessionStateChange); |
| 415 return true; | |
| 416 } | 455 } |
| 417 | 456 |
| 418 rtc::scoped_refptr<StreamCollectionInterface> | 457 rtc::scoped_refptr<StreamCollectionInterface> |
| 419 PeerConnection::local_streams() { | 458 PeerConnection::local_streams() { |
| 420 return mediastream_signaling_->local_streams(); | 459 return mediastream_signaling_->local_streams(); |
| 421 } | 460 } |
| 422 | 461 |
| 423 rtc::scoped_refptr<StreamCollectionInterface> | 462 rtc::scoped_refptr<StreamCollectionInterface> |
| 424 PeerConnection::remote_streams() { | 463 PeerConnection::remote_streams() { |
| 425 return mediastream_signaling_->remote_streams(); | 464 return mediastream_signaling_->remote_streams(); |
| (...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 905 if (ice_gathering_state_ != kIceGatheringComplete) { | 944 if (ice_gathering_state_ != kIceGatheringComplete) { |
| 906 ice_gathering_state_ = kIceGatheringComplete; | 945 ice_gathering_state_ = kIceGatheringComplete; |
| 907 observer_->OnIceGatheringChange(ice_gathering_state_); | 946 observer_->OnIceGatheringChange(ice_gathering_state_); |
| 908 } | 947 } |
| 909 } | 948 } |
| 910 observer_->OnSignalingChange(signaling_state_); | 949 observer_->OnSignalingChange(signaling_state_); |
| 911 observer_->OnStateChange(PeerConnectionObserver::kSignalingState); | 950 observer_->OnStateChange(PeerConnectionObserver::kSignalingState); |
| 912 } | 951 } |
| 913 | 952 |
| 914 } // namespace webrtc | 953 } // namespace webrtc |
| OLD | NEW |