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 613 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
624 if (options.disable_encryption) { | 624 if (options.disable_encryption) { |
625 webrtc_session_desc_factory_->SetSdesPolicy(cricket::SEC_DISABLED); | 625 webrtc_session_desc_factory_->SetSdesPolicy(cricket::SEC_DISABLED); |
626 } | 626 } |
627 | 627 |
628 return true; | 628 return true; |
629 } | 629 } |
630 | 630 |
631 void WebRtcSession::Close() { | 631 void WebRtcSession::Close() { |
632 SetState(STATE_CLOSED); | 632 SetState(STATE_CLOSED); |
633 RemoveUnusedChannels(nullptr); | 633 RemoveUnusedChannels(nullptr); |
634 call_ = nullptr; | |
635 RTC_DCHECK(!voice_channel_); | 634 RTC_DCHECK(!voice_channel_); |
636 RTC_DCHECK(!video_channel_); | 635 RTC_DCHECK(!video_channel_); |
637 RTC_DCHECK(!rtp_data_channel_); | 636 RTC_DCHECK(!rtp_data_channel_); |
638 RTC_DCHECK(!sctp_transport_); | 637 RTC_DCHECK(!sctp_transport_); |
639 } | 638 } |
640 | 639 |
641 cricket::BaseChannel* WebRtcSession::GetChannel( | 640 cricket::BaseChannel* WebRtcSession::GetChannel( |
642 const std::string& content_name) { | 641 const std::string& content_name) { |
643 if (voice_channel() && voice_channel()->content_name() == content_name) { | 642 if (voice_channel() && voice_channel()->content_name() == content_name) { |
644 return voice_channel(); | 643 return voice_channel(); |
(...skipping 1244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1889 this, &WebRtcSession::OnDtlsSrtpSetupFailure); | 1888 this, &WebRtcSession::OnDtlsSrtpSetupFailure); |
1890 rtp_data_channel_->SignalSentPacket.connect(this, | 1889 rtp_data_channel_->SignalSentPacket.connect(this, |
1891 &WebRtcSession::OnSentPacket_w); | 1890 &WebRtcSession::OnSentPacket_w); |
1892 } | 1891 } |
1893 | 1892 |
1894 SignalDataChannelCreated(); | 1893 SignalDataChannelCreated(); |
1895 | 1894 |
1896 return true; | 1895 return true; |
1897 } | 1896 } |
1898 | 1897 |
1899 Call::Stats WebRtcSession::GetCallStats() { | |
1900 if (!worker_thread()->IsCurrent()) { | |
1901 return worker_thread()->Invoke<Call::Stats>( | |
1902 RTC_FROM_HERE, rtc::Bind(&WebRtcSession::GetCallStats, this)); | |
1903 } | |
1904 RTC_DCHECK(call_); | |
1905 return call_->GetStats(); | |
1906 } | |
1907 | |
1908 std::unique_ptr<SessionStats> WebRtcSession::GetStats_n( | 1898 std::unique_ptr<SessionStats> WebRtcSession::GetStats_n( |
1909 const ChannelNamePairs& channel_name_pairs) { | 1899 const ChannelNamePairs& channel_name_pairs) { |
1910 RTC_DCHECK(network_thread()->IsCurrent()); | 1900 RTC_DCHECK(network_thread()->IsCurrent()); |
1911 std::unique_ptr<SessionStats> session_stats(new SessionStats()); | 1901 std::unique_ptr<SessionStats> session_stats(new SessionStats()); |
1912 for (const auto channel_name_pair : { &channel_name_pairs.voice, | 1902 for (const auto channel_name_pair : { &channel_name_pairs.voice, |
1913 &channel_name_pairs.video, | 1903 &channel_name_pairs.video, |
1914 &channel_name_pairs.data }) { | 1904 &channel_name_pairs.data }) { |
1915 if (*channel_name_pair) { | 1905 if (*channel_name_pair) { |
1916 cricket::TransportStats transport_stats; | 1906 cricket::TransportStats transport_stats; |
1917 if (!transport_controller_->GetStats((*channel_name_pair)->transport_name, | 1907 if (!transport_controller_->GetStats((*channel_name_pair)->transport_name, |
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2320 srtp_crypto_suite); | 2310 srtp_crypto_suite); |
2321 } | 2311 } |
2322 if (ssl_cipher_suite != rtc::TLS_NULL_WITH_NULL_NULL) { | 2312 if (ssl_cipher_suite != rtc::TLS_NULL_WITH_NULL_NULL) { |
2323 metrics_observer_->IncrementSparseEnumCounter(ssl_counter_type, | 2313 metrics_observer_->IncrementSparseEnumCounter(ssl_counter_type, |
2324 ssl_cipher_suite); | 2314 ssl_cipher_suite); |
2325 } | 2315 } |
2326 } | 2316 } |
2327 | 2317 |
2328 void WebRtcSession::OnSentPacket_w(const rtc::SentPacket& sent_packet) { | 2318 void WebRtcSession::OnSentPacket_w(const rtc::SentPacket& sent_packet) { |
2329 RTC_DCHECK(worker_thread()->IsCurrent()); | 2319 RTC_DCHECK(worker_thread()->IsCurrent()); |
2330 RTC_DCHECK(call_); | |
2331 call_->OnSentPacket(sent_packet); | 2320 call_->OnSentPacket(sent_packet); |
2332 } | 2321 } |
2333 | 2322 |
2334 const std::string WebRtcSession::GetTransportName( | 2323 const std::string WebRtcSession::GetTransportName( |
2335 const std::string& content_name) { | 2324 const std::string& content_name) { |
2336 cricket::BaseChannel* channel = GetChannel(content_name); | 2325 cricket::BaseChannel* channel = GetChannel(content_name); |
2337 if (!channel) { | 2326 if (!channel) { |
2338 #ifdef HAVE_QUIC | 2327 #ifdef HAVE_QUIC |
2339 if (data_channel_type_ == cricket::DCT_QUIC && quic_data_transport_ && | 2328 if (data_channel_type_ == cricket::DCT_QUIC && quic_data_transport_ && |
2340 content_name == quic_data_transport_->transport_name()) { | 2329 content_name == quic_data_transport_->transport_name()) { |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2399 (rtp_data_channel_->rtcp_dtls_transport() != nullptr); | 2388 (rtp_data_channel_->rtcp_dtls_transport() != nullptr); |
2400 channel_manager_->DestroyRtpDataChannel(rtp_data_channel_.release()); | 2389 channel_manager_->DestroyRtpDataChannel(rtp_data_channel_.release()); |
2401 transport_controller_->DestroyDtlsTransport( | 2390 transport_controller_->DestroyDtlsTransport( |
2402 transport_name, cricket::ICE_CANDIDATE_COMPONENT_RTP); | 2391 transport_name, cricket::ICE_CANDIDATE_COMPONENT_RTP); |
2403 if (need_to_delete_rtcp) { | 2392 if (need_to_delete_rtcp) { |
2404 transport_controller_->DestroyDtlsTransport( | 2393 transport_controller_->DestroyDtlsTransport( |
2405 transport_name, cricket::ICE_CANDIDATE_COMPONENT_RTCP); | 2394 transport_name, cricket::ICE_CANDIDATE_COMPONENT_RTCP); |
2406 } | 2395 } |
2407 } | 2396 } |
2408 } // namespace webrtc | 2397 } // namespace webrtc |
OLD | NEW |