Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(547)

Side by Side Diff: webrtc/pc/channel.cc

Issue 1972493002: Do not create a temporary transport channel when using max-bundle (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Code review feedback Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2004 The WebRTC project authors. All Rights Reserved. 2 * Copyright 2004 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 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 transport_name_, cricket::ICE_CANDIDATE_COMPONENT_RTP); 205 transport_name_, cricket::ICE_CANDIDATE_COMPONENT_RTP);
206 } 206 }
207 if (rtcp_transport_channel_) { 207 if (rtcp_transport_channel_) {
208 DisconnectFromTransportChannel(rtcp_transport_channel_); 208 DisconnectFromTransportChannel(rtcp_transport_channel_);
209 transport_controller_->DestroyTransportChannel_n( 209 transport_controller_->DestroyTransportChannel_n(
210 transport_name_, cricket::ICE_CANDIDATE_COMPONENT_RTCP); 210 transport_name_, cricket::ICE_CANDIDATE_COMPONENT_RTCP);
211 } 211 }
212 network_thread_->Clear(this); 212 network_thread_->Clear(this);
213 } 213 }
214 214
215 bool BaseChannel::Init_w() { 215 bool BaseChannel::Init_w(const std::string* bundle_transport_name) {
216 if (!network_thread_->Invoke<bool>(Bind(&BaseChannel::InitNetwork_n, this))) { 216 if (!network_thread_->Invoke<bool>(
217 Bind(&BaseChannel::InitNetwork_n, this, bundle_transport_name))) {
217 return false; 218 return false;
218 } 219 }
219 220
220 // Both RTP and RTCP channels are set, we can call SetInterface on 221 // Both RTP and RTCP channels are set, we can call SetInterface on
221 // media channel and it can set network options. 222 // media channel and it can set network options.
222 RTC_DCHECK(worker_thread_->IsCurrent()); 223 RTC_DCHECK(worker_thread_->IsCurrent());
223 media_channel_->SetInterface(this); 224 media_channel_->SetInterface(this);
224 return true; 225 return true;
225 } 226 }
226 227
227 bool BaseChannel::InitNetwork_n() { 228 bool BaseChannel::InitNetwork_n(const std::string* bundle_transport_name) {
228 RTC_DCHECK(network_thread_->IsCurrent()); 229 RTC_DCHECK(network_thread_->IsCurrent());
229 if (!SetTransport_n(content_name())) { 230 const std::string& transport_name =
231 (bundle_transport_name ? *bundle_transport_name : content_name());
232 if (!SetTransport_n(transport_name)) {
230 return false; 233 return false;
231 } 234 }
232 235
233 if (!SetDtlsSrtpCryptoSuites_n(transport_channel_, false)) { 236 if (!SetDtlsSrtpCryptoSuites_n(transport_channel_, false)) {
234 return false; 237 return false;
235 } 238 }
236 if (rtcp_transport_enabled() && 239 if (rtcp_transport_enabled() &&
237 !SetDtlsSrtpCryptoSuites_n(rtcp_transport_channel_, true)) { 240 !SetDtlsSrtpCryptoSuites_n(rtcp_transport_channel_, true)) {
238 return false; 241 return false;
239 } 242 }
(...skipping 1207 matching lines...) Expand 10 before | Expand all | Expand 10 after
1447 1450
1448 VoiceChannel::~VoiceChannel() { 1451 VoiceChannel::~VoiceChannel() {
1449 TRACE_EVENT0("webrtc", "VoiceChannel::~VoiceChannel"); 1452 TRACE_EVENT0("webrtc", "VoiceChannel::~VoiceChannel");
1450 StopAudioMonitor(); 1453 StopAudioMonitor();
1451 StopMediaMonitor(); 1454 StopMediaMonitor();
1452 // this can't be done in the base class, since it calls a virtual 1455 // this can't be done in the base class, since it calls a virtual
1453 DisableMedia_w(); 1456 DisableMedia_w();
1454 Deinit(); 1457 Deinit();
1455 } 1458 }
1456 1459
1457 bool VoiceChannel::Init_w() { 1460 bool VoiceChannel::Init_w(const std::string* bundle_transport_name) {
1458 if (!BaseChannel::Init_w()) { 1461 if (!BaseChannel::Init_w(bundle_transport_name)) {
1459 return false; 1462 return false;
1460 } 1463 }
1461 return true; 1464 return true;
1462 } 1465 }
1463 1466
1464 bool VoiceChannel::SetAudioSend(uint32_t ssrc, 1467 bool VoiceChannel::SetAudioSend(uint32_t ssrc,
1465 bool enable, 1468 bool enable,
1466 const AudioOptions* options, 1469 const AudioOptions* options,
1467 AudioSource* source) { 1470 AudioSource* source) {
1468 return InvokeOnWorker(Bind(&VoiceMediaChannel::SetAudioSend, media_channel(), 1471 return InvokeOnWorker(Bind(&VoiceMediaChannel::SetAudioSend, media_channel(),
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
1777 TransportController* transport_controller, 1780 TransportController* transport_controller,
1778 const std::string& content_name, 1781 const std::string& content_name,
1779 bool rtcp) 1782 bool rtcp)
1780 : BaseChannel(worker_thread, 1783 : BaseChannel(worker_thread,
1781 network_thread, 1784 network_thread,
1782 media_channel, 1785 media_channel,
1783 transport_controller, 1786 transport_controller,
1784 content_name, 1787 content_name,
1785 rtcp) {} 1788 rtcp) {}
1786 1789
1787 bool VideoChannel::Init_w() { 1790 bool VideoChannel::Init_w(const std::string* bundle_transport_name) {
1788 if (!BaseChannel::Init_w()) { 1791 if (!BaseChannel::Init_w(bundle_transport_name)) {
1789 return false; 1792 return false;
1790 } 1793 }
1791 return true; 1794 return true;
1792 } 1795 }
1793 1796
1794 VideoChannel::~VideoChannel() { 1797 VideoChannel::~VideoChannel() {
1795 TRACE_EVENT0("webrtc", "VideoChannel::~VideoChannel"); 1798 TRACE_EVENT0("webrtc", "VideoChannel::~VideoChannel");
1796 StopMediaMonitor(); 1799 StopMediaMonitor();
1797 // this can't be done in the base class, since it calls a virtual 1800 // this can't be done in the base class, since it calls a virtual
1798 DisableMedia_w(); 1801 DisableMedia_w();
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
2024 2027
2025 DataChannel::~DataChannel() { 2028 DataChannel::~DataChannel() {
2026 TRACE_EVENT0("webrtc", "DataChannel::~DataChannel"); 2029 TRACE_EVENT0("webrtc", "DataChannel::~DataChannel");
2027 StopMediaMonitor(); 2030 StopMediaMonitor();
2028 // this can't be done in the base class, since it calls a virtual 2031 // this can't be done in the base class, since it calls a virtual
2029 DisableMedia_w(); 2032 DisableMedia_w();
2030 2033
2031 Deinit(); 2034 Deinit();
2032 } 2035 }
2033 2036
2034 bool DataChannel::Init_w() { 2037 bool DataChannel::Init_w(const std::string* bundle_transport_name) {
2035 if (!BaseChannel::Init_w()) { 2038 if (!BaseChannel::Init_w(bundle_transport_name)) {
2036 return false; 2039 return false;
2037 } 2040 }
2038 media_channel()->SignalDataReceived.connect( 2041 media_channel()->SignalDataReceived.connect(
2039 this, &DataChannel::OnDataReceived); 2042 this, &DataChannel::OnDataReceived);
2040 media_channel()->SignalReadyToSend.connect( 2043 media_channel()->SignalReadyToSend.connect(
2041 this, &DataChannel::OnDataChannelReadyToSend); 2044 this, &DataChannel::OnDataChannelReadyToSend);
2042 media_channel()->SignalStreamClosedRemotely.connect( 2045 media_channel()->SignalStreamClosedRemotely.connect(
2043 this, &DataChannel::OnStreamClosedRemotely); 2046 this, &DataChannel::OnStreamClosedRemotely);
2044 return true; 2047 return true;
2045 } 2048 }
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
2323 return data_channel_type_ == DCT_RTP && BaseChannel::ShouldSetupDtlsSrtp_n(); 2326 return data_channel_type_ == DCT_RTP && BaseChannel::ShouldSetupDtlsSrtp_n();
2324 } 2327 }
2325 2328
2326 void DataChannel::OnStreamClosedRemotely(uint32_t sid) { 2329 void DataChannel::OnStreamClosedRemotely(uint32_t sid) {
2327 rtc::TypedMessageData<uint32_t>* message = 2330 rtc::TypedMessageData<uint32_t>* message =
2328 new rtc::TypedMessageData<uint32_t>(sid); 2331 new rtc::TypedMessageData<uint32_t>(sid);
2329 signaling_thread()->Post(this, MSG_STREAMCLOSEDREMOTELY, message); 2332 signaling_thread()->Post(this, MSG_STREAMCLOSEDREMOTELY, message);
2330 } 2333 }
2331 2334
2332 } // namespace cricket 2335 } // namespace cricket
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698