diff options
-rw-r--r-- | chromium/third_party/webrtc/pc/peer_connection.cc | 12 | ||||
-rw-r--r-- | chromium/third_party/webrtc/pc/peer_connection.h | 2 |
2 files changed, 11 insertions, 3 deletions
diff --git a/chromium/third_party/webrtc/pc/peer_connection.cc b/chromium/third_party/webrtc/pc/peer_connection.cc index 1a17fd4368d..7b5e51d0da2 100644 --- a/chromium/third_party/webrtc/pc/peer_connection.cc +++ b/chromium/third_party/webrtc/pc/peer_connection.cc @@ -2017,7 +2017,7 @@ void PeerConnection::SetSctpDataMid(const std::string& mid) { void PeerConnection::ResetSctpDataMid() { RTC_DCHECK_RUN_ON(signaling_thread()); sctp_mid_s_.reset(); - sctp_transport_name_s_.clear(); + SetSctpTransportName(""); } void PeerConnection::OnSctpDataChannelClosed(DataChannelInterface* channel) { @@ -2246,6 +2246,12 @@ absl::optional<std::string> PeerConnection::sctp_transport_name() const { return absl::optional<std::string>(); } +void PeerConnection::SetSctpTransportName(std::string sctp_transport_name) { + RTC_DCHECK_RUN_ON(signaling_thread()); + sctp_transport_name_s_ = std::move(sctp_transport_name); + ClearStatsCache(); +} + absl::optional<std::string> PeerConnection::sctp_mid() const { RTC_DCHECK_RUN_ON(signaling_thread()); return sctp_mid_s_; @@ -2469,7 +2475,7 @@ bool PeerConnection::SetupDataChannelTransport_n(const std::string& mid) { ToQueuedTask(signaling_thread_safety_.flag(), [this, name = dtls_transport->transport_name()] { RTC_DCHECK_RUN_ON(signaling_thread()); - sctp_transport_name_s_ = std::move(name); + SetSctpTransportName(std::move(name)); })); } @@ -2882,7 +2888,7 @@ bool PeerConnection::OnTransportChanged( [this, name = std::string(dtls_transport->internal()->transport_name())] { RTC_DCHECK_RUN_ON(signaling_thread()); - sctp_transport_name_s_ = std::move(name); + SetSctpTransportName(std::move(name)); })); } } diff --git a/chromium/third_party/webrtc/pc/peer_connection.h b/chromium/third_party/webrtc/pc/peer_connection.h index 6ada0c0683e..7b4997a31e6 100644 --- a/chromium/third_party/webrtc/pc/peer_connection.h +++ b/chromium/third_party/webrtc/pc/peer_connection.h @@ -592,6 +592,8 @@ class PeerConnection : public PeerConnectionInternal, rtc::scoped_refptr<DtlsTransport> dtls_transport, DataChannelTransportInterface* data_channel_transport) override; + void SetSctpTransportName(std::string sctp_transport_name); + std::function<void(const rtc::CopyOnWriteBuffer& packet, int64_t packet_time_us)> InitializeRtcpCallback(); |