Remove transport_name_ from Channel.
Because of this (seemingly simple) change, I had to change the return
type of transport_name from `const std::string&` to `absl::string_view`
to handle the case when there's no transport assigned.
That in turn caused an avalanche of required updates.
Bug: webrtc:12230, webrtc:11993
Change-Id: I16ec6c6a5fc2f5f7c7de572355a3c6ca924bb9d4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/244084
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35617}
diff --git a/pc/peer_connection.cc b/pc/peer_connection.cc
index 94a00d2..350233d 100644
--- a/pc/peer_connection.cc
+++ b/pc/peer_connection.cc
@@ -2666,8 +2666,8 @@
media_types_by_transport_name;
for (const auto& transceiver : rtp_manager()->transceivers()->UnsafeList()) {
if (transceiver->internal()->channel()) {
- const std::string& transport_name =
- transceiver->internal()->channel()->transport_name();
+ std::string transport_name(
+ transceiver->internal()->channel()->transport_name());
media_types_by_transport_name[transport_name].insert(
transceiver->media_type());
}
@@ -2827,7 +2827,8 @@
if (dtls_transport) {
signaling_thread()->PostTask(ToQueuedTask(
signaling_thread_safety_.flag(),
- [this, name = dtls_transport->internal()->transport_name()] {
+ [this,
+ name = std::string(dtls_transport->internal()->transport_name())] {
RTC_DCHECK_RUN_ON(signaling_thread());
sctp_transport_name_s_ = std::move(name);
}));