Chromium Code Reviews| 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 17 matching lines...) Expand all Loading... | |
| 28 #include "webrtc/base/checks.h" | 28 #include "webrtc/base/checks.h" |
| 29 #include "webrtc/base/helpers.h" | 29 #include "webrtc/base/helpers.h" |
| 30 #include "webrtc/base/logging.h" | 30 #include "webrtc/base/logging.h" |
| 31 #include "webrtc/base/stringencode.h" | 31 #include "webrtc/base/stringencode.h" |
| 32 #include "webrtc/base/stringutils.h" | 32 #include "webrtc/base/stringutils.h" |
| 33 #include "webrtc/call/call.h" | 33 #include "webrtc/call/call.h" |
| 34 #include "webrtc/media/base/mediaconstants.h" | 34 #include "webrtc/media/base/mediaconstants.h" |
| 35 #include "webrtc/media/base/videocapturer.h" | 35 #include "webrtc/media/base/videocapturer.h" |
| 36 #include "webrtc/media/sctp/sctptransportinternal.h" | 36 #include "webrtc/media/sctp/sctptransportinternal.h" |
| 37 #include "webrtc/p2p/base/portallocator.h" | 37 #include "webrtc/p2p/base/portallocator.h" |
| 38 #include "webrtc/p2p/base/transportchannel.h" | |
| 39 #include "webrtc/pc/channel.h" | 38 #include "webrtc/pc/channel.h" |
| 40 #include "webrtc/pc/channelmanager.h" | 39 #include "webrtc/pc/channelmanager.h" |
| 41 #include "webrtc/pc/mediasession.h" | 40 #include "webrtc/pc/mediasession.h" |
| 42 | 41 |
| 43 #ifdef HAVE_QUIC | 42 #ifdef HAVE_QUIC |
| 44 #include "webrtc/p2p/quic/quictransportchannel.h" | 43 #include "webrtc/p2p/quic/quictransportchannel.h" |
| 45 #endif // HAVE_QUIC | 44 #endif // HAVE_QUIC |
| 46 | 45 |
| 47 using cricket::ContentInfo; | 46 using cricket::ContentInfo; |
| 48 using cricket::ContentInfos; | 47 using cricket::ContentInfos; |
| (...skipping 1840 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1889 std::move(transport_stats); | 1888 std::move(transport_stats); |
| 1890 } | 1889 } |
| 1891 } | 1890 } |
| 1892 return session_stats; | 1891 return session_stats; |
| 1893 } | 1892 } |
| 1894 | 1893 |
| 1895 bool WebRtcSession::CreateSctpTransport_n(const std::string& content_name, | 1894 bool WebRtcSession::CreateSctpTransport_n(const std::string& content_name, |
| 1896 const std::string& transport_name) { | 1895 const std::string& transport_name) { |
| 1897 RTC_DCHECK(network_thread_->IsCurrent()); | 1896 RTC_DCHECK(network_thread_->IsCurrent()); |
| 1898 RTC_DCHECK(sctp_factory_); | 1897 RTC_DCHECK(sctp_factory_); |
| 1899 cricket::TransportChannel* tc = | 1898 cricket::DtlsTransportInternal* tc = |
| 1900 transport_controller_->CreateTransportChannel_n( | 1899 transport_controller_->CreateTransportChannel_n( |
| 1901 transport_name, cricket::ICE_CANDIDATE_COMPONENT_RTP); | 1900 transport_name, cricket::ICE_CANDIDATE_COMPONENT_RTP); |
| 1902 sctp_transport_ = sctp_factory_->CreateSctpTransport(tc); | 1901 sctp_transport_ = sctp_factory_->CreateSctpTransport(tc); |
| 1903 RTC_DCHECK(sctp_transport_); | 1902 RTC_DCHECK(sctp_transport_); |
| 1904 sctp_invoker_.reset(new rtc::AsyncInvoker()); | 1903 sctp_invoker_.reset(new rtc::AsyncInvoker()); |
| 1905 sctp_transport_->SignalReadyToSendData.connect( | 1904 sctp_transport_->SignalReadyToSendData.connect( |
| 1906 this, &WebRtcSession::OnSctpTransportReadyToSendData_n); | 1905 this, &WebRtcSession::OnSctpTransportReadyToSendData_n); |
| 1907 sctp_transport_->SignalDataReceived.connect( | 1906 sctp_transport_->SignalDataReceived.connect( |
| 1908 this, &WebRtcSession::OnSctpTransportDataReceived_n); | 1907 this, &WebRtcSession::OnSctpTransportDataReceived_n); |
| 1909 sctp_transport_->SignalStreamClosedRemotely.connect( | 1908 sctp_transport_->SignalStreamClosedRemotely.connect( |
| 1910 this, &WebRtcSession::OnSctpStreamClosedRemotely_n); | 1909 this, &WebRtcSession::OnSctpStreamClosedRemotely_n); |
| 1911 sctp_transport_name_ = rtc::Optional<std::string>(transport_name); | 1910 sctp_transport_name_ = rtc::Optional<std::string>(transport_name); |
| 1912 sctp_content_name_ = rtc::Optional<std::string>(content_name); | 1911 sctp_content_name_ = rtc::Optional<std::string>(content_name); |
| 1913 return true; | 1912 return true; |
| 1914 } | 1913 } |
| 1915 | 1914 |
| 1916 void WebRtcSession::ChangeSctpTransport_n(const std::string& transport_name) { | 1915 void WebRtcSession::ChangeSctpTransport_n(const std::string& transport_name) { |
| 1917 RTC_DCHECK(network_thread_->IsCurrent()); | 1916 RTC_DCHECK(network_thread_->IsCurrent()); |
| 1918 RTC_DCHECK(sctp_transport_); | 1917 RTC_DCHECK(sctp_transport_); |
| 1919 RTC_DCHECK(sctp_transport_name_); | 1918 RTC_DCHECK(sctp_transport_name_); |
| 1920 std::string old_sctp_transport_name = *sctp_transport_name_; | 1919 std::string old_sctp_transport_name = *sctp_transport_name_; |
| 1921 sctp_transport_name_ = rtc::Optional<std::string>(transport_name); | 1920 sctp_transport_name_ = rtc::Optional<std::string>(transport_name); |
| 1922 cricket::TransportChannel* tc = | 1921 cricket::DtlsTransportInternal* tc = |
| 1923 transport_controller_->CreateTransportChannel_n( | 1922 transport_controller_->CreateTransportChannel_n( |
| 1924 transport_name, cricket::ICE_CANDIDATE_COMPONENT_RTP); | 1923 transport_name, cricket::ICE_CANDIDATE_COMPONENT_RTP); |
|
pthatcher1
2017/01/13 22:41:16
If it returns a DtlsTransport, then we should rena
Zhi Huang
2017/01/16 10:38:24
Sure. There will be no concept of "channel" in P2P
| |
| 1925 sctp_transport_->SetTransportChannel(tc); | 1924 sctp_transport_->SetTransportChannel(tc); |
| 1926 transport_controller_->DestroyTransportChannel_n( | 1925 transport_controller_->DestroyTransportChannel_n( |
| 1927 old_sctp_transport_name, cricket::ICE_CANDIDATE_COMPONENT_RTP); | 1926 old_sctp_transport_name, cricket::ICE_CANDIDATE_COMPONENT_RTP); |
| 1928 } | 1927 } |
| 1929 | 1928 |
| 1930 void WebRtcSession::DestroySctpTransport_n() { | 1929 void WebRtcSession::DestroySctpTransport_n() { |
| 1931 RTC_DCHECK(network_thread_->IsCurrent()); | 1930 RTC_DCHECK(network_thread_->IsCurrent()); |
| 1932 sctp_transport_.reset(nullptr); | 1931 sctp_transport_.reset(nullptr); |
| 1933 sctp_content_name_.reset(); | 1932 sctp_content_name_.reset(); |
| 1934 sctp_transport_name_.reset(); | 1933 sctp_transport_name_.reset(); |
| (...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2312 return *sctp_transport_name_; | 2311 return *sctp_transport_name_; |
| 2313 } | 2312 } |
| 2314 } | 2313 } |
| 2315 // Return an empty string if failed to retrieve the transport name. | 2314 // Return an empty string if failed to retrieve the transport name. |
| 2316 return ""; | 2315 return ""; |
| 2317 } | 2316 } |
| 2318 return channel->transport_name(); | 2317 return channel->transport_name(); |
| 2319 } | 2318 } |
| 2320 | 2319 |
| 2321 } // namespace webrtc | 2320 } // namespace webrtc |
| OLD | NEW |