| OLD | NEW | 
|     1 /* |     1 /* | 
|     2  *  Copyright 2012 The WebRTC project authors. All Rights Reserved. |     2  *  Copyright 2012 The WebRTC project authors. All Rights Reserved. | 
|     3  * |     3  * | 
|     4  *  Use of this source code is governed by a BSD-style license |     4  *  Use of this source code is governed by a BSD-style license | 
|     5  *  that can be found in the LICENSE file in the root of the source |     5  *  that can be found in the LICENSE file in the root of the source | 
|     6  *  tree. An additional intellectual property rights grant can be found |     6  *  tree. An additional intellectual property rights grant can be found | 
|     7  *  in the file PATENTS.  All contributing project authors may |     7  *  in the file PATENTS.  All contributing project authors may | 
|     8  *  be found in the AUTHORS file in the root of the source tree. |     8  *  be found in the AUTHORS file in the root of the source tree. | 
|     9  */ |     9  */ | 
|    10  |    10  | 
| (...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   414                                    const std::string& desc) { |   414                                    const std::string& desc) { | 
|   415   std::ostringstream ret; |   415   std::ostringstream ret; | 
|   416   ret << error << " " << desc; |   416   ret << error << " " << desc; | 
|   417   return ret.str(); |   417   return ret.str(); | 
|   418 } |   418 } | 
|   419  |   419  | 
|   420 static std::string MakeTdErrorString(const std::string& desc) { |   420 static std::string MakeTdErrorString(const std::string& desc) { | 
|   421   return MakeErrorString(kPushDownTDFailed, desc); |   421   return MakeErrorString(kPushDownTDFailed, desc); | 
|   422 } |   422 } | 
|   423  |   423  | 
|   424 uint32_t ConvertIceTransportTypeToCandidateFilter( |  | 
|   425     PeerConnectionInterface::IceTransportsType type) { |  | 
|   426   switch (type) { |  | 
|   427     case PeerConnectionInterface::kNone: |  | 
|   428         return cricket::CF_NONE; |  | 
|   429     case PeerConnectionInterface::kRelay: |  | 
|   430         return cricket::CF_RELAY; |  | 
|   431     case PeerConnectionInterface::kNoHost: |  | 
|   432         return (cricket::CF_ALL & ~cricket::CF_HOST); |  | 
|   433     case PeerConnectionInterface::kAll: |  | 
|   434         return cricket::CF_ALL; |  | 
|   435     default: ASSERT(false); |  | 
|   436   } |  | 
|   437   return cricket::CF_NONE; |  | 
|   438 } |  | 
|   439  |  | 
|   440 // Returns true if |new_desc| requests an ICE restart (i.e., new ufrag/pwd). |   424 // Returns true if |new_desc| requests an ICE restart (i.e., new ufrag/pwd). | 
|   441 bool CheckForRemoteIceRestart(const SessionDescriptionInterface* old_desc, |   425 bool CheckForRemoteIceRestart(const SessionDescriptionInterface* old_desc, | 
|   442                               const SessionDescriptionInterface* new_desc, |   426                               const SessionDescriptionInterface* new_desc, | 
|   443                               const std::string& content_name) { |   427                               const std::string& content_name) { | 
|   444   if (!old_desc) { |   428   if (!old_desc) { | 
|   445     return false; |   429     return false; | 
|   446   } |   430   } | 
|   447   const SessionDescription* new_sd = new_desc->description(); |   431   const SessionDescription* new_sd = new_desc->description(); | 
|   448   const SessionDescription* old_sd = old_desc->description(); |   432   const SessionDescription* old_sd = old_desc->description(); | 
|   449   const ContentInfo* cinfo = new_sd->GetContentByName(content_name); |   433   const ContentInfo* cinfo = new_sd->GetContentByName(content_name); | 
| (...skipping 18 matching lines...) Expand all  Loading... | 
|   468   } |   452   } | 
|   469   return false; |   453   return false; | 
|   470 } |   454 } | 
|   471  |   455  | 
|   472 WebRtcSession::WebRtcSession(webrtc::MediaControllerInterface* media_controller, |   456 WebRtcSession::WebRtcSession(webrtc::MediaControllerInterface* media_controller, | 
|   473                              rtc::Thread* signaling_thread, |   457                              rtc::Thread* signaling_thread, | 
|   474                              rtc::Thread* worker_thread, |   458                              rtc::Thread* worker_thread, | 
|   475                              cricket::PortAllocator* port_allocator) |   459                              cricket::PortAllocator* port_allocator) | 
|   476     : signaling_thread_(signaling_thread), |   460     : signaling_thread_(signaling_thread), | 
|   477       worker_thread_(worker_thread), |   461       worker_thread_(worker_thread), | 
|   478       port_allocator_(port_allocator), |  | 
|   479       // RFC 3264: The numeric value of the session id and version in the |   462       // RFC 3264: The numeric value of the session id and version in the | 
|   480       // o line MUST be representable with a "64 bit signed integer". |   463       // o line MUST be representable with a "64 bit signed integer". | 
|   481       // Due to this constraint session id |sid_| is max limited to LLONG_MAX. |   464       // Due to this constraint session id |sid_| is max limited to LLONG_MAX. | 
|   482       sid_(rtc::ToString(rtc::CreateRandomId64() & LLONG_MAX)), |   465       sid_(rtc::ToString(rtc::CreateRandomId64() & LLONG_MAX)), | 
|   483       transport_controller_(new cricket::TransportController(signaling_thread, |   466       transport_controller_(new cricket::TransportController(signaling_thread, | 
|   484                                                              worker_thread, |   467                                                              worker_thread, | 
|   485                                                              port_allocator)), |   468                                                              port_allocator)), | 
|   486       media_controller_(media_controller), |   469       media_controller_(media_controller), | 
|   487       channel_manager_(media_controller_->channel_manager()), |   470       channel_manager_(media_controller_->channel_manager()), | 
|   488       ice_observer_(NULL), |   471       ice_observer_(NULL), | 
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   597           signaling_thread(), channel_manager_, certificate, this, id())); |   580           signaling_thread(), channel_manager_, certificate, this, id())); | 
|   598     } |   581     } | 
|   599   } |   582   } | 
|   600  |   583  | 
|   601   webrtc_session_desc_factory_->SignalCertificateReady.connect( |   584   webrtc_session_desc_factory_->SignalCertificateReady.connect( | 
|   602       this, &WebRtcSession::OnCertificateReady); |   585       this, &WebRtcSession::OnCertificateReady); | 
|   603  |   586  | 
|   604   if (options.disable_encryption) { |   587   if (options.disable_encryption) { | 
|   605     webrtc_session_desc_factory_->SetSdesPolicy(cricket::SEC_DISABLED); |   588     webrtc_session_desc_factory_->SetSdesPolicy(cricket::SEC_DISABLED); | 
|   606   } |   589   } | 
|   607   port_allocator()->set_candidate_filter( |  | 
|   608       ConvertIceTransportTypeToCandidateFilter(rtc_configuration.type)); |  | 
|   609  |   590  | 
|   610   return true; |   591   return true; | 
|   611 } |   592 } | 
|   612  |   593  | 
|   613 void WebRtcSession::Close() { |   594 void WebRtcSession::Close() { | 
|   614   SetState(STATE_CLOSED); |   595   SetState(STATE_CLOSED); | 
|   615   RemoveUnusedChannels(nullptr); |   596   RemoveUnusedChannels(nullptr); | 
|   616   ASSERT(!voice_channel_); |   597   ASSERT(!voice_channel_); | 
|   617   ASSERT(!video_channel_); |   598   ASSERT(!video_channel_); | 
|   618   ASSERT(!data_channel_); |   599   ASSERT(!data_channel_); | 
| (...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1138  |  1119  | 
|  1139   // Remove the candidates from the transport controller. |  1120   // Remove the candidates from the transport controller. | 
|  1140   std::string error; |  1121   std::string error; | 
|  1141   bool res = transport_controller_->RemoveRemoteCandidates(candidates, &error); |  1122   bool res = transport_controller_->RemoveRemoteCandidates(candidates, &error); | 
|  1142   if (!res && !error.empty()) { |  1123   if (!res && !error.empty()) { | 
|  1143     LOG(LS_ERROR) << "Error when removing remote candidates: " << error; |  1124     LOG(LS_ERROR) << "Error when removing remote candidates: " << error; | 
|  1144   } |  1125   } | 
|  1145   return true; |  1126   return true; | 
|  1146 } |  1127 } | 
|  1147  |  1128  | 
|  1148 bool WebRtcSession::SetIceTransports( |  | 
|  1149     PeerConnectionInterface::IceTransportsType type) { |  | 
|  1150   return port_allocator()->set_candidate_filter( |  | 
|  1151         ConvertIceTransportTypeToCandidateFilter(type)); |  | 
|  1152 } |  | 
|  1153  |  | 
|  1154 cricket::IceConfig WebRtcSession::ParseIceConfig( |  1129 cricket::IceConfig WebRtcSession::ParseIceConfig( | 
|  1155     const PeerConnectionInterface::RTCConfiguration& config) const { |  1130     const PeerConnectionInterface::RTCConfiguration& config) const { | 
|  1156   cricket::IceConfig ice_config; |  1131   cricket::IceConfig ice_config; | 
|  1157   ice_config.receiving_timeout = config.ice_connection_receiving_timeout; |  1132   ice_config.receiving_timeout = config.ice_connection_receiving_timeout; | 
|  1158   ice_config.prioritize_most_likely_candidate_pairs = |  1133   ice_config.prioritize_most_likely_candidate_pairs = | 
|  1159       config.prioritize_most_likely_ice_candidate_pairs; |  1134       config.prioritize_most_likely_ice_candidate_pairs; | 
|  1160   ice_config.backup_connection_ping_interval = |  1135   ice_config.backup_connection_ping_interval = | 
|  1161       config.ice_backup_candidate_pair_ping_interval; |  1136       config.ice_backup_candidate_pair_ping_interval; | 
|  1162   ice_config.gather_continually = (config.continual_gathering_policy == |  1137   ice_config.gather_continually = (config.continual_gathering_policy == | 
|  1163                                    PeerConnectionInterface::GATHER_CONTINUALLY); |  1138                                    PeerConnectionInterface::GATHER_CONTINUALLY); | 
| (...skipping 991 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  2155   } |  2130   } | 
|  2156 } |  2131 } | 
|  2157  |  2132  | 
|  2158 void WebRtcSession::OnSentPacket_w(cricket::TransportChannel* channel, |  2133 void WebRtcSession::OnSentPacket_w(cricket::TransportChannel* channel, | 
|  2159                                    const rtc::SentPacket& sent_packet) { |  2134                                    const rtc::SentPacket& sent_packet) { | 
|  2160   RTC_DCHECK(worker_thread()->IsCurrent()); |  2135   RTC_DCHECK(worker_thread()->IsCurrent()); | 
|  2161   media_controller_->call_w()->OnSentPacket(sent_packet); |  2136   media_controller_->call_w()->OnSentPacket(sent_packet); | 
|  2162 } |  2137 } | 
|  2163  |  2138  | 
|  2164 }  // namespace webrtc |  2139 }  // namespace webrtc | 
| OLD | NEW |